:root{--brand: #1a365d;--ink: #1a202c;--muted: #718096;--bg: #f7fafc;--surface: #ffffff;--border: #e2e8f0;--danger: #c53030;--green: #276749;--orange: #c05621;--red: #c53030;--radius: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:360px}.login-title{font-size:1.25rem;font-weight:700;color:var(--brand);margin-bottom:1.5rem}.login-card label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem}.login-card input[type=email]{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;outline:none;transition:border-color .15s;margin-bottom:1rem}.login-card input[type=email]:focus{border-color:var(--brand)}.login-card button[type=submit]{width:100%;padding:.65rem;background:var(--brand);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:opacity .15s}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--danger);font-size:.85rem;margin-bottom:.75rem}.login-sent{color:var(--green);font-size:.95rem}.loading{padding:2rem;text-align:center;color:var(--muted)}.dashboard{display:flex;flex-direction:column;min-height:100vh}.dash-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:var(--brand);color:#fff;position:sticky;top:0;z-index:10}.dash-brand{font-weight:700;font-size:1rem;margin-right:auto}.dash-nav{display:flex;gap:.25rem}.nav-btn{padding:.4rem .9rem;border:none;background:transparent;color:#ffffffb3;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:background .15s,color .15s}.nav-btn:hover{background:#ffffff1f;color:#fff}.nav-btn.active{background:#fff3;color:#fff;font-weight:600}.sign-out-btn{padding:.35rem .8rem;border:1px solid rgba(255,255,255,.4);background:transparent;color:#ffffffd9;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:background .15s}.sign-out-btn:hover{background:#ffffff1f}.alert-banner{background:var(--danger);color:#fff;padding:.65rem 1.5rem;font-size:.9rem}.dash-main{padding:1.5rem;flex:1}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.filters select,.filters input[type=date]{padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;background:var(--surface);outline:none;transition:border-color .15s}.filters select:focus,.filters input[type=date]:focus{border-color:var(--brand)}.status-chips{display:flex;gap:.35rem}.chip{padding:.3rem .7rem;border:1px solid var(--border);border-radius:99px;font-size:.8rem;cursor:pointer;background:var(--surface);text-transform:capitalize;transition:background .15s,color .15s,border-color .15s}.chip.selected.chip-green{background:#c6f6d5;border-color:var(--green);color:var(--green)}.chip.selected.chip-orange{background:#feebc8;border-color:var(--orange);color:var(--orange)}.chip.selected.chip-red{background:#fed7d7;border-color:var(--red);color:var(--red)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.5rem .75rem;background:var(--bg);border-bottom:2px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.data-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:hover{background:var(--bg)}.row-inactive{opacity:.5}.row-red{border-left:3px solid var(--red)}.row-orange{border-left:3px solid var(--orange)}.row-stealth{border-left:3px solid var(--red);background:#fff5f5}.table-empty{padding:1.5rem 0;color:var(--muted);text-align:center}.table-error{padding:1rem 0;color:var(--danger)}.load-more{margin-top:1rem;padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-size:.875rem;transition:background .15s}.load-more:hover{background:var(--bg)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-green{background:#c6f6d5;color:var(--green)}.badge-orange{background:#feebc8;color:var(--orange)}.badge-red{background:#fed7d7;color:var(--red)}.editable-cell{display:flex;align-items:center;gap:.3rem}.cell-input{width:100%;min-width:140px;padding:.25rem .4rem;border:1px solid transparent;border-radius:var(--radius);font-size:.85rem;font-family:inherit;background:transparent;transition:border-color .15s,background .15s}.cell-input:hover{border-color:var(--border)}.cell-input:focus{outline:none;border-color:var(--brand);background:var(--surface)}.cell-input-err{border-color:var(--danger)!important}.cell-tick{color:var(--green);font-size:.8rem;flex-shrink:0}.cell-err-mark{color:var(--danger);font-size:.8rem;flex-shrink:0}.toggle-btn{padding:.25rem .65rem;border-radius:99px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:.8rem;transition:background .15s,border-color .15s,color .15s}.toggle-btn.active{background:#c6f6d5;border-color:var(--green);color:var(--green);font-weight:600}
