.message[data-v-004b47cd]{font-size:.925rem;color:var(--text, #1e293b);margin:0 0 1.5rem;line-height:1.5}.modal-footer[data-v-004b47cd]{display:flex;justify-content:flex-end;gap:.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Syne,system-ui,sans-serif;background:var(--bg, #f8fafc);color:var(--text, #1e293b)}header{background:var(--accent, #2563eb);color:#fff;padding:.7rem 1.25rem;display:flex;align-items:center;gap:.35rem}header h1{font-size:1.1rem;font-weight:600;flex:1}.hdr-icon{color:#fff;opacity:.72;text-decoration:none;width:34px;height:34px;border-radius:.4rem;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s,background .15s;flex-shrink:0;cursor:pointer;border:none;background:transparent}.hdr-icon:hover{opacity:1;background:#ffffff2e}.btn{border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background .15s;padding:.4rem .85rem;font-size:.875rem}.btn-primary{background:var(--accent, #2563eb);color:#fff}.btn-primary:hover{background:var(--accent-dark, #1d4ed8)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:var(--border, #e2e8f0);color:var(--text, #1e293b)}.btn-secondary:hover{background:#cbd5e1}label{display:block;font-size:.75rem;font-weight:500;margin-bottom:.25rem;color:#475569}input,select{width:100%;padding:.4rem .6rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.875rem;background:#fff;color:var(--text, #1e293b)}input:focus,select:focus{outline:2px solid var(--accent, #2563eb);border-color:transparent}.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--text, #1e293b);color:#fff;padding:.6rem 1rem;border-radius:.375rem;font-size:.82rem;opacity:0;transition:opacity .3s;z-index:200;pointer-events:none;display:flex;align-items:center;gap:.75rem}.toast.show{opacity:1}.toast.has-undo{pointer-events:auto}.toast-undo-btn{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:3px;font-size:.78rem;padding:.1rem .45rem;cursor:pointer;font-family:inherit;flex-shrink:0}.toast-undo-btn:hover{background:#ffffff26}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card, #fff);border-radius:.5rem;padding:1.5rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem}.modal h2{font-size:1rem;font-weight:600}.modal .modal-footer{display:flex;gap:.5rem;justify-content:flex-end}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg, #f8fafc)}.auth-card{background:var(--card, #fff);border-radius:.5rem;padding:2rem;width:100%;max-width:360px;box-shadow:0 1px 4px #00000014;display:flex;flex-direction:column;gap:1.25rem}.auth-card h1{font-size:1.25rem;font-weight:700;color:var(--accent, #2563eb);text-align:center}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card .btn{width:100%;padding:.55rem}.field{display:flex;flex-direction:column;gap:.25rem}.auth-error{font-size:.82rem;color:#dc2626}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .45rem;border-radius:9999px;font-size:.7rem;font-weight:600}.badge-add{background:#dcfce7;color:#166534}.badge-edit{background:#fef3c7;color:#92400e}.badge-del{background:#fee2e2;color:#991b1b}.badge-pending{background:#fef3c7;color:#92400e}.badge-count{background:#dc2626;color:#fff}
