:root,[data-theme=light]{color-scheme:light;--bg:#f0f4f8;--bg-gradient-start:#f5f7fa;--bg-gradient-end:#c3cfe2;--surface:#ffffff;--surface-muted:#f8fafc;--text:#1a202c;--muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--success:#16a34a;--border:#e2e8f0;--radius:12px;--shadow:0 4px 24px rgba(15,23,42,0.08);--btn-secondary-bg:#e2e8f0;--btn-secondary-hover:#cbd5e1;--input-bg:#ffffff;--code-bg:#f1f5f9;--topbar-bg:rgba(255,255,255,0.92);--toolbar-bg:rgba(255,255,255,0.98);--legend-bg:rgba(255,255,255,0.98);--calendar-cell-bg:#ffffff;--calendar-today:var(--success);--overlay-backdrop:rgba(15,23,42,0.55);--nav-fg:#ffffff;--accent-soft:#eef2ff;--accent-soft-hover:#dbeafe;--alert-error-bg:#fef2f2;--alert-error-text:#991b1b;--alert-error-border:#fecaca;--alert-success-bg:#f0fdf4;--alert-success-text:#166534;--alert-success-border:#bbf7d0;--alert-info-bg:#eff6ff;--alert-info-text:#1e40af;--alert-info-border:#bfdbfe;--badge-warn-bg:#fef3c7;--badge-warn-text:#92400e;--badge-ok-bg:#dcfce7;--badge-ok-text:#166534;--stat-card-bg:linear-gradient(145deg,#f8fafc,#eef2f7);--sidebar-bg:#0f172a;--sidebar-fg:#e2e8f0;--sidebar-muted:#94a3b8;--sidebar-item:#cbd5e1;--sidebar-group:#64748b;--theme-toggle-bg:rgba(255,255,255,0.15);--theme-toggle-border:rgba(255,255,255,0.25);--theme-toggle-hover:rgba(255,255,255,0.25);--surface-hover:#f8fafc;--surface-accent:#eff6ff;--nav-backdrop:rgba(15,23,42,0.55);--header-shadow:0 2px 12px rgba(15,23,42,0.06);--focus-ring:rgba(37,99,235,0.12);--focus-outline:rgba(37,99,235,0.35);--public-holiday-num:#2ecc71;--content-school-holiday:#ca8a04;--content-vacation:#0891b2;--content-overnight-all:#7c3aed;--content-event-all-children:#c026d3;--content-event:#6366f1;--fab-menu-hover:#f1f5f9;--card-hover-shadow:0 8px 28px rgba(15,23,42,0.12);--admin-status-warn-bg:#fee2e2;--admin-status-warn-text:#991b1b}[data-theme=dark]{color-scheme:dark;--bg:#0f172a;--bg-gradient-start:#0f172a;--bg-gradient-end:#1e293b;--surface:#1e293b;--surface-muted:#334155;--text:#f1f5f9;--muted:#94a3b8;--primary:#3b82f6;--primary-hover:#60a5fa;--danger:#f87171;--success:#4ade80;--border:#334155;--shadow:0 4px 24px rgba(0,0,0,0.45);--btn-secondary-bg:#334155;--btn-secondary-hover:#475569;--input-bg:#0f172a;--code-bg:#334155;--topbar-bg:rgba(15,23,42,0.92);--toolbar-bg:rgba(30,41,59,0.98);--legend-bg:rgba(30,41,59,0.98);--calendar-cell-bg:#1e293b;--calendar-today:var(--success);--overlay-backdrop:rgba(0,0,0,0.65);--nav-fg:#ffffff;--accent-soft:rgba(59,130,246,0.15);--accent-soft-hover:rgba(59,130,246,0.25);--alert-error-bg:rgba(127,29,29,0.35);--alert-error-text:#fecaca;--alert-error-border:rgba(248,113,113,0.35);--alert-success-bg:rgba(20,83,45,0.35);--alert-success-text:#bbf7d0;--alert-success-border:rgba(74,222,128,0.35);--alert-info-bg:rgba(30,58,138,0.35);--alert-info-text:#bfdbfe;--alert-info-border:rgba(96,165,250,0.35);--badge-warn-bg:rgba(146,64,14,0.35);--badge-warn-text:#fde68a;--badge-ok-bg:rgba(20,83,45,0.35);--badge-ok-text:#bbf7d0;--stat-card-bg:linear-gradient(145deg,#1e293b,#334155);--sidebar-bg:#020617;--sidebar-fg:#e2e8f0;--sidebar-muted:#94a3b8;--sidebar-item:#cbd5e1;--sidebar-group:#64748b;--theme-toggle-bg:rgba(255,255,255,0.08);--theme-toggle-border:rgba(255,255,255,0.15);--theme-toggle-hover:rgba(255,255,255,0.15);--surface-hover:#334155;--surface-accent:rgba(59,130,246,0.2);--nav-backdrop:rgba(0,0,0,0.65);--header-shadow:0 2px 12px rgba(0,0,0,0.25);--focus-ring:rgba(59,130,246,0.2);--focus-outline:rgba(59,130,246,0.45);--public-holiday-num:#2ecc71;--content-school-holiday:#ca8a04;--content-vacation:#0891b2;--content-overnight-all:#7c3aed;--content-event-all-children:#c026d3;--content-event:#6366f1;--fab-menu-hover:#334155;--card-hover-shadow:0 8px 28px rgba(0,0,0,0.35);--admin-status-warn-bg:rgba(127,29,29,0.35);--admin-status-warn-text:#fecaca}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;min-height:-webkit-fill-available;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start) 0,var(--bg-gradient-end) 100%);color:var(--text)}body:has(.admin-shell),body:has(.calendar-app),html:has(.admin-shell),html:has(.calendar-app){height:100%;overflow:hidden}a{color:var(--primary);text-decoration:none}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}.container{max-width:960px;margin:0 auto;padding:2rem 1rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem;border:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:8px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text)}.btn-secondary:hover{background:var(--btn-secondary-hover)}.btn-danger{background:var(--danger);color:white}.btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--input-bg);color:var(--text)}.checkbox-row{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-row input{width:1rem;height:1rem;accent-color:var(--primary)}.event-schedule-fields{margin-bottom:.5rem}.dt-picker{position:relative}.dt-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.95rem;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dt-picker-trigger.is-open,.dt-picker-trigger:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.dt-picker-trigger-label{flex:1 1;min-width:0}.dt-picker-trigger-icon{opacity:.55;font-size:.9rem}.dt-picker-popover{min-width:min(100%,280px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem}.dt-picker-popover--fixed{z-index:1050;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.dt-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.dt-picker-header strong{font-size:.95rem}.dt-picker-nav{width:2rem;height:2rem;border:none;border-radius:8px;background:var(--accent-soft);color:var(--primary);font-size:1.25rem;line-height:1;cursor:pointer}.dt-picker-nav:hover{background:var(--accent-soft-hover)}.dt-picker-grid,.dt-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.2rem;gap:.2rem}.dt-picker-weekdays{margin-bottom:.35rem;font-size:.72rem;font-weight:700;color:var(--muted);text-align:center}.dt-picker-day{aspect-ratio:1;border:none;border-radius:8px;background:transparent;font-size:.85rem;cursor:pointer}.dt-picker-day:hover{background:var(--accent-soft)}.dt-picker-day.is-today{box-shadow:inset 0 0 0 1px var(--primary)}.dt-picker-day.is-selected{background:var(--primary);color:white;font-weight:700}.dt-picker-day.is-in-range{background:var(--accent-soft);border-radius:0}.dt-picker-day.is-range-start{border-top-left-radius:8px;border-bottom-left-radius:8px}.dt-picker-day.is-range-end{border-top-right-radius:8px;border-bottom-right-radius:8px}.dt-picker-day.is-range-start.is-range-end{border-radius:8px}.dt-range-hint{margin:0 0 .65rem;font-size:.82rem;color:var(--muted)}.dt-time-range-popover{min-width:min(100%,320px)}.dt-picker-time-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.25rem;gap:.25rem;max-height:min(40vh,240px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.15rem}.dt-picker-time-slot{border:none;border-radius:8px;background:transparent;font-size:.8rem;padding:.45rem .25rem;cursor:pointer;color:var(--text)}.dt-picker-time-slot:hover{background:var(--accent-soft)}.dt-picker-time-slot.is-selected{background:var(--primary);color:white;font-weight:700}.dt-picker-time-slot.is-in-range{background:var(--accent-soft);border-radius:0}.dt-picker-time-slot.is-range-start{border-top-left-radius:8px;border-bottom-left-radius:8px}.dt-picker-time-slot.is-range-end{border-top-right-radius:8px;border-bottom-right-radius:8px}.dt-picker-time-slot.is-range-start.is-range-end{border-radius:8px}.event-time-row{margin-top:.5rem}.event-time-field{margin-bottom:0}.event-time-suffix{font-size:.85rem;color:var(--muted);margin-left:.15rem}.dt-picker-day--empty{pointer-events:none}.dt-picker-time{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.dt-picker-time-label{font-size:.85rem;font-weight:600;color:var(--muted)}.dt-picker-time-inputs{display:flex;align-items:center;gap:.25rem}.dt-picker-time-inputs select{width:auto;min-width:4rem;padding:.45rem .5rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--input-bg);color:var(--text)}.dt-picker-time-sep{font-weight:700;color:var(--muted)}.dt-picker-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.dt-picker-required{display:block;margin-top:.25rem;font-size:.8rem;color:var(--danger)}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-border)}.alert-info{background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border)}.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--primary)}.nav,.nav a{color:var(--nav-fg)}.nav a{font-weight:600}.nav-links{display:flex;gap:1rem;align-items:center}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.75rem;border-bottom:1px solid var(--border)}th{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-pending{background:var(--badge-warn-bg);color:var(--badge-warn-text)}.badge-active{background:var(--badge-ok-bg);color:var(--badge-ok-text)}.admin-shell{height:100dvh;height:-webkit-fill-available;max-height:100dvh;max-height:-webkit-fill-available;min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden}.admin-main,.admin-shell{display:flex;background:var(--bg)}.admin-main{flex:1 1;min-width:0;min-height:0;flex-direction:column}.admin-nav-backdrop{display:none}.admin-topbar-mobile{display:none;flex-direction:column;align-items:stretch;gap:.2rem;min-width:0;flex:1 1;width:100%}.admin-topbar-mobile-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;min-width:0}.admin-topbar-breadcrumb{min-width:0;min-height:32px;display:flex;align-items:center}.admin-topbar-back-link{display:inline-flex;align-items:center;gap:.3rem;min-height:32px;padding:0;font-size:.875rem;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap}.admin-topbar-back-chevron{font-size:1rem;line-height:1}.admin-topbar-heading{margin:0;flex:1 1;min-width:0;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-exit{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;padding:0 .35rem;font-size:.875rem;font-weight:600;color:var(--primary);white-space:nowrap}.admin-topbar-back-link:hover,.admin-topbar-exit,.admin-topbar-exit:hover{text-decoration:none}@media (hover:hover) and (pointer:fine){.admin-topbar-back-link:hover,.admin-topbar-exit:hover{text-decoration:underline}}.admin-topbar-desktop{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0;flex:1 1}.admin-topbar-calendar{display:none;align-items:center;font-weight:600;font-size:.9rem;color:var(--primary);text-decoration:none;white-space:nowrap;min-height:44px;padding:0 .35rem}.admin-topbar-calendar:hover{text-decoration:none}@media (hover:hover) and (pointer:fine){.admin-topbar-calendar:hover{text-decoration:underline}}.admin-content-scroll{flex:1 1;min-height:0;overscroll-behavior:contain}.admin-content-scroll,.admin-sidebar{overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-sidebar{width:260px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-fg);display:flex;flex-direction:column}.admin-sidebar-top{padding:1.25rem 1rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.admin-sidebar-brand{display:block;color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;margin-bottom:.5rem}.admin-sidebar-brand:hover{text-decoration:none;color:#93c5fd}.admin-sidebar-calendar{display:inline-flex;align-items:center;min-height:36px;padding:.35rem .65rem;border-radius:8px;font-size:.85rem;font-weight:600;background:rgba(255,255,255,.1)}.admin-sidebar-calendar,.admin-sidebar-calendar:hover{color:#fff;text-decoration:none}.admin-sidebar-nav{padding:.75rem .5rem 1.5rem;flex:1 1}.admin-sidebar-group{margin-top:1rem}.admin-sidebar-group-label{display:block;padding:.35rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-group)}.admin-sidebar-item{padding:.55rem .75rem;margin:.1rem 0;border-radius:8px;color:var(--sidebar-item);font-size:.92rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;min-height:44px;display:flex;align-items:center}.admin-sidebar-item:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}.admin-sidebar-item.active{background:rgba(37,99,235,.35);color:#fff;font-weight:600}.admin-sidebar-footer{display:none;margin-top:auto;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.08);flex-direction:column;gap:.75rem}.admin-sidebar-footer-utilities{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-sidebar-logout{width:100%}.admin-sidebar-tenant{display:flex;flex-direction:column;gap:.35rem;min-width:0}.admin-sidebar-tenant strong{color:#fff;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-group)}.admin-sidebar .admin-tenant-select{width:100%;color:#fff}.admin-sidebar .admin-tenant-select,.theme-toggle--sidebar{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.app-version-badge--sidebar{margin-left:auto}.admin-topbar{padding:calc(.65rem + env(safe-area-inset-top, 0px)) 1rem .65rem;background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.admin-topbar,.admin-topbar-tenant{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.admin-topbar-tenant{margin-left:auto;min-width:0;flex-wrap:wrap}.admin-topbar-tenant strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.admin-topbar-label{font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.admin-tenant-select{font-size:.95rem;padding:.5rem .65rem;min-height:44px;border-radius:8px;border:1px solid var(--border);background:var(--surface);min-width:0;max-width:min(220px,46vw)}.admin-content{flex:1 1;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));max-width:1080px;width:100%}.admin-page-header{margin-bottom:1.5rem}.admin-page-header h1{margin:0 0 .35rem;font-size:1.65rem;letter-spacing:-.02em}.admin-page-lead{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5;max-width:52rem}.settings-group{margin-bottom:1.35rem}.settings-group-title{margin:0 0 .4rem;padding:0 .15rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.settings-group-title--danger{color:var(--danger,#c0392b)}.settings-group-body{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.settings-group-body--danger{border-color:color-mix(in srgb,var(--danger,#c0392b) 35%,var(--border))}.settings-group-footer{margin:.45rem 0 0;padding:0 .15rem;font-size:.82rem;line-height:1.45;color:var(--muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:44px;padding:.7rem 1rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none}.settings-row:last-child{border-bottom:none}.settings-row--interactive{cursor:pointer;transition:background .12s}.settings-row--interactive:active,.settings-row--interactive:focus-visible,.settings-row--interactive:hover{background:var(--surface-hover);text-decoration:none}.settings-row--disabled{opacity:.55}.settings-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1}.settings-row-label{font-size:.95rem;font-weight:500;line-height:1.3}.settings-row-label--destructive{color:var(--danger,#c0392b)}.settings-row-detail{font-size:.82rem;line-height:1.35;color:var(--muted)}.settings-row-accessory{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.settings-row-value{font-size:.88rem;color:var(--muted);text-align:right}.settings-row-chevron{font-size:1.15rem;line-height:1;color:var(--muted);font-weight:300}.settings-toggle{width:1.15rem;height:1.15rem;accent-color:var(--primary);flex-shrink:0}.notif-matrix-head{display:none}.notif-matrix-row{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.notif-matrix-row:last-child{border-bottom:none}.notif-matrix-label{font-size:.95rem;font-weight:500;line-height:1.3}.notif-matrix-check{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-size:.9rem;color:var(--text);cursor:pointer}.notif-matrix-check.is-disabled{opacity:.55;cursor:not-allowed}.notif-matrix-check-text{color:var(--muted)}.push-device-actions{display:flex;flex-direction:column;gap:.65rem}.push-prompt-actions{flex-wrap:wrap}@media (min-width:640px){.notif-matrix-head{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.55rem 1rem;border-bottom:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.notif-matrix-head span:not(.notif-matrix-label){text-align:center}.notif-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem;grid-gap:.75rem;gap:.75rem;align-items:center}.notif-matrix-check{justify-content:center}.notif-matrix-check-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.push-device-actions{flex-direction:row;flex-wrap:wrap}}.settings-danger-zone{margin-top:1.75rem}.settings-sticky-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:20;margin:1.25rem -1rem calc(-1.25rem - env(safe-area-inset-bottom));padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border)}.settings-sticky-bar-inner{display:flex;flex-direction:column;gap:.5rem}.settings-sticky-bar-inner .btn{width:100%}.settings-inset-panel{padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted)}.permission-matrix{display:flex;flex-direction:column;gap:1rem}.permission-matrix-card{padding:.75rem 1rem 1rem}.permission-matrix-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.35rem}.permission-matrix-entry-type{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}.permission-matrix-entry-label{margin:0 0 .25rem;font-size:.88rem;font-weight:600;color:var(--text)}@media (min-width:899px){.permission-matrix{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.permission-preset-select{width:100%;max-width:100%}.permission-preset-select--compact{font-size:.85rem;padding:.35rem .5rem}.permission-preset-field{margin-bottom:.5rem}.permission-preset-hint{margin:.5rem 0 0;font-size:.82rem;line-height:1.35;color:var(--muted)}.member-child-rights{margin-top:.75rem;border-top:1px solid var(--border)}.member-child-rights .settings-row{padding-left:0;padding-right:0}.member-child-rights .permission-preset-select{width:auto;min-width:6.5rem;min-height:44px}.permission-fine-toggle{margin-top:.65rem;width:100%}.permission-fine-details{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.permission-fine-details summary{cursor:pointer;font-weight:600;font-size:.9rem;margin-bottom:.35rem}.permission-overview-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}.permission-overview-table{width:100%;min-width:320px;border-collapse:collapse;font-size:.88rem}.permission-overview-table td,.permission-overview-table th{padding:.5rem .4rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.permission-overview-table thead th{font-weight:600;color:var(--muted);font-size:.8rem}.permission-overview-table tbody th{font-weight:500;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.permission-overview-table tbody tr.permission-overview-row--muted td{opacity:.55}.permission-overview-note{display:block;font-size:.72rem;font-weight:400;color:var(--muted);white-space:normal}.settings-toc{margin-bottom:1.75rem}.settings-theme{margin-bottom:2.25rem;scroll-margin-top:.75rem}.settings-theme:last-child{margin-bottom:0}.settings-theme-title{margin:0 0 .85rem;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.settings-row-checks{display:flex;flex-wrap:wrap;gap:.9rem}.settings-row-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted);cursor:pointer}.settings-row-check input{width:1.15rem;height:1.15rem;accent-color:var(--primary);flex-shrink:0}.sharing-grant-member{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.sharing-grant-member-name{display:flex;align-items:center;min-height:44px;font-size:.95rem;font-weight:500;color:var(--text);overflow-wrap:anywhere}.sharing-grant-options{display:flex;flex-direction:column;gap:.1rem;padding-left:.15rem}.sharing-grant-options .settings-row-check{width:100%;min-height:44px;padding:.2rem 0;font-size:.9rem;color:var(--text)}.settings-group-action{padding:.85rem 1rem}@media (min-width:640px){.sharing-grant-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem 1rem;gap:.5rem 1rem;align-items:center}.sharing-grant-options .settings-row-check{width:auto}}.toast-viewport{position:fixed;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom,1.25rem));transform:translateX(-50%);z-index:9999;pointer-events:none;width:min(420px,calc(100vw - 2rem))}.toast-list,.toast-viewport{display:flex;flex-direction:column;gap:.5rem}.toast-list{list-style:none;margin:0;padding:0}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.75rem .9rem;border-radius:10px;border:1px solid transparent;box-shadow:0 12px 32px rgba(15,23,42,.14),0 2px 6px rgba(15,23,42,.06);font-size:.95rem;line-height:1.35;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-weight:700;font-size:.85rem;flex-shrink:0}.toast-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.toast-message{font-weight:500}.toast-description{font-size:.85rem;opacity:.85}.toast-action{border:none;background:transparent;padding:.25rem .55rem;border-radius:6px;cursor:pointer;font:inherit;font-weight:600;color:inherit;text-decoration:underline;min-height:32px}.toast-action:focus-visible,.toast-action:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.toast-close{border:none;background:transparent;padding:.15rem .4rem;border-radius:4px;cursor:pointer;font-size:1.15rem;line-height:1;color:inherit;opacity:.7;min-height:32px}.toast-close:focus-visible,.toast-close:hover{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent)}.toast-info{background:var(--alert-info-bg);color:var(--alert-info-text);border-color:var(--alert-info-border)}.toast-info .toast-icon{background:var(--alert-info-border);color:var(--alert-info-text)}.toast-success{background:var(--alert-success-bg);color:var(--alert-success-text);border-color:var(--alert-success-border)}.toast-success .toast-icon{background:var(--alert-success-border);color:var(--alert-success-text)}.toast-warning{background:var(--badge-warn-bg);color:var(--badge-warn-text);border-color:color-mix(in srgb,var(--badge-warn-text) 25%,transparent)}.toast-warning .toast-icon{background:color-mix(in srgb,var(--badge-warn-text) 25%,transparent);color:var(--badge-warn-text)}.toast-error{background:var(--alert-error-bg);color:var(--alert-error-text);border-color:var(--alert-error-border)}.toast-error .toast-icon{background:var(--alert-error-border);color:var(--alert-error-text)}.toast-details{margin:.5rem 0 0;padding:.5rem;font-size:.8rem;white-space:pre-wrap;border-radius:6px;background:color-mix(in srgb,currentColor 8%,transparent);max-height:200px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.toast-details-toggle{align-self:flex-start;margin-top:.25rem;border:none;background:transparent;padding:.15rem 0;cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline;color:inherit;opacity:.85}.toast-details-toggle:focus-visible,.toast-details-toggle:hover{opacity:1}.action-button-done,.save-button-saved{background:var(--alert-success-text);border-color:var(--alert-success-text);color:#ffffff}.action-button-danger,.action-button-error,.save-button-error{background:var(--alert-error-bg);color:var(--alert-error-text);border-color:var(--alert-error-border)}.action-button-danger:hover:not(:disabled){background:color-mix(in srgb,var(--alert-error-text) 20%,var(--alert-error-bg))}.sticky-save-bar{position:-webkit-sticky;position:sticky;bottom:0;left:0;right:0;z-index:50;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(15,23,42,.08);animation:sticky-save-in .18s ease-out}@keyframes sticky-save-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sticky-save-bar{animation:none}}.sticky-save-bar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sticky-save-bar-label{flex:1 1 auto;font-weight:500;min-width:0}.sticky-save-bar-actions{display:flex;gap:.5rem;align-items:center}.notification-tray{position:relative;display:inline-flex}.notification-tray-toggle{position:relative;border:none;background:transparent;padding:.35rem .5rem;cursor:pointer;font-size:1.15rem;color:inherit;min-height:36px;border-radius:6px}.notification-tray-toggle:focus-visible,.notification-tray-toggle:hover{background:rgba(148,163,184,.18)}.notification-tray-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:var(--alert-error-text);color:#ffffff;font-size:.7rem;font-weight:700;line-height:16px;text-align:center}.notification-tray-panel{z-index:400;overflow:auto;padding:.75rem;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 12px 32px rgba(15,23,42,.18)}.notification-tray-panel--floating{position:fixed}.notification-tray-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.notification-tray-clear{border:none;background:transparent;padding:.1rem .3rem;cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline;color:inherit;opacity:.75}.notification-tray-clear:focus-visible,.notification-tray-clear:hover{opacity:1}.notification-tray-empty{margin:0;padding:.75rem 0;color:var(--muted);font-size:.9rem;text-align:center}.notification-tray-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.notification-tray-item{display:grid;grid-template-columns:auto 1fr;grid-gap:.6rem;gap:.6rem;padding:.55rem .6rem;border-radius:8px;background:var(--surface-hover,#f8fafc);border:1px solid transparent}.notification-tray-item-error{background:var(--alert-error-bg);border-color:var(--alert-error-border);color:var(--alert-error-text)}.notification-tray-item-warning{background:var(--badge-warn-bg);color:var(--badge-warn-text)}.notification-tray-item-success{background:var(--alert-success-bg);border-color:var(--alert-success-border);color:var(--alert-success-text)}.notification-tray-item-info{background:var(--alert-info-bg);border-color:var(--alert-info-border);color:var(--alert-info-text)}.notification-tray-item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:color-mix(in srgb,currentColor 10%,transparent);font-weight:700;font-size:.8rem;flex-shrink:0;align-self:flex-start}.notification-tray-item-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.notification-tray-item-message{font-weight:500;font-size:.9rem}.notification-tray-item-desc{font-size:.8rem;opacity:.85}.notification-tray-item-time{font-size:.75rem;opacity:.7;margin-top:.15rem}.notification-tray-item-details summary{cursor:pointer;font-size:.8rem;text-decoration:underline;margin-top:.2rem}.notification-tray-item-details pre{margin:.35rem 0 0;padding:.4rem;font-size:.75rem;white-space:pre-wrap;background:color-mix(in srgb,currentColor 6%,transparent);border-radius:4px;max-height:160px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.settings-subheading{margin:0;font-size:1rem;font-weight:600}.settings-subheading-inline{margin:.75rem 0 .25rem;font-size:.9rem;font-weight:600;color:var(--muted)}.admin-subpage-header{margin-bottom:1rem}.admin-subpage-back{display:inline-flex;align-items:center;min-height:44px;padding:0;border:none;background:none;color:var(--primary);font-size:.95rem;font-weight:600;cursor:pointer}.admin-subpage-title{margin:.15rem 0 .35rem;font-size:1.35rem;letter-spacing:-.02em}.admin-subpage-lead{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.calendar-nav-menu-btn-icon{display:block;width:1.1rem;height:.72rem;background:linear-gradient(var(--nav-fg),var(--nav-fg)) 0 0 /100% 2px no-repeat,linear-gradient(var(--nav-fg),var(--nav-fg)) 0 50% /100% 2px no-repeat,linear-gradient(var(--nav-fg),var(--nav-fg)) 0 100% /100% 2px no-repeat}.calendar-nav-legend-btn-icon{display:block;width:1.125rem;height:1.125rem;flex-shrink:0}.admin-card-title{margin:0 0 1rem;font-size:1.05rem}.admin-card-hint{color:var(--muted);font-size:.9rem;margin:-.5rem 0 1rem;line-height:1.5}.admin-empty{margin:0;color:var(--muted)}.admin-table-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-checkbox-label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.9rem}.admin-page{max-width:none}.backup-file-list{display:flex;flex-direction:column;gap:.35rem}.backup-file-list-summary{margin:0 0 .15rem;padding:0 .75rem;font-size:.82rem;color:var(--muted)}.backup-file-list-rows{list-style:none;margin:0;padding:0}.backup-file-row{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:0;border-bottom:1px solid var(--border)}.backup-file-row:last-child{border-bottom:none}.backup-file-row-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;width:100%;min-height:44px;min-width:0;margin:0;padding:.55rem .75rem;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:0}.backup-file-row-toggle:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.backup-file-row-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.backup-file-row.is-expanded .backup-file-row-toggle{padding-bottom:.25rem}.backup-file-row-date{font-size:.95rem;font-weight:600;line-height:1.3;color:var(--text)}.backup-file-row-name{font-size:.8rem;line-height:1.3;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.backup-file-row-meta{font-size:.78rem;line-height:1.3;color:var(--muted)}.backup-file-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:0 .75rem .55rem}.backup-file-row-actions .btn{min-height:44px;min-width:44px;padding:.45rem .75rem;font-size:.82rem}.backup-file-list-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem .25rem;border-top:1px solid var(--border)}.backup-file-list-page-label{font-size:.85rem;color:var(--muted);text-align:center;flex:1 1 auto}.backup-file-list-page-btn{min-height:44px;min-width:44px;padding:.45rem .9rem}.backup-file-list-page-btn:disabled{opacity:.45;cursor:not-allowed}@media (min-width:640px){.backup-file-row.is-expanded{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.backup-file-row-toggle{flex:1 1 auto;padding:.45rem .85rem}.backup-file-row.is-expanded .backup-file-row-toggle{padding-bottom:.45rem}.backup-file-row-actions{flex-shrink:0;justify-content:flex-end;padding:.45rem .85rem .45rem 0}.backup-file-list-pagination{justify-content:flex-end}.backup-file-list-page-label{flex:0 1 auto}}.admin-stack{display:flex;flex-direction:column;gap:1.25rem}.admin-section.card{padding:1.35rem 1.5rem}.admin-callout{background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem}.admin-callout p{margin:0 0 .5rem;color:var(--muted);font-size:.9rem;line-height:1.5}.admin-callout p:last-child{margin-bottom:0}.admin-toolbar{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.admin-table-wrap{overflow-x:auto;margin-top:1rem}.admin-table-wrap table{margin-top:0}.admin-row-inactive{opacity:.55}.admin-inline-select{font-size:.85rem;padding:.25rem .35rem;border-radius:6px;border:1px solid var(--border);max-width:12rem}.admin-inline-select--full{max-width:none;width:100%}.admin-scope-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));grid-gap:.65rem 1rem;gap:.65rem 1rem}.admin-scope-checkboxes label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;min-width:0;line-height:1.35}.admin-scope-checkboxes label input[type=checkbox]{width:1.05rem;height:1.05rem;flex-shrink:0;margin:0;accent-color:var(--primary)}.form-group input[type=date]{display:block;max-width:100%;min-height:2.75rem;line-height:1.4}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}.guest-link-list{display:none;flex-direction:column;gap:.75rem;margin-top:1rem}.guest-link-card{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;background:var(--surface-muted,var(--surface))}.guest-link-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.guest-link-card-header strong{font-size:1rem}.guest-link-card-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:0 0 .75rem}.guest-link-card-meta div{min-width:0}.guest-link-card-meta dt{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.guest-link-card-meta dd{margin:.15rem 0 0;font-size:.9rem;line-height:1.4;word-break:break-word}.guest-link-card-meta dd.guest-link-card-scopes{grid-column:1/-1}.guest-link-table{margin-top:1rem}@media (max-width:720px){.admin-scope-checkboxes{grid-template-columns:1fr}.guest-link-list{display:flex}.guest-link-table{display:none}.guest-link-card-meta{grid-template-columns:1fr}.guest-link-card .admin-table-actions{flex-direction:column;align-items:stretch}.guest-link-card .admin-table-actions .btn{width:100%}}.google-calendar-sync-config{margin:1rem 0;padding-top:.75rem;border-top:1px solid var(--border)}.oauth-settings-form{margin-top:1rem}.admin-setup-steps--plain li{padding:.65rem .85rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;line-height:1.5}.admin-setup-steps--plain li span{display:block;margin-bottom:.25rem}.oauth-setup-code{display:block;margin-top:.35rem;padding:.55rem .65rem;background:var(--surface-muted,var(--surface));border:1px solid var(--border);border-radius:6px;font-size:.78rem;word-break:break-all;overflow-wrap:anywhere;white-space:pre-wrap}.form-group input.input-url{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.google-sync-interval{margin:1rem 0;padding-top:.75rem;border-top:1px solid var(--border)}.google-sync-interval-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.google-sync-interval-field{flex:1 1 8rem;min-width:0;margin-bottom:0}.google-sync-interval-field input{max-width:8rem}.google-sync-interval-controls .btn{flex-shrink:0;margin-bottom:.15rem}@media (max-width:720px){.google-sync-interval-controls{flex-direction:column;align-items:stretch}.google-sync-interval-field input{max-width:none;width:100%}.google-sync-interval-controls .btn{width:100%;margin-bottom:0}}.google-calendar-sync-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin:.75rem 0 1rem}.google-calendar-sync-group{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;background:var(--surface-muted,var(--surface))}.google-calendar-sync-title{margin:0 0 .35rem;font-size:.95rem}.google-calendar-sync-hint{margin:0 0 .65rem;font-size:.82rem;color:var(--muted)}.google-calendar-checklist{display:flex;flex-direction:column;gap:.45rem;max-height:min(40vh,280px);overflow-y:auto;overscroll-behavior:contain}.google-calendar-check-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;cursor:pointer;line-height:1.35}.google-calendar-check-item input{margin-top:.15rem;flex-shrink:0}.google-calendar-check-label{display:flex;flex-direction:column;gap:.15rem;min-width:0}.google-calendar-link-count{font-size:.78rem;color:var(--muted)}.google-calendar-sync-warning{margin:.5rem 0 0;font-size:.82rem;color:var(--danger,#c0392b)}.admin-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.admin-list-item .btn{flex-shrink:0}.admin-list-cards{display:flex;flex-direction:column;gap:.75rem}.admin-list-card{border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;background:var(--surface)}.admin-list-card--inactive{opacity:.62}.admin-list-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.admin-list-card-header-end{display:flex;align-items:flex-start;gap:.5rem;flex-shrink:0}.admin-list-card-header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.admin-list-card-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.admin-list-card-icon-btn:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface));border-color:color-mix(in srgb,var(--text) 22%,var(--border))}.admin-list-card-icon-btn--danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.admin-list-card-title-row{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1 1 auto}.admin-list-card-title-block{display:flex;flex-direction:column;gap:.1rem;min-width:0}.admin-list-card-title{font-size:1rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-list-card-subtitle{font-size:.84rem;color:var(--muted)}.admin-list-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem 1rem;gap:.55rem 1rem;margin:.75rem 0 0}.admin-list-card-meta div{min-width:0}.admin-list-card-meta dt{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.admin-list-card-meta dd{margin:.15rem 0 0;font-size:.9rem;line-height:1.4;word-break:break-word}.admin-list-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.admin-list-card-actions .btn{flex:1 1 auto;min-width:0}@media (max-width:640px){.admin-list-card-meta{grid-template-columns:1fr}.admin-list-card-actions{flex-direction:column}.admin-list-card-actions .btn{width:100%}}.audit-log-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.audit-log-filter{flex:1 1;min-width:200px;margin:0}.audit-log-action-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text);white-space:nowrap}.audit-log-details{margin-top:.5rem}.audit-log-details-toggle{background:none;border:none;padding:0;color:var(--accent);font-size:.85rem;cursor:pointer;text-decoration:underline}.audit-log-details-body{margin:.5rem 0 0;padding:.75rem;border-radius:var(--radius-sm,6px);background:color-mix(in srgb,var(--surface) 90%,var(--border));border:1px solid var(--border);font-size:.8rem;overflow-x:auto;max-height:12rem}.audit-log-load-more{margin-top:1rem;display:flex;justify-content:center}.form-group--grow{flex:2 1;min-width:160px}.form-group--wide{flex:1 1;min-width:200px}.form-group--narrow{max-width:240px}.admin-kpi-row--compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.25rem}.admin-kpi-value--sm{font-size:.95rem;color:var(--text);font-weight:600}.admin-qr-wrap{margin-top:.75rem}.admin-dashboard{max-width:none}.admin-alerts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.admin-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:10px;text-decoration:none;font-weight:500;font-size:.92rem;transition:transform .12s}.admin-alert:hover{transform:translateX(2px);text-decoration:none}.admin-alert--warning{background:var(--badge-warn-bg);color:var(--badge-warn-text);border:1px solid var(--badge-warn-bg)}.admin-alert--info{background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border)}.admin-alert-action{font-size:.85rem;font-weight:700;white-space:nowrap}.admin-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.admin-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.admin-kpi-value{display:block;font-size:1.75rem;font-weight:700;color:var(--primary);line-height:1.1}.admin-kpi-label{font-size:.82rem;color:var(--muted);margin-top:.25rem;display:block}.admin-kpi--status{display:flex;flex-direction:column;justify-content:center;gap:.35rem}.admin-kpi-meta{font-size:.78rem;color:var(--muted)}.admin-status-pill{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700;width:-moz-fit-content;width:fit-content}.admin-status-pill.ok{background:var(--badge-ok-bg);color:var(--badge-ok-text)}.admin-status-pill.warn{background:var(--admin-status-warn-bg);color:var(--admin-status-warn-text)}.admin-system-strip{padding:1rem 1.25rem;margin-bottom:1.25rem}.admin-system-strip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:1rem;gap:1rem}.admin-system-label{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.admin-setup{margin-bottom:1.5rem}.admin-setup h2{margin:0 0 .35rem;font-size:1.1rem}.admin-setup-lead{color:var(--muted);font-size:.9rem;margin:0 0 1rem;line-height:1.5}.admin-setup-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.admin-setup-step{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border);text-decoration:none;color:inherit;transition:border-color .12s,background .12s}.admin-setup-step:hover{border-color:var(--primary);background:var(--surface-hover);text-decoration:none}.admin-setup-step strong{display:block;color:var(--primary);font-size:.95rem}.admin-setup-step small{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}.admin-setup-step-num{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.admin-sections{margin-top:.5rem}.admin-nav-hub{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.25rem}.admin-nav-hub-group-title{margin:0 0 .6rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.admin-nav-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:.6rem;gap:.6rem}.admin-nav-hub-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.85rem .95rem;min-height:4.25rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s,transform .12s}.admin-nav-hub-card:hover{border-color:var(--primary);box-shadow:var(--card-hover-shadow);text-decoration:none;transform:translateY(-1px)}.admin-nav-hub-icon{width:2.1rem;height:2.1rem;border-radius:10px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary);font-size:.95rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-nav-hub-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-nav-hub-body strong{font-size:.95rem;color:var(--text);line-height:1.25}.admin-nav-hub-body span{font-size:.8rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-nav-hub-arrow{color:var(--muted);font-size:1rem;font-weight:600;flex-shrink:0}.admin-setup-banner{margin-bottom:1.25rem;padding:1rem 1.1rem}.admin-setup-banner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.admin-setup-banner-header .admin-card-hint{margin:0}.admin-setup-banner-dismiss{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .12s,border-color .12s,background .12s}.admin-setup-banner-dismiss:hover{color:var(--text);border-color:var(--primary);background:var(--surface-hover)}.admin-setup-banner-title{margin:0 0 .25rem;font-size:1rem}.admin-setup-banner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));grid-gap:.5rem;gap:.5rem;margin-top:.85rem}.admin-setup-banner-step{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;background:var(--surface-muted,var(--surface));transition:border-color .12s,background .12s}.admin-setup-banner-step:hover{border-color:var(--primary);background:var(--surface-hover);text-decoration:none}.admin-setup-banner-step strong{display:block;font-size:.88rem;color:var(--primary)}.admin-setup-banner-step small{display:block;margin-top:.1rem;font-size:.78rem;color:var(--muted);line-height:1.3}.admin-status-panel{margin-top:.25rem;padding:0;overflow:hidden}.admin-status-panel-summary{padding:.85rem 1.1rem;font-weight:600;font-size:.92rem;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-status-panel-summary::-webkit-details-marker{display:none}.admin-status-panel-summary:before{content:"▸ ";color:var(--muted)}.admin-status-panel[open] .admin-status-panel-summary:before{content:"▾ "}.admin-status-panel-body{padding:0 1.1rem 1.1rem;border-top:1px solid var(--border)}.admin-status-panel-grid{margin-top:.85rem}.admin-section-block{margin-bottom:1.75rem}.admin-section-block h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .65rem;font-weight:700}.admin-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.65rem;gap:.65rem}.admin-section-card{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.admin-section-card:hover{border-color:var(--primary);box-shadow:var(--card-hover-shadow);text-decoration:none}.admin-section-card strong{color:var(--text);font-size:.95rem}.admin-section-card span{font-size:.82rem;color:var(--muted);line-height:1.35}@media (max-width:899px){.admin-shell{position:relative}.admin-topbar{padding:calc(.65rem + env(safe-area-inset-top, 0px)) max(.65rem,env(safe-area-inset-right,0px)) .65rem max(.65rem,env(safe-area-inset-left,0px))}.admin-topbar-mobile{display:flex;width:100%}.admin-sidebar,.admin-topbar-desktop{display:none}.admin-sidebar-footer{display:flex}.admin-shell--subpage .admin-page-header h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-shell--subpage .admin-page-lead{font-size:.88rem}.admin-content{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.admin-nav-hub-grid,.admin-setup-banner-grid{grid-template-columns:1fr}.admin-kpi-row{grid-template-columns:repeat(2,1fr)}.admin-section-grid{grid-template-columns:1fr}.admin-system-strip-grid{grid-template-columns:1fr 1fr;gap:.85rem}.form-row{flex-direction:column;align-items:stretch}.form-row .btn,.form-row .form-group{width:100%}.form-group--narrow{max-width:none}.form-actions{min-width:0;width:100%}.form-actions .btn{width:100%}.admin-section.card{padding:1rem}.admin-page-header h1{font-size:1.35rem}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-table-wrap{margin-left:-.25rem;margin-right:-.25rem;border-radius:8px;border:1px solid var(--border)}.admin-table-wrap table{font-size:.88rem}td,th{padding:.55rem .5rem}.card{padding:1.15rem}.color-input{width:100%;max-width:120px;height:44px}}@media (min-width:900px){.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100%;flex-shrink:0}.admin-topbar-mobile{display:none}.admin-topbar-desktop{display:flex;width:100%}.admin-sidebar-footer{display:none}.admin-content{padding:1.75rem 1.5rem 2.5rem}.admin-topbar{padding:.75rem 1.5rem}}@media (max-width:480px){.admin-kpi-row,.admin-system-strip-grid{grid-template-columns:1fr}.admin-topbar-label{display:none}.admin-topbar-tenant strong{max-width:36vw}}.admin-dashboard-lead{color:var(--muted);margin-top:-.5rem;margin-bottom:1.5rem}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.admin-stat-card{background:var(--stat-card-bg);border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center}.admin-stat-card strong{display:block;font-size:1.5rem;color:var(--primary);margin-bottom:.25rem}.admin-stat-card span{font-size:.85rem;color:var(--muted)}.admin-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.admin-link-card{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.admin-link-card:hover{transform:translateY(-2px);box-shadow:var(--card-hover-shadow);text-decoration:none}.admin-link-card strong{color:var(--primary)}.admin-link-card span{font-size:.88rem;color:var(--muted);line-height:1.4}.form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.form-row--align-start{align-items:flex-start}.form-row--align-start .btn{align-self:flex-end}.form-actions{min-width:120px}.color-input{width:56px;height:40px;padding:2px;cursor:pointer}.color-swatch{display:inline-block;width:24px;height:24px;border-radius:6px;border:1px solid var(--border)}.inline-edit{border:1px solid transparent;background:transparent;padding:.35rem .5rem;border-radius:6px;font-size:1rem;width:100%;max-width:220px}.inline-edit:focus,.inline-edit:hover{border-color:var(--border);background:var(--surface);outline:none}code{font-size:.85rem;background:var(--code-bg);padding:.15rem .4rem;border-radius:4px}.nav-btn{background:transparent;border:none;color:var(--nav-fg);font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit;padding:0}.nav-btn:hover{text-decoration:underline}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:44px;min-height:44px;padding:.4rem .65rem;border-radius:10px;border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);color:inherit;font:inherit;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.theme-toggle:hover{background:var(--theme-toggle-hover)}.theme-toggle-icon{font-size:1.1rem;line-height:1}.theme-toggle-label{font-size:.85rem;font-weight:600}.theme-toggle--nav{color:var(--nav-fg);border-color:color-mix(in srgb,var(--nav-fg) 32%,transparent);background:color-mix(in srgb,var(--nav-fg) 12%,transparent)}.theme-toggle--nav:hover{background:color-mix(in srgb,var(--nav-fg) 20%,transparent)}.theme-toggle--toolbar{border-color:var(--border);background:var(--surface);color:var(--text)}.theme-toggle--toolbar:hover{background:var(--surface-hover)}.calendar-main{flex:1 1;min-height:0;padding:0;max-width:none;margin:0}.calendar-app,.calendar-main{display:flex;flex-direction:column;width:100%}.calendar-app{height:100dvh;height:-webkit-fill-available;max-height:100dvh;max-height:-webkit-fill-available;min-height:100dvh;min-height:-webkit-fill-available;overflow:hidden;max-width:1400px;margin:0 auto}.calendar-app .nav{flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;--nav-safe-top:env(safe-area-inset-top,0px);margin-top:calc(-1 * var(--nav-safe-top));padding:calc(.65rem + var(--nav-safe-top)) calc(.85rem + env(safe-area-inset-right, 0px)) .65rem calc(.85rem + env(safe-area-inset-left, 0px));z-index:300}.calendar-nav{flex-direction:column;align-items:stretch;gap:.5rem}.calendar-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;min-height:44px}.calendar-nav-brand{flex:1 1;min-width:0;color:var(--nav-fg);font-weight:600;font-size:1rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-nav-utilities{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.calendar-nav a.calendar-nav-user--primary{font-weight:800}.calendar-nav-user{display:none;align-items:center;min-height:40px;padding:0 .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--nav-fg) 28%,transparent);background:color-mix(in srgb,var(--nav-fg) 10%,transparent);color:var(--nav-fg);font-size:.82rem;font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.calendar-nav-user--primary{display:none;flex:1 1;min-width:0;max-width:none;min-height:44px;padding:0;border:none;border-radius:0;background:none;font-size:1.125rem;font-weight:800;letter-spacing:-.015em;line-height:1.25;justify-content:flex-start;align-items:center}.calendar-nav-user:hover{background:color-mix(in srgb,var(--nav-fg) 18%,transparent);text-decoration:none}.calendar-nav-user--desktop{display:inline-flex;max-width:12rem;min-height:44px;border:none;background:transparent;border-radius:8px;font-size:.85rem;opacity:.92;padding:0 .5rem}.calendar-nav-icon-btn,.calendar-nav-user--desktop:hover{background:color-mix(in srgb,var(--nav-fg) 12%,transparent)}.calendar-nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid color-mix(in srgb,var(--nav-fg) 35%,transparent);border-radius:10px;color:var(--nav-fg);cursor:pointer;padding:0;flex-shrink:0;transition:background .15s,border-color .15s}.calendar-nav-icon-btn:hover{background:color-mix(in srgb,var(--nav-fg) 20%,transparent)}.calendar-nav-icon-btn[aria-expanded=true]{background:color-mix(in srgb,var(--nav-fg) 22%,transparent);border-color:color-mix(in srgb,var(--nav-fg) 50%,transparent)}.calendar-nav-menu-btn{display:none}.calendar-nav-display{display:none;position:relative}.calendar-nav-display-btn-icon{width:1.1rem;height:1.1rem;display:block}.calendar-nav-display-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:340;width:min(22rem,calc(100vw - 1.5rem));max-height:min(70vh,32rem);overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:0}.calendar-nav-display-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:1}.calendar-nav-display-popover-header strong{color:var(--text);font-size:.95rem}.calendar-nav-display-popover-body{padding:.65rem .5rem .85rem}.calendar-nav-display-popover-body .settings-group{margin-bottom:.65rem}.nav .calendar-nav-display-popover .settings-row-label,.nav .calendar-nav-display-popover a.settings-row,.nav .calendar-nav-display-popover button.settings-row{color:var(--text);font-weight:500}.nav .calendar-nav-display-popover .settings-row-detail,.nav .calendar-nav-display-popover .settings-row-value{color:var(--muted)}.calendar-nav-links{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.calendar-nav-backdrop{position:fixed;inset:0;z-index:350;border:none;padding:0;margin:0;background:var(--overlay-backdrop);cursor:pointer}.calendar-nav-sheet{position:fixed;top:0;right:0;bottom:0;z-index:360;width:min(20rem,92vw);background:var(--bg);color:var(--text);box-shadow:var(--shadow);display:flex;flex-direction:column}.nav .calendar-nav-sheet .settings-row-label,.nav .calendar-nav-sheet a.settings-row,.nav .calendar-nav-sheet button.settings-row{color:var(--text);font-weight:500}.nav .calendar-nav-sheet .settings-row-chevron,.nav .calendar-nav-sheet .settings-row-detail,.nav .calendar-nav-sheet .settings-row-value{color:var(--muted)}.nav .calendar-nav-sheet-header strong{color:var(--text)}.calendar-nav-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(.85rem + env(safe-area-inset-top, 0px)) 1rem .85rem;border-bottom:1px solid var(--border)}.calendar-nav-sheet-header strong{font-size:1.05rem;letter-spacing:-.02em}.calendar-nav-sheet-body{padding:.75rem .85rem calc(1rem + env(safe-area-inset-bottom, 0px));overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.calendar-nav-sheet-body .settings-group{margin:0}.calendar-nav-sheet-field{display:flex;flex-direction:column;gap:.35rem;margin:0;font-size:.9rem;font-weight:600}.calendar-nav-sheet-field span{color:var(--muted);font-size:.82rem;font-weight:600}.calendar-nav-sheet .nav-tenant-select{color:var(--text);background:var(--surface);border-color:var(--border);width:100%}.calendar-nav-sheet-version{padding-top:.25rem}.app-version-badge--sheet{width:100%;justify-content:center;display:inline-flex;padding:.45rem .75rem}.calendar-app .nav-links{gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.nav-guest-label{opacity:.85;font-size:.85rem}.nav-user-email{opacity:.9;font-size:.85rem}.calendar-alert,.calendar-loading{margin:.75rem;padding:.75rem 1rem}.calendar-shell{flex:1 1;min-height:0;display:flex;flex-direction:column}.calendar-header-sticky{flex-shrink:0;z-index:200;padding:0 .75rem;background:var(--bg)}.calendar-toolbar{display:flex;flex-direction:column;margin-bottom:0;padding:.4rem .5rem;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;box-shadow:var(--shadow)}.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}.calendar-toolbar-row{display:flex;align-items:center;gap:.35rem;width:100%;min-width:0}.calendar-toolbar-center{flex:1 1}.calendar-toolbar-center,.calendar-toolbar-nav{min-width:0;display:flex;justify-content:center}.calendar-toolbar-nav{align-items:center;gap:.2rem;width:100%}.calendar-nav-btn,.calendar-toolbar-today{min-height:36px;min-width:36px;padding-left:.65rem;padding-right:.65rem;flex-shrink:0}.calendar-toolbar-month{display:flex;width:100%;max-width:11rem}.calendar-toolbar-month input[type=month]{font:inherit;font-size:.85rem;min-height:36px;width:100%;padding:.25rem .4rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.calendar-toolbar-context{font-weight:600;font-size:.78rem;line-height:1.2;flex:1 1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .15rem}.calendar-toolbar-row--week .calendar-toolbar-context{overflow:visible;text-overflow:clip}.calendar-toolbar-toggle{flex-shrink:0;display:flex}.calendar-toggle-btn{border:1px solid var(--border);background:var(--surface);padding:.35rem .55rem;min-height:36px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--muted)}.calendar-toggle-btn:first-child{border-radius:6px 0 0 6px}.calendar-toggle-btn:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.calendar-toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;z-index:1;position:relative}.calendar-week{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;border:1px solid var(--border);touch-action:pan-y}.calendar-week-viewport{overflow-x:clip}.calendar-week-list{display:flex;flex-direction:column;gap:6px}.calendar-week-row:first-child .calendar-week-row-head{position:relative}.calendar-week-kw{position:absolute;top:0;left:0;right:0;font-size:.8rem;font-weight:600;line-height:1.2;color:var(--muted);letter-spacing:.02em;text-align:center;pointer-events:none}@keyframes calendar-week-enter-next{0%{opacity:.55;transform:translateX(16%)}to{opacity:1;transform:translateX(0)}}@keyframes calendar-week-enter-prev{0%{opacity:.55;transform:translateX(-16%)}to{opacity:1;transform:translateX(0)}}@keyframes calendar-week-enter-fade{0%{opacity:.45}to{opacity:1}}.calendar-week-list--enter-next{animation:calendar-week-enter-next .28s cubic-bezier(.22,1,.36,1)}.calendar-week-list--enter-prev{animation:calendar-week-enter-prev .28s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.calendar-week-list--enter-next,.calendar-week-list--enter-prev{animation:calendar-week-enter-fade .18s ease-out}}.calendar-week-row{display:grid;grid-template-columns:3.25rem 1fr;grid-gap:6px;gap:6px;align-items:stretch}.calendar-week-row-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-weight:700;color:var(--muted);line-height:1.15}.calendar-week-row-dow{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.calendar-week-row-date{font-size:1rem}.calendar-week-row .calendar-cell--week{min-height:116px}.calendar-cell--week .day-num{display:none}.calendar-cell--week .event-chips{flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start}.calendar-cell--week .event-chip{font-size:.65rem;max-width:100%;flex:1 1 auto}.event-chip-more{font-size:.55rem;color:var(--muted);padding:0 2px;line-height:1.2}.day-detail-overview{display:flex;flex-direction:column;gap:1rem}.day-detail-empty{color:var(--muted);margin:0;font-size:.95rem}.day-detail-section h3{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.day-detail-events,.day-detail-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.day-detail-items li{display:flex;align-items:flex-start;gap:.5rem}.day-detail-events .color-swatch{flex-shrink:0}.day-detail-event-item{list-style:none}.day-detail-event-row{display:flex;align-items:center;gap:.35rem;width:100%;border:1px solid var(--border);border-radius:8px;padding:.35rem .4rem .35rem .75rem;background:var(--surface-hover)}.day-detail-event-row:hover{border-color:var(--primary);background:var(--surface-accent)}.day-detail-event-main{flex:1 1;min-width:0;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;padding:.25rem 0;color:inherit}.day-detail-event-actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto}.day-detail-event-actions .btn-sm{padding:.25rem .45rem;font-size:.75rem;white-space:nowrap}@media (max-width:480px){.day-detail-event-row{flex-wrap:wrap;padding:.5rem .6rem}.day-detail-event-actions{width:100%;justify-content:flex-end;padding-top:.15rem}}.day-detail-event-text small,.day-detail-items li span small{display:block;color:var(--muted);font-size:.85rem;margin-top:.1rem}.day-detail-event-row--static.day-detail-event-row:hover{border-color:transparent;background:transparent}.day-detail-clickable-row,.day-detail-static-row{display:flex;align-items:center;gap:.5rem;width:100%}.day-detail-clickable-row{text-align:left;border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;background:var(--surface-hover);cursor:pointer;font:inherit}.day-detail-clickable-row:hover{border-color:var(--primary);background:var(--surface-accent)}.day-detail-event-text{flex:1 1;min-width:0}.day-detail-doc-icon{margin-left:.35rem;font-size:.9em;font-weight:400;opacity:.9;vertical-align:middle}.day-detail-footer{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.day-detail-add-menu{display:flex;flex-direction:column;gap:.65rem}.day-detail-add-title{margin:0;font-size:.95rem;font-weight:700;color:var(--text)}.day-add-options{display:flex;flex-direction:column;gap:.5rem}.day-add-option{width:100%;min-height:44px;padding:.75rem 1rem;text-align:left;font:inherit;font-size:.95rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--surface-hover);color:var(--text);cursor:pointer;touch-action:manipulation}.day-add-option:focus-visible,.day-add-option:hover{border-color:var(--primary);background:var(--surface-accent);outline:none}.day-detail-add-cancel{align-self:center;margin-top:.15rem;min-height:44px;padding:.35rem .75rem}.onboarding-page{max-width:640px;padding-top:2rem}.onboarding-page .card{padding:1.5rem}.onboarding-setup-hint{color:var(--muted);font-size:.9rem;margin:0 0 1.25rem;line-height:1.5}.onboarding-steps{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-bottom:1.25rem;font-size:.78rem;color:var(--muted)}.onboarding-step.active{color:var(--primary);font-weight:700}.onboarding-step.done{color:var(--text)}.onboarding-panel{margin-top:.5rem}.onboarding-nav{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.onboarding-person-row{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:.75rem}.onboarding-person-row .form-group{flex:1 1;margin-bottom:0}.onboarding-summary{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.65rem}.onboarding-summary li{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .85rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px}.onboarding-summary li span{color:var(--muted);font-size:.88rem}.calendar-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:1.25rem;padding:0 .75rem calc(5.5rem + env(safe-area-inset-bottom))}.calendar-load-more{display:flex;justify-content:center;padding:.25rem 0}.calendar-load-more--past{padding-top:.5rem}.calendar-load-more--future{padding-bottom:.5rem}.calendar-month{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem;border:1px solid var(--border);scroll-margin-top:.75rem}.calendar-month-title{margin:0 0 .65rem;font-size:1.1rem;font-weight:700}.calendar-grid-header{margin-bottom:4px;font-size:.75rem;font-weight:700;color:var(--muted);text-align:center}.calendar-grid,.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendar-cell{position:relative;min-height:140px;border:1px solid var(--border);border-radius:6px;padding:4px;overflow:hidden;touch-action:manipulation;background:var(--calendar-cell-bg);--marking-stripe-h:4px;--marking-stripe-cushion:2px;--event-chips-inset-top:calc(18px + var(--marking-stripe-h) + var(--marking-stripe-cushion));--event-chips-inset-bottom:calc(var(--marking-stripe-h) + var(--marking-stripe-cushion))}.calendar-cell--month{overflow-x:visible;overflow-y:hidden}.calendar-cell.empty{background:transparent;border-color:transparent}.calendar-cell.is-today{border-color:var(--calendar-today);outline:2px solid var(--calendar-today);outline-offset:-1px}@keyframes calendar-deeplink-flash{0%,to{opacity:0}50%{opacity:1}}.calendar-cell.is-deeplink-flash:after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--primary);background:color-mix(in srgb,var(--primary) 16%,transparent);animation:calendar-deeplink-flash .35s ease-in-out 4}@media (prefers-reduced-motion:reduce){.calendar-cell.is-deeplink-flash:after{animation:none;opacity:1}}.care-layer{position:absolute;inset:0;z-index:0;pointer-events:none}.care-layer--override{z-index:1}.care-layer--override-child-edge{left:auto;right:0;top:0;bottom:0;width:10px;z-index:3;-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (max-width:639px){.care-layer--override-child-edge{width:10px}}.care-layer--pattern-prev{-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.care-layer--pattern-current{-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.holiday-stripes{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;flex-direction:column;gap:2px;pointer-events:none}.holiday-stripe--school{height:4px;width:100%;border-radius:2px 2px 0 0;opacity:.95}.vacation-bars{position:absolute;top:18px;left:2px;right:2px;z-index:5;display:flex;flex-direction:column;gap:2px;pointer-events:none}.vacation-bar{height:4px;width:100%;border-radius:2px;opacity:.9}.overnight-overlays{position:absolute;inset:0;z-index:2;pointer-events:none}.overnight-overlay{position:absolute;top:0;bottom:0}.overnight-overlay--start{right:0;width:25%}.overnight-overlay--middle{left:0;right:0}.overnight-overlay--end{left:0;width:25%}.holiday-person-dots{position:absolute;bottom:6px;right:4px;z-index:6;display:flex;gap:2px;flex-wrap:wrap;max-width:40px;justify-content:flex-end}.holiday-person-dot{width:6px;height:6px;border-radius:50%;border:1px solid rgba(255,255,255,.8)}.calendar-cell.half-end .half-fill,.calendar-cell.half-start .half-fill{display:none}.day-head{position:absolute;top:2px;left:4px;right:4px;z-index:7;align-items:flex-start;justify-content:space-between;gap:4px;pointer-events:none}.day-head,.day-head-date{display:flex;flex-direction:row}.day-head-date{align-items:center;gap:2px;flex-shrink:0;min-width:0}.day-num{position:relative;z-index:7;font-size:.85rem;font-weight:600;line-height:1.1;flex-shrink:0}.day-num.is-public-holiday{color:var(--public-holiday-num);font-weight:800}.day-kw{font-size:.78rem;font-weight:600;color:var(--muted);line-height:1.1;white-space:nowrap;flex-shrink:0;margin-left:auto;text-align:right}.legend-bar{display:flex;flex-wrap:wrap;gap:.65rem 1rem;padding:.65rem .85rem;background:var(--legend-bg);border-bottom:1px solid var(--border);flex-shrink:0;max-height:min(28vh,220px);overflow-y:auto;-webkit-overflow-scrolling:touch}.legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.legend-mark{width:16px;height:16px;border-radius:4px;display:inline-block}.legend-mark.pattern{opacity:.35;background:#3498db}.legend-mark.override{background:#3498db}.legend-mark.override-child{background:linear-gradient(90deg,#3498db,#3498db 50%,#e67e22 0,#e67e22);width:10px;border-radius:2px}.legend-mark.override-child:after{content:none}.legend-mark.feiertag{background:var(--calendar-cell-bg);border:1px solid var(--border);color:var(--public-holiday-num);font-weight:800;font-size:.72rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.legend-mark.ferien{background:color-mix(in srgb,var(--content-school-holiday) 40%,transparent)}.legend-mark.urlaub{background:color-mix(in srgb,var(--content-vacation) 35%,transparent)}.legend-mark.overnight{background-color:color-mix(in srgb,var(--content-overnight-all) 12%,transparent);background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,var(--content-overnight-all) 3px,var(--content-overnight-all) 6px)}.legend-mark.event{background:color-mix(in srgb,var(--content-event) 35%,transparent)}.day-holiday-label{font-weight:600}.overlay-backdrop{position:fixed;inset:0;z-index:1000;background:var(--overlay-backdrop);display:flex;align-items:flex-end;justify-content:center;padding:1rem}@media (min-width:640px){.overlay-backdrop{align-items:center}}.overlay-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:640px;max-height:min(90vh,720px);display:flex;flex-direction:column;border:1px solid var(--border)}.overlay-panel--wide{max-width:900px}.overlay-backdrop--document-preview{padding:0;align-items:stretch}.overlay-panel--document-preview{width:100%;max-width:none;height:100%;max-height:none;min-height:100dvh;min-height:-webkit-fill-available;border-radius:0;border-left:none;border-right:none;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.overlay-panel--document-preview .overlay-panel-header{flex-shrink:0;padding-left:calc(1rem + env(safe-area-inset-left, 0px));padding-right:calc(1rem + env(safe-area-inset-right, 0px))}.overlay-panel--document-preview .overlay-panel-header h2{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:.5rem}.overlay-panel--document-preview .overlay-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.overlay-panel--document-preview .overlay-panel-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:.5rem calc(.5rem + env(safe-area-inset-right, 0px)) calc(.75rem + env(safe-area-inset-bottom, 0px)) calc(.5rem + env(safe-area-inset-left, 0px))}.document-preview-viewport{flex:1 1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;-webkit-overflow-scrolling:touch;width:100%}.document-preview-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.document-preview-frame{flex:1 1;width:100%;min-height:0;height:100%;border:none;background:var(--bg)}@media (min-width:640px){.overlay-backdrop--document-preview{padding:1.25rem;align-items:center}.overlay-panel--document-preview{width:min(96vw,1120px);height:auto;min-height:0;max-height:min(92vh,920px);border-radius:var(--radius);border:1px solid var(--border);padding-top:0;padding-bottom:0}.overlay-panel--document-preview .overlay-panel-header{padding-left:1.25rem;padding-right:1.25rem}.overlay-panel--document-preview .overlay-panel-header h2{font-size:1.15rem;white-space:normal}.overlay-panel--document-preview .overlay-panel-body{min-height:min(78vh,820px);padding:1rem 1.25rem 1.25rem}.document-preview-viewport{min-height:min(72vh,760px)}}.overlay-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.overlay-panel-header h2{margin:0;font-size:1.15rem}.overlay-close{border:none;background:transparent;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--muted);padding:0 .25rem}.overlay-panel-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto}.overlay-hint{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.entry-created-by{margin:-.5rem 0 1rem;color:var(--muted);font-size:.8rem}.overlay-form{margin-bottom:1rem}.overlay-table-wrap{overflow-x:auto}.overlay-empty{color:var(--muted);font-size:.9rem}.calendar-fab-wrap{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.calendar-fab{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border-radius:50%;border:none;background:var(--primary);color:white;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.12),0 6px 20px rgba(37,99,235,.35);transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-fab:hover{background:var(--primary-hover);box-shadow:0 4px 12px rgba(15,23,42,.14),0 8px 24px rgba(37,99,235,.4)}.calendar-fab:active{transform:scale(.96)}.calendar-fab:focus-visible{outline:2px solid var(--focus-outline);outline-offset:3px}.calendar-fab-icon{display:block;width:1.5rem;height:1.5rem;transition:transform .2s ease}.calendar-fab--open .calendar-fab-icon{transform:rotate(45deg)}.calendar-fab-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-hover-shadow);overflow:hidden;min-width:min(240px,calc(100vw - 2rem));animation:calendar-fab-menu-in .18s ease-out;transform-origin:bottom right}@keyframes calendar-fab-menu-in{0%{opacity:0;transform:translateY(.35rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-fab-menu-item{display:block;width:100%;text-align:left;padding:.85rem 1rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);transition:background .12s ease}.calendar-fab-menu-item:last-child{border-bottom:none}.calendar-fab-menu-item:hover{background:var(--fab-menu-hover)}.calendar-fab-menu-item:focus-visible{outline:none;background:var(--surface-accent)}.pattern-grid-wrap{overflow-x:auto;margin:1rem 0}.pattern-grid{width:100%;min-width:640px}.pattern-grid select{width:100%;font-size:.85rem;padding:.35rem}.pattern-grid th{text-align:center;font-size:.8rem}.holiday-list{margin:1rem 0 0;padding-left:1.25rem;color:var(--muted)}.holiday-entry-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.holiday-year-group{display:flex;flex-direction:column;gap:.5rem}.holiday-year-heading{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.holiday-year-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.holiday-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.65rem .75rem;gap:.65rem .75rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted,var(--surface))}.holiday-entry--public{border-left:3px solid var(--public-holiday-num)}.holiday-entry--school{border-left:3px solid var(--content-school-holiday)}.holiday-entry-main{min-width:0}.holiday-entry-name{font-weight:600;font-size:.95rem;color:var(--text);line-height:1.35}.holiday-entry-meta{margin-top:.2rem;font-size:.82rem;color:var(--muted);line-height:1.4}.holiday-entry-badge{display:inline-block;margin-right:.35rem;padding:.08rem .4rem;border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:color-mix(in srgb,var(--border) 65%,transparent);color:var(--text);vertical-align:baseline}.holiday-entry .btn{flex-shrink:0;align-self:center}@media (max-width:720px){.holiday-entry{grid-template-columns:1fr;align-items:stretch}.holiday-entry .btn{width:100%;align-self:stretch}}.calendar-cell--interactive{cursor:pointer}.calendar-cell--interactive:hover{outline:2px solid var(--focus-outline);outline-offset:-2px}.event-chips{position:absolute;left:2px;right:2px;top:var(--event-chips-inset-top);bottom:var(--event-chips-inset-bottom);display:flex;flex-direction:column;justify-content:flex-start;gap:1px;min-height:0;overflow:hidden;z-index:6;pointer-events:none}.event-chip{border:none;border-radius:3px;color:#fff;font-size:.55rem;line-height:1.2;padding:1px 3px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%}.calendar-cell--month .event-chip--span-start{overflow:visible;text-overflow:clip}.event-chip--span-start{border-radius:3px 0 0 3px;margin-right:-2px}.event-chip--span-middle{border-radius:0;margin-left:-2px;margin-right:-2px}.event-chip--span-end{border-radius:0 3px 3px 0;margin-left:-2px}.event-chip--lane-placeholder{visibility:hidden}.event-chip-btn{background:transparent;border:1px solid;border-radius:6px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem}.day-detail-list{margin:0;padding-left:1.25rem}.btn-sm{font-size:.8rem;padding:.25rem .5rem}.settings-page{max-width:720px;padding-top:2rem}.settings-hint{color:var(--muted);font-size:.9rem}.password-requirements{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.password-requirements__item{display:flex;align-items:flex-start;gap:.45rem;font-size:.85rem;color:var(--muted);line-height:1.35}.password-requirements__item--ok{color:var(--text)}.password-requirements__mark{flex-shrink:0;width:1rem;text-align:center;font-weight:600}.password-requirements__item--ok .password-requirements__mark{color:var(--primary)}.content-color-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.content-color-subsection{margin-top:1.25rem;padding-top:.25rem;border-top:1px solid var(--border)}.content-color-subsection h3{margin:0 0 .35rem;font-size:1rem;font-weight:600}.shared-owner-pref-list{display:flex;flex-direction:column;gap:.85rem}.shared-owner-pref{display:flex;flex-direction:column;gap:.55rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.shared-owner-pref:last-child{padding-bottom:0;border-bottom:none}.shared-owner-pref-head{display:flex;align-items:center;gap:.75rem;min-height:44px}.shared-owner-pref-name{flex:1 1;font-size:.95rem;min-width:0;overflow-wrap:anywhere}.shared-owner-pref-toggles{justify-content:flex-start;padding-left:.15rem}.shared-owner-pref-toggles .settings-row-check{min-height:44px;padding:.25rem 0;font-size:.9rem;color:var(--text)}.content-color-row{display:flex;align-items:center;gap:.75rem;cursor:pointer}.content-color-row input[type=color]{width:2.5rem;height:2.5rem;padding:.125rem;border:1px solid var(--theme-toggle-border);border-radius:6px;background:var(--theme-toggle-bg);cursor:pointer}.content-color-label{flex:1 1;font-size:.95rem}.color-input-group{display:inline-flex;align-items:center;gap:.5rem}.color-hex-input{width:6.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;padding:.4rem .5rem}.content-color-actions{display:flex;flex-wrap:wrap;gap:.5rem}.scope-checkboxes{display:flex;gap:1rem;flex-wrap:wrap}.nav-tenant-select{font-size:.85rem;padding:.25rem .5rem;border-radius:6px;border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);color:var(--nav-fg)}.version-list{margin:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.version-list,.version-list--actions{padding-left:0}.version-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-hover)}.version-list-item.is-active{border-color:var(--primary);background:var(--surface-accent)}.version-list-label{font-weight:600}.version-list-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-left:auto}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.admin-section-head .admin-card-title{margin:0}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.day-detail-heading{font-size:1rem;margin:1rem 0 .5rem}.day-add-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}@media (min-width:641px){.calendar-nav-backdrop,.calendar-nav-menu-btn,.calendar-nav-sheet{display:none!important}.calendar-nav-display{display:inline-flex}.calendar-nav-links--desktop{width:100%}}@media (max-width:640px){.calendar-app .nav{padding-left:calc(.75rem + env(safe-area-inset-left, 0px));padding-right:calc(.75rem + env(safe-area-inset-right, 0px));gap:0}.calendar-nav-bar{gap:.65rem}.calendar-nav-menu-btn{display:inline-flex}.calendar-nav-brand,.calendar-nav-links--desktop{display:none}.calendar-nav-user--primary{display:inline-flex}.calendar-nav-user--desktop{display:none}.calendar-nav-utilities .calendar-nav-icon-btn,.calendar-nav-utilities .theme-toggle--nav{min-width:42px;min-height:42px;width:42px;height:42px;padding:0;border-radius:11px}.calendar-nav-menu-btn-icon{width:1rem;height:.65rem}.calendar-nav-legend-btn-icon{width:1.2rem;height:1.2rem}.calendar-header-sticky,.calendar-scroll{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.calendar-scroll{padding-top:.5rem;gap:.75rem}.calendar-grid-header{font-size:.68rem;gap:2px}.calendar-grid{gap:2px}.calendar-cell{min-height:96px;border-radius:4px}.calendar-week-row .calendar-cell--week{min-height:100px}.calendar-month,.calendar-week{padding:.5rem}.calendar-month-title{font-size:1rem}.calendar-nav-btn,.calendar-toggle-btn,.calendar-toolbar-month input[type=month],.calendar-toolbar-today{min-height:34px;font-size:.75rem}.calendar-toolbar-context{font-size:.72rem}.calendar-toolbar-row--week .calendar-toolbar-toggle{margin-left:auto}.calendar-toolbar-row--week .calendar-toolbar-center{flex:1 1;min-width:0}.calendar-toolbar-row--week .calendar-toolbar-context{font-size:.72rem}.event-chip{font-size:.5rem}}@media (min-width:900px){.calendar-app{border-left:1px solid var(--border);border-right:1px solid var(--border)}.calendar-main{padding:0}.calendar-header-sticky{padding:0 1rem}.calendar-scroll{padding:.75rem 1rem 2rem;gap:2rem}.calendar-month-title{font-size:1.25rem}.calendar-cell{min-height:148px}}.motd-backdrop{z-index:1100}.motd-panel{max-width:520px}.motd-body{white-space:pre-wrap;line-height:1.55;font-size:.95rem;margin-bottom:1.25rem}.motd-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.motd-actions--split{justify-content:space-between}.motd-release-hint{margin:0 0 1rem;font-size:.9rem;color:var(--muted)}.motd-release-link{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.changelog-index-link{margin:0 0 1rem;font-size:.9rem}.changelog-release-badge{margin-left:.35rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary)}.changelog-release-btn{margin-top:.65rem}.release-notes-page{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0))}.release-notes-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.release-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.release-notes-card{padding:1rem 1.1rem}.release-notes-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.release-notes-card-title{margin:0 0 .5rem;font-size:1.05rem}.release-notes-card-link{color:inherit;text-decoration:none}.release-notes-card-link:hover{color:var(--primary)}.release-notes-summary{margin:0 0 .75rem;font-size:.9rem;color:var(--muted);line-height:1.45}.release-notes-article{padding:1rem 1.15rem}.release-notes-body{margin-bottom:0}.motd-active-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.95rem}.motd-form-actions,.motd-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.motd-row-actions{min-width:12rem}.app-version-badge{border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);color:var(--muted);font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;cursor:pointer;line-height:1.2}.app-version-badge:hover{color:var(--primary);border-color:var(--primary)}.app-version-badge--nav,.app-version-badge--toolbar{flex-shrink:0}.changelog-panel{max-width:560px}.changelog-current{margin:0 0 1rem;font-size:.95rem}.changelog-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:1rem}.changelog-item{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.changelog-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.changelog-version{font-weight:700;color:var(--primary)}.changelog-date{font-size:.8rem;color:var(--muted)}.changelog-item-title{margin:0 0 .5rem;font-size:.95rem}.changelog-item-body{margin-bottom:0;font-size:.9rem}.recurrence-root{margin-bottom:.5rem}.recurrence-root>.checkbox-row{margin-bottom:0}.recurrence-panel{margin-top:.75rem;padding:.85rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted);display:flex;flex-direction:column;gap:.85rem}.recurrence-panel .form-group{margin-bottom:0}.recurrence-grid{display:grid;grid-template-columns:1fr;grid-gap:.75rem;gap:.75rem}@media (min-width:480px){.recurrence-grid{grid-template-columns:1fr 1fr}}.recurrence-weekdays-label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.9rem}.recurrence-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.35rem;gap:.35rem}.recurrence-weekday-btn{min-height:44px;padding:.35rem .15rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.8rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.recurrence-weekday-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.recurrence-weekday-btn:disabled{opacity:.6;cursor:not-allowed}.recurrence-hint{color:var(--muted);font-size:.8rem;line-height:1.4;margin:0}.admin-toolbar-stack{flex-direction:column;align-items:stretch}.admin-toolbar-stack .btn{width:100%}.sync-activity-panel{border-left:3px solid var(--primary)}.sync-activity-row+.sync-activity-row{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.sync-activity-title{margin:0;font-size:.95rem}.sync-activity-kind{color:var(--muted);font-weight:400}.sync-activity-event{margin:.25rem 0 0;font-size:.9rem}.sync-activity-event span{font-weight:600}.sync-status-footer{display:flex;flex-direction:column;gap:.5rem}.sync-status-footer .btn{width:100%}.sync-status-badge{display:inline-flex;align-items:center;align-self:flex-start;min-height:2rem;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600}.sync-status-badge--running{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.settings-group-body>.admin-list-cards{padding:.75rem}.settings-group-body>.admin-list-cards .admin-list-card:last-child{margin-bottom:0}.day-doc-icon{font-size:.75rem;line-height:1;opacity:.85;flex-shrink:0}.entry-documents-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.entry-documents-title{font-size:1rem;margin:0 0 .5rem}.entry-documents-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.entry-documents-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.entry-documents-name--static{cursor:default;color:var(--text)}.entry-documents-name,.entry-documents-name--static{text-align:left;background:none;border:none;padding:0;font:inherit}.entry-documents-name{flex:1 1 12rem;color:var(--primary);cursor:pointer;text-decoration:underline;min-height:44px}.entry-documents-meta{font-size:.85rem;color:var(--muted)}.entry-documents-upload{margin-top:.5rem}.documents-page-list .card{padding:.75rem 1rem}@media (min-width:640px){.documents-page .admin-page-header{max-width:42rem}}