:root{--bg:#fff;--bg-muted:#f9fafb;--text:#111827;--text-muted:#374151;--primary:#3b82f6;--secondary:#10b981;--warning:#f59e0b;--error:#ef4444;--success:#22c55e;--card-bg:#fff;--border:#e5e7eb;--link:#3b82f6;--shadow:0 8px 24px #11182714;--weekend-bg:#e5e7eb;--calendar-daynum-color:#000;--priority-1:color-mix(in srgb,#3b82f6 80%,#000);--priority-2:color-mix(in srgb,#8b5cf6 80%,#000);--priority-3:color-mix(in srgb,#f59e0b 80%,#000);--priority-4:color-mix(in srgb,#ef4444 80%,#000);--priority-5:color-mix(in srgb,#f97316 80%,#000);--header-height:56px;--sticky-offset:var(--header-height);--hour-height:56px;--range-band-bg:color-mix(in srgb,var(--primary) 8%,#0000);--range-band-outline:color-mix(in srgb,var(--primary) 28%,#0000);--now-band-bg:color-mix(in srgb,var(--primary) 14%,#0000);--now-band-outline:color-mix(in srgb,var(--primary) 40%,#0000);--time-line:var(--secondary);--time-outline:color-mix(in srgb,var(--secondary) 55%,#0000);--calendar-border:color-mix(in srgb,var(--text) 8%,#0000);--calendar-head-bg:#f3f4f6;--calendar-weekend-bg:color-mix(in srgb,var(--primary) 7%,#0000);color-scheme:light}[data-theme=dark]{--bg:#111827;--bg-muted:#1f2937;--text:#f9fafb;--text-muted:#d1d5db;--primary:#60a5fa;--secondary:#34d399;--warning:#fbbf24;--error:#f87171;--success:#4ade80;--card-bg:#1f2937;--border:#374151;--link:#60a5fa;--shadow:0 8px 24px #00000080;--weekend-bg:#111827;--calendar-daynum-color:var(--text);--priority-1:#60a5fa;--priority-2:#a78bfa;--priority-3:#fbbf24;--priority-4:#f87171;--priority-5:#fb923c;--header-height:56px;--sticky-offset:var(--header-height);--hour-height:56px;--range-band-bg:color-mix(in srgb,var(--primary) 10%,#0000);--range-band-outline:color-mix(in srgb,var(--primary) 30%,#0000);--now-band-bg:color-mix(in srgb,var(--primary) 18%,#0000);--now-band-outline:color-mix(in srgb,var(--primary) 45%,#0000);--time-line:var(--secondary);--time-outline:color-mix(in srgb,var(--secondary) 65%,#0000);--calendar-border:color-mix(in srgb,var(--text) 10%,#0000);--calendar-head-bg:#161f2b;--calendar-weekend-bg:color-mix(in srgb,var(--primary) 14%,#0000);color-scheme:dark}#root,body,html{height:100%}body{background-color:#fff;background-color:var(--bg);color:#111827;color:var(--text);transition:background-color .2s ease,color .2s ease}*{box-sizing:border-box}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.card,main{padding:16px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,background-color .2s ease,border-color .2s ease}.card:hover{transform:translateY(-1px)}.app-header{background:var(--card-bg);border-bottom:1px solid var(--border);min-height:var(--header-height);padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{align-items:center;display:flex;gap:12px;justify-content:space-between}.app-header h1{color:var(--text);font-size:20px;margin:0}.sidebar{animation:sidebar-slide-in .22s ease-out;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 16px}.sidebar-sticky{position:-webkit-sticky;position:sticky;top:56px;top:var(--sticky-offset,56px);z-index:9}.sidebar ul{display:flex;flex-wrap:nowrap;gap:10px;list-style:none;margin:0;overflow-x:auto;padding:0}.sidebar a{border-radius:8px;color:var(--text);display:inline-block;padding:8px 10px;position:relative;transition:color .16s ease,background-color .16s ease}.sidebar a:hover{background:var(--bg-muted)}.sidebar a.active{background:#0000;color:var(--primary)}.sidebar a:after{background:color-mix(in srgb,var(--link) 70%,#0000);bottom:3px;content:"";height:2px;left:10px;position:absolute;right:10px;transform:scaleX(0);transform-origin:left center;transition:transform .2s ease,background-color .2s ease}.sidebar a.active:after,.sidebar a:focus-visible:after,.sidebar a:hover:after{transform:scaleX(1)}@keyframes sidebar-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}label{grid-gap:6px;color:var(--text);display:grid;font-weight:500;gap:6px}button,input,select{font:inherit}input,select{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;transition:border-color .15s ease,background-color .2s ease,color .2s ease,box-shadow .15s ease;width:100%}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,#0000);outline:none}select optgroup,select option{background:var(--card-bg);color:var(--text)}button{background:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 80%,#0000);border-radius:10px;color:#fff;cursor:pointer;padding:10px 14px;transition:transform .12s ease,box-shadow .18s ease,background-color .15s ease,opacity .15s ease}button:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-1px)}button:active{transform:translateY(0)}button[disabled]{cursor:not-allowed;opacity:.6}.muted{color:var(--text-muted)}.stack{grid-gap:12px;display:grid;gap:12px}.dropdown{position:relative}.dropdown-trigger{align-items:center;display:inline-flex;padding:8px 12px}.dropdown-menu,.dropdown-trigger{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text)}.dropdown-menu{box-shadow:var(--shadow);min-width:200px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:50}.dropdown-item{background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text);padding:8px 10px;text-align:left;width:100%}.dropdown-item:hover,.dropdown-item[aria-selected=true]{background:var(--bg-muted)}.dropdown-sep{background:var(--border);height:1px;margin:6px 0}.grid{grid-gap:12px;display:grid;gap:12px}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.view-panel{min-height:200px}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-slide{animation:fade-slide-in .32s ease-out}.tab-switch{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;display:inline-flex;gap:6px;padding:2px;position:relative}.tab-btn{background:#0000;border:0;border-radius:8px;color:var(--text);min-width:120px;padding:8px 12px;position:relative;text-align:center;z-index:1}.tab-btn:hover{background:color-mix(in srgb,var(--primary) 8%,#0000)}.tab-btn.is-active{color:var(--primary)}.tab-underline{background:color-mix(in srgb,var(--primary) 16%,#0000);border-radius:8px;bottom:2px;position:absolute;top:2px;transition:transform .28s ease-out,background-color .18s ease-out;width:calc(50% - 2px);z-index:0}.tab-underline.calendar{transform:translateX(2px)}.tab-underline.timetable{transform:translateX(calc(100% + 2px))}.stat-card h4{color:var(--text-muted);font-weight:600;margin:0 0 6px}.stat-card .stat-value{font-size:28px;font-weight:700}.dashboard-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 360px}@media (max-width:980px){.dashboard-layout{grid-template-columns:1fr}}.dashboard-main{grid-gap:16px;display:grid;gap:16px}.dash-header{align-items:center;display:flex;justify-content:space-between}.dash-title{margin:0}.dash-tabs{align-items:center;display:flex;gap:12px}.dash-tab{color:var(--text);padding:6px 4px;position:relative}.dash-tab.is-active{color:var(--primary)}.dash-tab.is-active:after{background:var(--primary);border-radius:2px;bottom:-4px;content:"";height:2px;left:0;position:absolute;right:0}.dash-manage{color:var(--text-muted);margin-left:6px}.dash-kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi{grid-gap:6px;display:grid;gap:6px}.kpi .kpi-label{color:var(--text-muted);font-weight:600}.kpi .kpi-value{font-size:28px;font-weight:800}.kpi.ok{background:color-mix(in srgb,var(--success) 8%,#0000);border-color:color-mix(in srgb,var(--success) 32%,#0000)}.kpi.warn{background:color-mix(in srgb,var(--warning) 10%,#0000);border-color:color-mix(in srgb,var(--warning) 34%,#0000)}.feature{grid-gap:8px;align-content:start;background:color-mix(in srgb,var(--primary) 8%,#0000);border-color:color-mix(in srgb,var(--primary) 30%,#0000);display:grid;gap:8px}.feature-title{font-weight:800}.feature-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-ghost-sm{background:#0000;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:12px;padding:6px 10px}.quick{grid-gap:8px;align-content:start;background:color-mix(in srgb,var(--secondary) 8%,#0000);border-color:color-mix(in srgb,var(--secondary) 28%,#0000);display:grid;gap:8px}.dash-section{grid-gap:10px;display:grid;gap:10px}.dash-section-head{align-items:center;display:flex;justify-content:space-between}.dash-checkall{color:var(--link)}.dash-bookings{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.booking{grid-gap:6px;display:grid;gap:6px}.booking-title{font-weight:700}.booking-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;font-size:12px;padding:2px 6px}.tag.prio-p1{background:color-mix(in srgb,var(--priority-1) 12%,#0000);border-color:color-mix(in srgb,var(--priority-1) 35%,#0000)}.tag.prio-p2{background:color-mix(in srgb,var(--priority-2) 12%,#0000);border-color:color-mix(in srgb,var(--priority-2) 35%,#0000)}.tag.prio-p3{background:color-mix(in srgb,var(--priority-3) 12%,#0000);border-color:color-mix(in srgb,var(--priority-3) 35%,#0000)}.tag.prio-p4{background:color-mix(in srgb,var(--priority-4) 12%,#0000);border-color:color-mix(in srgb,var(--priority-4) 35%,#0000)}.tag.prio-p5{background:color-mix(in srgb,var(--priority-5) 12%,#0000);border-color:color-mix(in srgb,var(--priority-5) 35%,#0000)}.dashboard-aside{position:-webkit-sticky;position:sticky;top:calc(var(--sticky-offset) + 8px);z-index:0}@media (max-width:900px){.dashboard-aside{z-index:-1}}.profile-row{align-items:center;display:flex;gap:10px}.avatar{background:color-mix(in srgb,var(--primary) 15%,#0000);border:1px solid var(--border);border-radius:999px;height:44px;width:44px}.profile-name{font-weight:700}.profile-role{font-size:12px}.agenda-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.agenda-title{font-weight:700}.agenda-list{grid-gap:8px;display:grid;gap:8px}.agenda-item{grid-gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;grid-template-columns:96px 1fr;padding:8px}.agenda-time{color:var(--text-muted)}.agenda-name,.agenda-time{font-weight:600}.agenda-p1{background:color-mix(in srgb,var(--priority-1) 25%,#0000);border-color:color-mix(in srgb,var(--priority-1) 40%,#0000)}.agenda-p2{background:color-mix(in srgb,var(--priority-2) 25%,#0000);border-color:color-mix(in srgb,var(--priority-2) 40%,#0000)}.agenda-p3{background:color-mix(in srgb,var(--priority-3) 25%,#0000);border-color:color-mix(in srgb,var(--priority-3) 40%,#0000)}.agenda-p4{background:color-mix(in srgb,var(--priority-4) 25%,#0000);border-color:color-mix(in srgb,var(--priority-4) 45%,#0000)}.agenda-p5{background:color-mix(in srgb,var(--priority-5) 25%,#0000);border-color:color-mix(in srgb,var(--priority-5) 45%,#0000)}.interactive{cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,background-color .18s ease,border-color .18s ease}.interactive:hover{box-shadow:0 10px 24px #0000001f;transform:translateY(-2px)}.interactive:active{transform:translateY(0)}.expandable .details{max-height:0;overflow:hidden;transition:max-height .24s ease}.expandable.is-expanded .details{max-height:420px}.expandable.is-expanded{transform:translateY(0)}.list-plain{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:0}@media (prefers-reduced-motion:reduce){.expandable .details,.interactive{transition:none}}.calendar{border:1px solid var(--calendar-border);border-radius:12px;font-size:14px;overflow:hidden}.calendar-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head{border-bottom:1px solid var(--calendar-border)}.calendar-cell{text-align:left}.calendar-weekday{background:var(--calendar-head-bg);border-right:1px solid var(--calendar-border);color:var(--text-muted);font-weight:600;padding:10px 12px}.calendar-weekday:last-child{border-right:0}.calendar-day{grid-gap:6px;background:var(--bg);border-bottom:1px solid var(--calendar-border);border-radius:0;border-right:1px solid var(--calendar-border);color:var(--text);display:grid;gap:6px;grid-template-rows:auto 1fr;min-height:130px;padding:14px;transition:background-color .15s ease,border-color .15s ease}.calendar-day:hover{background:var(--bg-muted)}.calendar-day.is-out{opacity:.6}.calendar-day.is-weekend{background:var(--calendar-weekend-bg)}.calendar-day.is-today{outline:1.5px solid color-mix(in srgb,var(--primary) 35%,#0000)}.calendar-day.is-selected{outline:1.5px solid color-mix(in srgb,var(--primary) 45%,#0000)}.calendar .calendar-daynum{font-size:13px;justify-self:end}.calendar .calendar-day.is-out .calendar-daynum{opacity:.55}.calendar .calendar-day.is-selected .calendar-daynum{color:var(--primary)}.calendar-daynum{color:var(--calendar-daynum-color);font-weight:600}.calendar-events{grid-gap:6px;align-content:start;display:grid;gap:6px}.events-summary{display:none}.due-badge{background:#ef4444;border-radius:999px;box-shadow:0 2px 6px #00000026;color:#fff;font-size:12px;font-weight:700;justify-self:end;padding:4px 10px}.calendar .calendar-pill{grid-gap:2px;background:var(--bg-muted);border:1px solid #0000;border-radius:8px;box-shadow:none;display:grid;font-size:12px;gap:2px;padding:8px 10px}.calendar .calendar-pill .event-time{font-size:13px;font-weight:800;opacity:.95}.calendar .calendar-pill .event-title{font-size:13px;font-weight:600}.calendar .calendar-pill.is-done{background:color-mix(in srgb,var(--success) 14%,#0000);border-left-color:var(--success);opacity:.7}.calendar .deadline-pill{background:color-mix(in srgb,var(--error) 16%,#0000);border-left-color:var(--error)}.calendar .priority-p1{background:color-mix(in srgb,var(--priority-1) 14%,#0000);border-left-color:var(--priority-1)}.calendar .priority-p2{background:color-mix(in srgb,var(--priority-2) 14%,#0000);border-left-color:var(--priority-2)}.calendar .priority-p3{background:color-mix(in srgb,var(--priority-3) 14%,#0000);border-left-color:var(--priority-3)}.calendar .priority-p4{background:color-mix(in srgb,var(--priority-4) 14%,#0000);border-left-color:var(--priority-4)}.calendar .priority-p5{background:color-mix(in srgb,var(--priority-5) 14%,#0000);border-left-color:var(--priority-5)}.calendar .calendar-weekday.is-weekend{background:color-mix(in srgb,var(--calendar-head-bg) 70%,var(--calendar-weekend-bg) 30%)}.calendar .calendar-pill:hover{box-shadow:0 4px 12px #0000001a}.calendar-pill{align-items:center;background:#0000;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;font-size:12px;gap:6px;justify-content:space-between;padding:4px 8px}.calendar-pill.is-done{background:color-mix(in srgb,var(--success) 18%,#0000);border-color:color-mix(in srgb,var(--success) 60%,#0000);opacity:.6}.deadline-pill{background:color-mix(in srgb,var(--error) 10%,#0000);border-color:color-mix(in srgb,var(--error) 50%,#0000)}.timetable-grid{grid-column-gap:8px;grid-row-gap:0;column-gap:8px;display:grid;grid-auto-rows:var(--hour-height);grid-template-columns:80px repeat(7,minmax(0,1fr));row-gap:0}.timetable-grid--day{column-gap:8px;grid-template-columns:80px 1fr;row-gap:0}.hour-range{grid-gap:6px;display:grid;gap:6px}.hour-range-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.hour-range-bar{background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;cursor:pointer;height:16px;overflow:hidden;position:relative;width:min(520px,100%)}.hour-range-bar .hour-seg{background:#0000;bottom:0;position:absolute;top:0;transition:background-color .14s ease,box-shadow .14s ease;width:4.16667%}.hour-range-bar .hour-fill,.hour-range-bar .hour-seg.is-selected{background:color-mix(in srgb,var(--primary) 30%,#0000)}.hour-range-bar .hour-fill{bottom:0;position:absolute;top:0;transition:left .18s cubic-bezier(.2,.8,.2,1),width .18s cubic-bezier(.2,.8,.2,1)}.hour-range input[type=number]{width:72px}.timetable-cell{transition:background-color .16s ease,outline-color .16s ease}.timetable-cell.is-dragover{background:color-mix(in srgb,var(--primary) 10%,#0000);outline:2px dashed var(--primary)}.calendar-pill{transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,opacity .16s ease}.calendar-pill.is-dragging{box-shadow:0 10px 20px #00000026;opacity:.9;transform:scale(1.03)}.timetable-head{font-weight:600}.timetable-hour{align-items:flex-start;color:var(--text-muted);display:flex;font-size:13px;font-weight:600;justify-content:flex-end;line-height:1;padding-right:8px;padding-top:2px;position:relative}.timetable-cell{border:0;display:block;overflow:hidden;padding:0 6px;position:relative}.priority-p1{background:color-mix(in srgb,var(--priority-1) 10%,#0000);border-color:color-mix(in srgb,var(--priority-1) 40%,#0000)}.priority-p2{background:color-mix(in srgb,var(--priority-2) 10%,#0000);border-color:color-mix(in srgb,var(--priority-2) 40%,#0000)}.priority-p3{background:color-mix(in srgb,var(--priority-3) 10%,#0000);border-color:color-mix(in srgb,var(--priority-3) 40%,#0000)}.priority-p4{background:color-mix(in srgb,var(--priority-4) 10%,#0000);border-color:color-mix(in srgb,var(--priority-4) 45%,#0000)}.priority-p5{background:color-mix(in srgb,var(--priority-5) 10%,#0000);border-color:color-mix(in srgb,var(--priority-5) 45%,#0000)}.priority-low{background:color-mix(in srgb,var(--priority-2) 10%,#0000);border-color:color-mix(in srgb,var(--priority-2) 40%,#0000)}.priority-medium{background:color-mix(in srgb,var(--priority-3) 10%,#0000);border-color:color-mix(in srgb,var(--priority-3) 40%,#0000)}.priority-high{background:color-mix(in srgb,var(--priority-4) 10%,#0000);border-color:color-mix(in srgb,var(--priority-4) 45%,#0000)}.prio-dot{border-radius:2px;display:inline-block;height:8px;width:8px}.priority-p1 .prio-dot{background:var(--priority-1)}.priority-p2 .prio-dot{background:var(--priority-2)}.priority-p3 .prio-dot{background:var(--priority-3)}.priority-p4 .prio-dot{background:var(--priority-4)}.priority-p5 .prio-dot{background:var(--priority-5)}.priority-low .prio-dot{background:var(--priority-2)}.priority-medium .prio-dot{background:var(--priority-3)}.priority-high .prio-dot{background:var(--priority-4)}.calendar-pill input[type=checkbox]{transform:scale(.9)}.calendar-weekday.is-weekend{color:var(--text)}.calendar-day.is-weekend{background:var(--weekend-bg)}.timetable-head.is-weekend{color:var(--warning)}.timetable-cell.is-weekend{background:#0000}.timetable-hour:before{background:var(--border);content:"";height:1px;left:0;position:absolute;right:0;top:0}.timetable-grid--day .timetable-hour:before{display:none}.timetable-day-overlay{background-image:repeating-linear-gradient(to bottom,var(--border) 0,var(--border) 1px,#0000 1px,#0000 var(--hour-height)),repeating-linear-gradient(to bottom,#0000 0,#0000 calc(var(--hour-height)/2 - .5px),color-mix(in srgb,var(--border) 60%,#0000) calc(var(--hour-height)/2 - .5px),color-mix(in srgb,var(--border) 60%,#0000) calc(var(--hour-height)/2),#0000 calc(var(--hour-height)/2),#0000 var(--hour-height));background-origin:content-box;background-repeat:repeat,repeat;border-left:1px solid var(--border);height:100%;padding-left:6px;padding-right:6px;position:relative}.overlay-selection{background:color-mix(in srgb,var(--primary) 8%,#0000);border-radius:8px;left:2px;outline:1.5px dashed color-mix(in srgb,var(--primary) 30%,#0000);pointer-events:none;position:absolute;right:2px}.has-tip{position:relative}.has-tip:after{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;bottom:100%;box-shadow:var(--shadow);color:var(--text);content:attr(data-tooltip);left:50%;opacity:0;padding:6px 8px;pointer-events:none;position:absolute;transform:translate(-50%,-6px);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}.has-tip:hover:after{opacity:1;transform:translate(-50%,-10px)}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.timetable{overflow-x:auto}.timetable-hour{background:var(--card-bg);left:0;position:-webkit-sticky;position:sticky;z-index:1}.timetable-day-overlay{background-color:initial;background-image:none}.timetable-grid--day .timetable-hour:before{display:block}.now-line{border-top:2px solid var(--time-line);height:0;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.now-band{background:#0000;border-radius:10px;outline:2px solid var(--time-outline);z-index:1}.now-band,.selected-range-band{left:2px;pointer-events:none;position:absolute;right:2px}.selected-range-band{background:var(--range-band-bg);border-radius:12px;bottom:0;outline:1px solid var(--calendar-border);top:0;z-index:0}.timetable-day-overlay .calendar-pill{z-index:2}.schedule-layout{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:260px minmax(0,1fr)}@media (max-width:900px){.schedule-layout{grid-template-columns:1fr}}.schedule-aside{position:-webkit-sticky;position:sticky;top:calc(var(--sticky-offset) + 8px);z-index:0}@media (max-width:900px){.schedule-aside{z-index:-1}}.mini-calendar{padding:12px;z-index:0}.mini-cal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.mini-cal-title{font-weight:700}.btn-ghost{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:4px 8px}.mini-cal-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.mini-cal-weekday{color:var(--text-muted);font-size:11px;text-align:center}.mini-cal-cell{border:1px solid #0000;border-radius:8px;font-size:12px;padding:6px 0;text-align:center}.mini-cal-cell.is-out{opacity:.5}.mini-cal-cell.is-today{border-color:var(--primary)}.mini-legend{grid-gap:6px;display:grid;gap:6px}.mini-legend-row{align-items:center;display:flex;gap:8px}.legend-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.legend-p1{background:var(--priority-1)}.legend-p2{background:var(--priority-2)}.legend-p3{background:var(--priority-3)}.legend-p4{background:var(--priority-4)}.legend-p5{background:var(--priority-5)}.timetable-head{font-weight:700;text-align:center}.timetable-head .big-num{font-weight:800}.timetable-head .big-meta{color:var(--text-muted)}.timetable-day-overlay:first-child{border-left:0}.timetable-day-overlay .timeband{background:color-mix(in srgb,var(--bg-muted) 60%,#0000);left:0;position:absolute;right:0}.timetable-day-overlay .timeband.is-alt{background:color-mix(in srgb,var(--bg-muted) 30%,#0000)}.timetable-day-overlay .timeband-divider{background:var(--border);height:1px;left:0;position:absolute;right:0}@media (max-width:640px){.calendar-events .events-detailed{display:none}.calendar-events .events-summary{display:flex;flex-wrap:wrap;gap:6px}}.modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000059;display:grid;inset:0;place-items:center;position:fixed;z-index:1000}.modal{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:16px;width:min(560px,calc(100% - 32px))}.badge{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;gap:6px;padding:6px 10px}.badge-white{background:#fff;border-color:var(--border);color:var(--text)}.badge-blue{background:#3b82f6;border-color:#3b82f6;color:#fff}.badge-red{background:#ef4444;border-color:#ef4444;color:#fff}.badge-yellow{background:#f59e0b;border-color:#f59e0b;color:#111827}.badge-green{background:#22c55e;border-color:#22c55e;color:#fff}.badge-purple{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.badge-teal{background:#14b8a6;border-color:#14b8a6;color:#fff}.badge-pink{background:#ec4899;border-color:#ec4899;color:#fff}.badge-gray{background:#9ca3af;border-color:#9ca3af;color:#111827}.badge-orange{background:#f97316;border-color:#f97316;color:#111827}.dot{border:1px solid var(--border);border-radius:999px;display:inline-block;height:10px;width:10px}.dot-white{background:#fff}.dot-blue{background:#3b82f6;border-color:#3b82f6}.dot-red{background:#ef4444;border-color:#ef4444}.dot-yellow{background:#f59e0b;border-color:#f59e0b}.dot-green{background:#22c55e;border-color:#22c55e}.dot-purple{background:#8b5cf6;border-color:#8b5cf6}.dot-teal{background:#14b8a6;border-color:#14b8a6}.dot-pink{background:#ec4899;border-color:#ec4899}.dot-gray{background:#9ca3af;border-color:#9ca3af}.dot-orange{background:#f97316;border-color:#f97316}.todo-item{text-align:left}.todo-list{grid-gap:8px;gap:8px;justify-items:stretch;list-style:none;margin:0;padding:0}.todo-list,.todo-row{display:grid;width:100%}.todo-row{grid-column-gap:10px;align-items:center;column-gap:10px;grid-template-columns:22px 14px minmax(0,1fr) -webkit-max-content;grid-template-columns:22px 14px minmax(0,1fr) max-content;min-height:42px}.todo-row input[type=checkbox]{height:16px;justify-self:start;width:16px}.todo-text{justify-self:start;word-break:break-word}.todo-action{justify-self:end;min-width:96px}.task-list{grid-gap:8px;gap:8px;justify-items:stretch;list-style:none;margin:0;padding:0}.task-list,.task-row{display:grid;width:100%}.task-row{grid-column-gap:10px;align-items:center;column-gap:10px;grid-template-columns:22px minmax(0,1fr) -webkit-max-content;grid-template-columns:22px minmax(0,1fr) max-content;min-height:42px}.task-row input[type=checkbox]{height:16px;justify-self:start;width:16px}.task-text{justify-self:start;text-align:left;word-break:break-word}.task-action{justify-self:end;min-width:96px}.swatch{border:2px solid #0000;border-radius:999px;display:inline-block;height:28px;transition:transform .12s ease,box-shadow .18s ease;width:28px}.swatch[aria-pressed=true]{outline:2px solid var(--primary)}.swatch-white{background:#fff;border-color:var(--border)}.swatch-blue{background:#3b82f6}.swatch-red{background:#ef4444}.swatch-yellow{background:#f59e0b}.swatch-green{background:#22c55e}.swatch-purple{background:#8b5cf6}.swatch-teal{background:#14b8a6}.swatch-pink{background:#ec4899}.swatch-gray{background:#9ca3af}.swatch-orange{background:#f97316}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.app-shell{display:grid;grid-template-areas:"head head" "side main";grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.app-header{grid-area:head}.app-sidebar{grid-gap:8px;align-content:start;align-self:start;animation:slide-in-left .36s ease-out;background:var(--card-bg);border-right:1px solid var(--border);display:grid;gap:8px;grid-area:side;height:calc(100vh - var(--header-height));padding:12px 10px;position:-webkit-sticky;position:sticky;top:var(--header-height)}.app-main{grid-area:main;padding:16px}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.app-nav{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:0}.app-nav a{grid-gap:10px;align-items:center;border:1px solid #0000;border-radius:10px;color:var(--text);display:grid;gap:10px;grid-template-columns:22px 1fr;padding:10px 12px;transition:background-color .16s ease-out,color .16s ease-out,transform .12s ease-out,border-color .16s ease-out}.app-nav a,.app-nav a:focus,.app-nav a:hover{text-decoration:none}.app-nav a:hover{background:var(--bg-muted);transform:translateX(2px)}.app-nav a.active{background:color-mix(in srgb,var(--primary) 10%,#0000);border-color:color-mix(in srgb,var(--primary) 28%,#0000);color:var(--primary)}.app-nav .nav-ico{color:currentColor;opacity:.85}.sidebar-collapsed .app-shell{grid-template-columns:72px 1fr}.sidebar-collapsed .app-sidebar{padding:12px 6px}.sidebar-collapsed .app-nav a{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-collapsed .app-nav a span{display:none}.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar-toggle{background:#0000;border:1px solid var(--border);border-radius:10px;color:var(--text);display:inline-grid;font-size:14px;height:28px;justify-self:center;line-height:1;margin-bottom:8px;padding:0;place-items:center;transition:transform .18s ease-out,background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out;width:28px}.sidebar-toggle:hover{background:var(--bg-muted)}.sidebar-collapsed .app-nav a{position:relative}.sidebar-collapsed .app-nav a:after{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);color:var(--text);content:attr(aria-label);left:calc(100% + 10px);opacity:0;padding:6px 8px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) translateX(4px);transition:opacity .2s ease-out,transform .2s ease-out;white-space:nowrap}.sidebar-collapsed .app-nav a:hover:after{opacity:1;transform:translateY(-50%) translateX(0)}.theme-selector-group{display:flex;gap:12px;margin-top:8px}.theme-selector-button{align-items:center;background:var(--bg-muted);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:16px;font-weight:600;justify-content:center;padding:16px;transition:all .18s ease}.theme-selector-button:hover{background:var(--bg);border-color:var(--primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.theme-selector-button.active{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 40%,#0000);color:#fff}.theme-selector-button.active:hover{transform:translateY(-1px)}.theme-selector-button span{font-size:32px;margin-bottom:8px}
/*# sourceMappingURL=main.818b2fce.css.map*/