:root{--bg:#f4f6f8;--panel:#fff;--control:#fff;--border:#d7dce1;--text:#1f2933;--text-muted:#5f6b7a;--accent:#1d4ed8;--accent-hover:#1e40af;--on-accent:#fff;--danger:#b91c1c;--success:#15803d;--alert-error-bg:#fef2f2;--alert-error-border:#fecaca;--alert-success-bg:#f0fdf4;--alert-success-border:#bbf7d0;--badge-success-border:#bbf7d0;--badge-danger-border:#fecaca;--badge-info-border:#bfdbfe;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#121418;--panel:#1c1f26;--control:#232833;--border:#2e3440;--text:#e8eaed;--text-muted:#9aa3ad;--accent:#6b9fff;--accent-hover:#8bb0ff;--on-accent:#0b1220;--danger:#f07178;--success:#7fd99a;--alert-error-bg:#3a1c1c;--alert-error-border:#7f2d2d;--alert-success-bg:#16301f;--alert-success-border:#2d6a40;--badge-success-border:#2d6a40;--badge-danger-border:#7f2d2d;--badge-info-border:#2a4a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-theme=dark]{--bg:#121418;--panel:#1c1f26;--control:#232833;--border:#2e3440;--text:#e8eaed;--text-muted:#9aa3ad;--accent:#6b9fff;--accent-hover:#8bb0ff;--on-accent:#0b1220;--danger:#f07178;--success:#7fd99a;--alert-error-bg:#3a1c1c;--alert-error-border:#7f2d2d;--alert-success-bg:#16301f;--alert-success-border:#2d6a40;--badge-success-border:#2d6a40;--badge-danger-border:#7f2d2d;--badge-info-border:#2a4a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5}a{color:var(--accent)}.container{max-width:960px;margin:0 auto;padding:2rem 1rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.auth-card{max-width:420px;margin:4rem auto}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.1rem}.muted{color:var(--text-muted);font-size:.9rem}label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--control);width:100%;color:var(--text);padding:.55rem .7rem;font-size:1rem}textarea{resize:vertical;min-height:6rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.form-row{margin-bottom:1rem}.form-actions{align-items:center;gap:.75rem;display:flex}.mb-0-5{margin-bottom:.5rem}.mb-1{margin-bottom:1rem}.grow-1{flex:1}.grow-2{flex:2}.align-end{align-self:flex-end}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--control);color:var(--text);cursor:pointer;padding:.55rem 1rem;font-size:.95rem;font-weight:600}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}button.small{padding:.3rem .6rem;font-size:.85rem}.alert{border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem;font-size:.95rem}.alert-error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--danger)}.alert-success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--success)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem .6rem}th{color:var(--text-muted);white-space:nowrap;font-weight:600}.badge{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.badge.active,.badge.pending{border-color:var(--badge-success-border);color:var(--success)}.badge.deactivated,.badge.revoked,.badge.expired{border-color:var(--badge-danger-border);color:var(--danger)}.badge.accepted{border-color:var(--badge-info-border);color:var(--accent)}.user-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.spinner{color:var(--text-muted);padding:1rem 0}.task-row{grid-template-columns:1fr 2fr 2fr auto auto auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.task-row .checkbox-label{white-space:nowrap;align-items:center;gap:.35rem;margin:0;font-weight:400;display:flex}.task-row input[type=checkbox]{width:auto}.day-stack{flex-direction:column;gap:.75rem;display:flex}.day-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:.75rem}.day-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.day-task-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem 1.25rem;display:grid}.day-task-item a{font-weight:600;text-decoration:none}.day-task-item a:hover{text-decoration:underline}.badge.inprogress{border-color:var(--badge-info-border);color:var(--accent)}.badge.blocked{border-color:var(--badge-danger-border);color:var(--danger)}.badge.done,.badge.active,.badge.on_time{border-color:var(--badge-success-border);color:var(--success)}.badge.late{border-color:var(--badge-info-border);color:var(--accent)}.badge.missed,.blocked-reason{border-color:var(--badge-danger-border);color:var(--danger)}.theme-toggle{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:.25rem;padding:.2rem;display:flex;position:fixed;top:.75rem;right:.75rem}.theme-toggle button{padding:.25rem .55rem}.theme-toggle-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.theme-toggle-active:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.note-list{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.note{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.note-meta{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.note-body p{margin:0 0 .5rem}.note-body p:last-child{margin-bottom:0}.note-body ul{margin:0 0 .5rem;padding-left:1.25rem}.import-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:1rem;padding:1rem}.import-preview h3{margin:0 0 .5rem;font-size:1rem}.mt-1{margin-top:1rem}.info-icon{opacity:.5;cursor:help;margin-left:.25em;font-style:normal}a[data-tooltip]:hover{position:relative}a[data-tooltip]:hover:after{content:attr(data-tooltip);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);white-space:normal;z-index:10;pointer-events:none;width:max-content;max-width:280px;padding:.4em .6em;font-size:.85em;font-weight:400;position:absolute;bottom:100%;left:0;box-shadow:0 2px 6px #00000026}.confirm-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:400px;padding:1.5rem;box-shadow:0 4px 12px #0003}.confirm-dialog h2{margin:0 0 .5rem}.confirm-dialog label{font-weight:400}.confirm-actions{gap:.75rem;margin-top:1rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
