:root{--color-navy: #0f172a;--color-navy-light: #1e293b;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-light: #eff6ff;--color-primary-border: #bfdbfe;--color-primary-tint-weak: rgba(37, 99, 235, .1);--color-primary-tint: rgba(37, 99, 235, .16);--color-primary-ring: rgba(37, 99, 235, .35);--color-info: var(--color-primary);--color-info-bg: var(--color-primary-light);--color-info-border: var(--color-primary-border);--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #92400e;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-card-bg: #fff;--color-card-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-chip-bg: #eef0f4;--color-card-shadow: rgba(15, 23, 42, .08);--color-page-bg: #f8fafc;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 999px;--radius-card: var(--radius-lg);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .07);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .09);--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sidebar-width: 15.5rem;--sidebar-bg: #0b1730;--sidebar-fg: #cbd5e1;--sidebar-fg-dim: #94a3b8;--sidebar-hover-bg: rgba(255, 255, 255, .06);--sidebar-active-bg: #1e3a6e;--sidebar-active-fg: #ffffff;--sidebar-active-icon: #60a5fa;--sidebar-divider: rgba(255, 255, 255, .08)}.page-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.page-header h1,.auth-page h1{font-size:1.5rem;font-weight:700;line-height:1.2;margin:0;color:var(--color-navy)}.page-intro{margin:-.25rem 0 1.25rem;max-width:46rem;font-size:.88rem;line-height:1.5;color:var(--color-text-secondary)}h2{margin:0 0 .85rem;font-size:1.125rem;font-weight:600;line-height:1.3;color:var(--color-navy)}h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-navy)}.hint{font-size:.75rem;color:var(--color-text-muted)}.btn{display:inline-block;padding:.5rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.secondary{background:#fff;color:var(--color-text-secondary);border-color:var(--color-border-strong);font-weight:500}.btn.secondary:hover{background:var(--color-page-bg)}.btn.danger{background:#fff;color:var(--color-danger);border-color:var(--color-danger-border)}.btn.danger:hover{background:var(--color-danger-bg)}.btn.small{padding:.3rem .5rem;font-size:.8rem}.segmented{display:inline-flex;flex:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden}.segmented button{padding:.4rem .9rem;border:none;background:#fff;color:var(--color-text-secondary);font:inherit;font-size:.85rem;line-height:1.2;cursor:pointer;white-space:nowrap}.segmented button+button{border-left:1px solid var(--color-border-strong)}.segmented button:hover:not(.active){background:var(--color-primary-tint-weak)}.segmented button.active{background:var(--color-navy);color:#fff}.segmented button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.empty-state{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:2.25rem 1.5rem;text-align:center}.empty-state h2,.empty-state h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-navy)}.empty-state p{margin:.4rem auto 0;max-width:34rem;font-size:.88rem;line-height:1.5;color:var(--color-text-secondary)}.empty-state .btn{margin-top:1.1rem}.empty-state.compact{padding:1.35rem;box-shadow:none}.empty-state.compact p{margin-top:0}.table-card{background:var(--color-card-bg);border-radius:var(--radius-card);overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-md);border:1px solid var(--color-card-border)}table{width:100%;min-width:30rem;border-collapse:collapse}th,td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--color-card-border);font-size:.9rem;white-space:nowrap}th{background:var(--color-page-bg);color:var(--color-text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}tr:last-child td{border-bottom:none}.num-col{text-align:right;font-variant-numeric:tabular-nums}tr.link-row{cursor:pointer}@media (hover: hover) and (pointer: fine){tr.link-row:hover{background:var(--color-primary-tint-weak)}}tr.group-row th{background:var(--color-page-bg);color:var(--color-navy);text-transform:none;letter-spacing:0;font-size:.85rem;padding:.5rem .9rem;border-top:1px solid var(--color-card-border);border-bottom:1px solid var(--color-card-border);border-left:3px solid var(--color-navy-light)}tr.group-row.overdue th{background:var(--color-danger-bg);border-left-color:var(--color-danger)}tr.group-row.this-week th{background:var(--color-warning-bg);border-left-color:var(--color-warning)}tr.group-row.later th{background:var(--color-primary-light)}tr.group-row .group-count{color:var(--color-text-muted);font-weight:600}tr.group-row .band-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.5rem;vertical-align:middle;background:var(--color-text-muted)}tr.group-row.overdue .band-dot{background:var(--color-danger)}tr.group-row.this-week .band-dot{background:var(--color-warning)}tr.group-empty td{padding:.4rem .9rem;border-bottom:none;color:var(--color-text-muted);font-size:.82rem;font-style:italic}dialog.edit-modal{border:none;border-radius:var(--radius-card);padding:0;background:var(--color-card-bg);box-shadow:var(--shadow-lg);max-width:28rem;width:90vw;max-height:min(85vh,42rem);overflow:hidden}:root:has(dialog.edit-modal[open]){overflow:hidden}dialog.edit-modal::backdrop{background:#0f17298c}form.record-form{--rf-pad: 2rem;background:var(--color-card-bg);border-radius:var(--radius-card);padding:var(--rf-pad);max-width:32rem;box-shadow:var(--shadow-lg);border:1px solid var(--color-card-border);display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.5rem}dialog.edit-modal form.record-form{max-height:min(85vh,42rem);overflow-y:auto;margin:0;border:none;box-shadow:none;border-radius:var(--radius-card);padding-top:0;padding-bottom:0;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.4) transparent}dialog.edit-modal form.record-form::-webkit-scrollbar{width:10px}dialog.edit-modal form.record-form::-webkit-scrollbar-thumb{background-color:#64748b59;border-radius:999px;border:3px solid transparent;background-clip:padding-box}dialog.edit-modal form.record-form::-webkit-scrollbar-thumb:hover{background-color:#64748b8c}dialog.edit-modal form.record-form::-webkit-scrollbar-track{background:transparent}dialog.edit-modal form.record-form>h2{position:sticky;top:0;z-index:1;margin:0 calc(-1 * var(--rf-pad));padding:var(--rf-pad) var(--rf-pad) .75rem;background:var(--color-card-bg)}dialog.edit-modal form.record-form>.form-actions{position:sticky;bottom:0;z-index:1;margin:.4rem calc(-1 * var(--rf-pad)) 0;padding:.9rem var(--rf-pad) var(--rf-pad);background:var(--color-card-bg)}form.record-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--color-text-secondary)}form.record-form input,form.record-form textarea,form.record-form select{padding:.5rem .6rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit}form.record-form input:focus,form.record-form textarea:focus,form.record-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring)}form.record-form input[type=datetime-local],form.record-form input[type=date],form.record-form input[type=time]{color:var(--color-navy);cursor:pointer;accent-color:var(--color-primary);color-scheme:light}form.record-form input[type=datetime-local]::-webkit-calendar-picker-indicator,form.record-form input[type=date]::-webkit-calendar-picker-indicator,form.record-form input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:3px;padding:2px}form.record-form input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,form.record-form input[type=date]::-webkit-calendar-picker-indicator:hover,form.record-form input[type=time]::-webkit-calendar-picker-indicator:hover{background:var(--color-primary-tint)}form.record-form .field-row{display:flex;gap:.75rem;flex-wrap:wrap}form.record-form .field-row>label{flex:1 1 8rem}.form-actions{display:flex;gap:.6rem;margin-top:.4rem}.password-field{position:relative}.password-field input{width:100%;box-sizing:border-box;padding-right:2.5rem}.password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-navy);cursor:pointer}.password-toggle:hover{background:#0f17290f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);padding:.6rem .8rem;border-radius:var(--radius-md);font-size:.85rem}.success-banner{background:var(--color-success-bg);color:var(--color-success);padding:.6rem .8rem;border-radius:var(--radius-md);font-size:.85rem}.warning-banner{background:var(--color-warning-bg);color:var(--color-warning-text);padding:.6rem .8rem;border-radius:var(--radius-md);font-size:.85rem}.warning-banner a{color:inherit;font-weight:600}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;row-gap:.35rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer}.icon-btn:hover{background:var(--color-primary-tint-weak);border-color:var(--color-card-border);color:var(--color-navy)}.icon-btn.danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.icon-btn:disabled{cursor:not-allowed;opacity:.55}.icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.icon-btn svg{width:1.05rem;height:1.05rem}.header-actions{display:flex;align-items:center;gap:.5rem}.stat-row{display:flex;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.stat-card{background:var(--color-card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-md);border:1px solid var(--color-card-border);border-left:3px solid var(--color-card-border);padding:.85rem 1rem;flex:1;min-width:10rem;display:flex;align-items:center}.stat-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.stat-card.tone-info{border-left-color:var(--color-primary)}.stat-card.tone-success{border-left-color:var(--color-success)}.stat-card.tone-warning{border-left-color:var(--color-warning)}.stat-card.tone-danger,.stat-card.warn{border-left-color:var(--color-danger)}.stat-card.tone-danger .stat-value,.stat-card.warn .stat-value{color:var(--color-danger)}.stat-value{font-size:1.5rem;font-weight:700;line-height:1;color:var(--color-navy)}.stat-label{font-size:.82rem;color:var(--color-text-muted)}button.stat-card{font:inherit;text-align:left;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}button.stat-card:hover{border-top-color:var(--color-primary);border-right-color:var(--color-primary);border-bottom-color:var(--color-primary)}button.stat-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.stat-card.active{background:var(--color-primary-light);border-top-color:var(--color-primary);border-right-color:var(--color-primary);border-bottom-color:var(--color-primary)}.stat-card.is-readout{box-shadow:none;background:transparent;border-style:dashed}.filter-bar{display:flex;align-items:flex-end;gap:1rem;background:var(--color-card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-md);border:1px solid var(--color-card-border);padding:1rem 1.25rem;margin-bottom:1.25rem;flex-wrap:wrap}.filter-bar label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--color-text-secondary)}.filter-bar input,.filter-bar select{padding:.45rem .55rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring)}.filter-bar input[type=date]{color:var(--color-navy);cursor:pointer;accent-color:var(--color-primary);color-scheme:light}.filter-bar input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:3px;padding:2px}.filter-bar input[type=date]::-webkit-calendar-picker-indicator:hover{background:var(--color-primary-tint)}.filter-bar .form-actions{margin-top:0}.filter-bar .checkbox-label{flex-direction:row;align-items:center;gap:.45rem;padding-bottom:.5rem;white-space:nowrap}.filter-bar .checkbox-label input{width:auto}.search-bar{margin-bottom:.75rem;max-width:22rem}.search-bar input[type=search]{width:100%;box-sizing:border-box;padding:.5rem .6rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit}.search-bar input[type=search]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring)}.pill{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;background:var(--color-chip-bg);color:var(--color-text-secondary)}.pill.claimed{background:var(--color-warning-bg);color:var(--color-warning-text)}.pill.sent{background:var(--color-info-bg);color:var(--color-primary)}.pill.confirmed{background:var(--color-success-bg);color:var(--color-success)}.pill.escalated{background:var(--color-danger-bg);color:var(--color-danger)}.result-line{margin:0 0 .7rem;font-size:.82rem;color:var(--color-text-muted)}.table-card.reminders-table td{white-space:normal;vertical-align:top}.table-card.reminders-table td.nowrap{white-space:nowrap}.reminders-table .stack{display:flex;flex-direction:column;gap:.1rem}.reminders-table .stack .primary{font-weight:600;color:var(--color-navy)}.reminders-table .stack .secondary{font-size:.82rem;color:var(--color-text-muted)}.reminders-table .stack.ghost .primary,.reminders-table .stack.ghost .secondary{font-style:italic;font-weight:500;color:var(--color-text-muted)}.reminders-table .caret{display:inline-block;width:.9em;color:var(--color-text-muted);font-size:.8em}.channel-pills{display:flex;flex-wrap:wrap;gap:.3rem}.reminders-table .when{display:flex;flex-direction:column;gap:.1rem}.reminders-table .when .rel{font-weight:600;color:var(--color-navy)}.reminders-table .when .abs{font-size:.8rem;color:var(--color-text-muted)}.report-row{cursor:pointer}.report-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (hover: hover) and (pointer: fine){.report-row:hover{background:var(--color-primary-tint-weak)}}.report-row.escalated-row td:first-child{box-shadow:inset 3px 0 0 var(--color-danger)}.report-row.escalated-row{background:var(--color-danger-bg)}.reminders-table .report-detail-row>td{background:var(--color-page-bg);padding:.5rem .9rem .7rem 2rem}.reminders-table .detail-table{width:auto;min-width:0;border:1px solid var(--color-card-border);border-radius:var(--radius-md);overflow:hidden;background:#fff}.reminders-table .detail-table th{font-size:.7rem;padding:.4rem .75rem}.reminders-table .detail-table td{white-space:nowrap;font-size:.82rem;padding:.4rem .75rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-page-bg);padding:1.5rem}.auth-shell{display:flex;width:min(100%,56rem);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);overflow:hidden}.auth-shell .record-form{width:24rem;max-width:100%;margin-bottom:0;border:none;border-radius:0;box-shadow:none}.auth-side-panel{flex:1;min-width:16rem;padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;color:#fff;background:linear-gradient(160deg,var(--color-navy) 0%,var(--color-primary) 130%)}.auth-side-panel h2{color:#fff;font-size:1.4rem;margin:0}.auth-side-panel p{color:#ffffffd1;font-size:.9rem;margin:0;max-width:26ch}.auth-side-panel .btn{margin-top:.5rem;background:transparent;border:1px solid rgba(255,255,255,.6)}.auth-side-panel .btn:hover{background:#ffffff1f;border-color:#fff}@media (max-width: 720px){.auth-side-panel{display:none}.auth-shell .record-form{width:min(90vw,22rem)}}.consent-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--color-text-secondary);line-height:1.4}.consent-row input[type=checkbox]{margin-top:.15rem;accent-color:var(--color-primary);flex-shrink:0}.consent-row a{color:var(--color-primary)}.legal-page{max-width:42rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}.legal-page .back-link{display:inline-block;margin-bottom:1.5rem;font-size:.85rem;color:var(--color-navy);text-decoration:none}.legal-page .back-link:hover{color:var(--color-primary-hover);text-decoration:underline}.legal-page h1{font-size:1.6rem;margin:0 0 .25rem;color:var(--color-navy)}.legal-page p,.legal-page li{font-size:.92rem;line-height:1.6;color:var(--color-text-secondary)}.legal-page .notice{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);border-left:4px solid var(--color-warning);padding:.9rem 1.1rem;border-radius:var(--radius-md);margin:1rem 0 1.75rem;font-size:.88rem;color:var(--color-warning-text)}.legal-page table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.85rem}.legal-page th,.legal-page td{border:1px solid var(--color-card-border);padding:.5rem .65rem;text-align:left;vertical-align:top}.legal-page th{background:var(--color-page-bg)}@media (max-width: 640px){form.record-form{--rf-pad: 1.25rem;padding:var(--rf-pad)}.filter-bar{flex-direction:column;align-items:stretch;padding:1rem}.filter-bar label,.filter-bar .form-actions{width:100%}.filter-bar input,.filter-bar select{width:100%;box-sizing:border-box}.search-bar{max-width:100%}}.subtitle{margin:0 0 .5rem;color:var(--color-text-secondary);font-size:.9rem}.forgot-link{align-self:center;font-size:.85rem;color:var(--color-navy);text-decoration:none}.forgot-link:hover{color:var(--color-primary-hover);text-decoration:underline}.theme-option{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem 0;cursor:pointer}.theme-option input{margin-top:.2rem}.theme-option span{display:flex;flex-direction:column;gap:.1rem}.toggle-row{justify-content:space-between;align-items:center}.toggle-row .toggle-text{flex:1 1 auto}.switch{position:relative;display:inline-block!important;width:2.75rem;height:1.5rem;flex-shrink:0}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0!important;opacity:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;display:block!important;background:#ccd1dc;border-radius:999px;transition:background-color .15s ease;pointer-events:none}.switch-track:before{content:"";position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:before{transform:translate(1.25rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-primary);outline-offset:2px}
