/*!
 * EventCalendar v5.13.1
 * https://github.com/vkurko/calendar
 */
.ec{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ec-color-400:oklch(70.8% 0 0);--ec-color-300:oklch(87% 0 0);--ec-color-200:oklch(92.2% 0 0);--ec-color-100:oklch(97% 0 0);--ec-color-50:oklch(98.5% 0 0);--ec-bg-color:#fff;--ec-text-color:currentcolor;--ec-border-color:var(--ec-color-300);--ec-button-bg-color:var(--ec-bg-color);--ec-button-border-color:var(--ec-border-color);--ec-button-text-color:var(--ec-text-color);--ec-button-active-bg-color:var(--ec-color-200);--ec-button-active-border-color:var(--ec-color-400);--ec-button-active-text-color:var(--ec-button-text-color);--ec-today-bg-color:oklch(98.7% .026 102.212);--ec-highlight-color:oklch(98.4% .019 200.873);--ec-event-bg-color:oklch(70.7% .165 254.624);--ec-event-text-color:#fff;--ec-bg-event-color:var(--ec-color-300);--ec-bg-event-opacity:.3;--ec-event-col-gap:.375rem;--ec-now-indicator-color:oklch(63.7% .237 25.331);--ec-popup-bg-color:var(--ec-bg-color)}.ec-dark .ec{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ec-color-400:oklch(43.9% 0 0);--ec-color-300:oklch(37.1% 0 0);--ec-color-200:oklch(26.9% 0 0);--ec-color-100:oklch(20.5% 0 0);--ec-color-50:oklch(14.5% 0 0);--ec-bg-color:var(--ec-color-100);--ec-today-bg-color:oklch(28.6% .066 53.813);--ec-highlight-color:oklch(30.2% .056 229.695);--ec-bg-event-opacity:.5}@media (prefers-color-scheme:dark){.ec-auto-dark .ec{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ec-color-400:oklch(43.9% 0 0);--ec-color-300:oklch(37.1% 0 0);--ec-color-200:oklch(26.9% 0 0);--ec-color-100:oklch(20.5% 0 0);--ec-color-50:oklch(14.5% 0 0);--ec-bg-color:var(--ec-color-100);--ec-today-bg-color:oklch(28.6% .066 53.813);--ec-highlight-color:oklch(30.2% .056 229.695);--ec-bg-event-opacity:.5}}.ec-day{--ec-day-bg-color:var(--ec-bg-color);background-color:var(--ec-day-bg-color);border:1px solid var(--ec-border-color);border-block-start:none;border-inline-start:none}.ec-day.ec-today{--ec-day-bg-color:var(--ec-today-bg-color)}.ec-day.ec-highlight{--ec-day-bg-color:var(--ec-highlight-color)}.ec-time-grid .ec-body .ec-day{background-image:linear-gradient(to top, var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px), linear-gradient(to right, var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, 100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)), 2px 100%, 100% var(--ec-slot-height)}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day{--ec-last-line-color:transparent;--ec-direction:to left}[dir=rtl] :is(.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day){--ec-direction:to right}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day{background-image:linear-gradient(var(--ec-direction), var(--ec-last-line-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px), linear-gradient(var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%, 100% 2px, var(--ec-slot-width) 100%;border-inline:none}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day.ec-no-ieb{--ec-last-line-color:var(--ec-day-bg-color)}.ec-day-grid .ec-day{flex-direction:column;justify-content:space-between;min-block-size:5em;display:flex}.ec-day-grid .ec-uniform .ec-day{min-block-size:auto}.ec-list .ec-day{border-inline:none}.ec-list .ec-day:last-child{border:none}.ec-day.ec-no-ieb{border-inline-end:none}.ec-day.ec-no-beb{border-block-end:none}.ec-day-head{flex-direction:row-reverse;justify-content:space-between;display:flex}.ec-day-grid.ec-month-view .ec-day-head{padding:.375rem}.ec-day.ec-other-month .ec-day-head time{opacity:.3}.ec-list .ec-day-head{background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);flex-direction:unset;z-index:2;margin:0 0 -1px;padding:.5em 1.5em;position:sticky;inset-block-start:0}.ec-day-foot{padding:.18rem;font-size:.85em}.ec-day-foot a{cursor:pointer}.ec-disabled{position:relative}.ec-disabled:after{content:"";background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);position:absolute;inset:0}.ec-toolbar{justify-content:space-between;align-items:center;margin-block-end:1em;display:flex}.ec-toolbar>*{flex-wrap:wrap;gap:.5rem .75rem;display:inline-flex}.ec-title{margin:0}.ec-button{background-color:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);border-radius:.25rem;padding:.375rem .75rem;font-size:1rem;line-height:1.5}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button:not(:disabled):hover,.ec-button.ec-active{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.ec-button-group{vertical-align:top;display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.ec-button-group .ec-button:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.ec-icon{inline-size:1em;display:inline-block}.ec-icon.ec-prev:after,.ec-icon.ec-next:after{content:"";border-block-start:2px solid;border-inline-end:2px solid;block-size:.5em;inline-size:.5em;display:inline-block;position:relative}.ec-icon.ec-prev:after{inset-inline-start:3px;rotate:-135deg}[dir=rtl] .ec-icon.ec-prev:after{rotate:135deg}.ec-icon.ec-next:after{inset-inline-start:-3px;rotate:45deg}[dir=rtl] .ec-icon.ec-next:after{rotate:-45deg}.ec-sidebar{z-index:1;background-color:var(--ec-bg-color);border-inline-end:1px solid var(--ec-border-color);text-align:end;position:sticky;inset-inline-start:0;overflow:clip}.ec-header .ec-sidebar{border-block-end:1px solid var(--ec-border-color);padding-block:.375rem}.ec-time-grid .ec-sidebar{padding-inline:.75rem}.ec-time-grid .ec-body .ec-sidebar{--ec-direction:to left}[dir=rtl] :is(.ec-time-grid .ec-body .ec-sidebar){--ec-direction:to right}.ec-time-grid .ec-body .ec-sidebar{background-image:linear-gradient(var(--ec-direction), transparent .375rem, var(--ec-bg-color) .375rem), linear-gradient(to top, var(--ec-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px), linear-gradient(to right, var(--ec-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, 100% 100%, 100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)), 2px 100%, 100% var(--ec-slot-height)}.ec-timeline .ec-body .ec-sidebar{grid-area:1/1/-1/2;grid-template-rows:subgrid;display:grid}.ec-row-head{border-block-end:1px solid var(--ec-border-color);min-block-size:1.5em;padding:.375em .75rem;display:flex}.ec-row-head:last-child{border:none}.ec-expander{inline-size:1.25em;margin-block-start:-1px;margin-inline-end:.25em}.ec-expander .ec-button{aspect-ratio:1;block-size:1.25em;padding:0;line-height:normal}.ec-slot{white-space:nowrap}.ec-time-grid .ec-slot{block-size:calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity));position:relative;inset-block-start:-.5lh}.ec-timeline .ec-slot{grid-column:span var(--ec-slot-label-periodicity);text-overflow:ellipsis;padding:.18rem 0;font-size:.95em;overflow:clip}.ec-slots{grid-auto-flow:column;grid-auto-columns:var(--ec-slot-width);text-align:center;--ec-day-bg-color:var(--ec-bg-color);background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);display:grid}.ec-slots.ec-today{--ec-day-bg-color:var(--ec-today-bg-color)}.ec-slots.ec-highlight{--ec-day-bg-color:var(--ec-highlight-color)}.ec-slots{--ec-last-line-color:transparent;--ec-direction:to left}[dir=rtl] .ec-slots{--ec-direction:to right}.ec-slots{background-image:linear-gradient(var(--ec-direction), var(--ec-last-line-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%}.ec-slots:last-child{--ec-last-line-color:var(--ec-day-bg-color)}.ec-events{grid-area:1/2/-1/-1;grid-template:subgrid / subgrid;isolation:isolate;pointer-events:none;display:grid}.ec-day-grid .ec-events{grid-column-start:1}.ec-event{color:var(--ec-event-text-color);box-sizing:border-box;box-shadow:0 0 1px 0 var(--ec-border-color);background-color:var(--ec-event-bg-color);z-index:1;pointer-events:all;inline-size:calc(100% - var(--ec-event-col-gap));border-radius:3px;padding:2px;font-size:.85em;line-height:1.5;display:flex;position:relative}.ec-time-grid .ec-event{grid-row:1}.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event{block-size:max-content;margin-block-end:var(--ec-event-col-gap)}:is(.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event).ec-start-clipped{border-start-start-radius:0;border-start-end-radius:3px;border-end-end-radius:3px;border-end-start-radius:0}:is(.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event).ec-end-clipped{border-start-start-radius:3px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:3px}.ec-list .ec-event{color:inherit;background-color:var(--ec-day-bg-color);border-radius:0;flex-direction:row;padding:.5em 1.5em}.ec-event.ec-preview{z-index:1000;-webkit-user-select:none;user-select:none;opacity:.8}.ec-event.ec-pointer{color:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;box-shadow:none}.ec-event.ec-start-clipped{border-start-start-radius:0;border-start-end-radius:0}.ec-event.ec-end-clipped{border-end-end-radius:0;border-end-start-radius:0}.ec-event.ec-start-clipped.ec-end-clipped{border-radius:0}.ec-bg-event{background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);grid-row:1;position:relative}.ec-draggable{cursor:pointer;-webkit-user-select:none;user-select:none}.ec-ghost{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.ec-event-body{flex-direction:column;inline-size:100%;display:flex}.ec-day-grid .ec-event-body,.ec-all-day .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{border-radius:2px;inline-size:4px;margin-inline-end:8px}.ec-event-time{white-space:nowrap;flex-shrink:0;max-block-size:100%;margin:0 0 1px;overflow:hidden}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{text-overflow:ellipsis;max-inline-size:100%;margin:0 3px 0 0}.ec-event-title{font-weight:inherit;margin:0;overflow:hidden}.ec-time-grid .ec-event-title{position:sticky;inset-block-start:var(--ec-header-height)}.ec-day-grid .ec-event-title,.ec-all-day .ec-event-title,.ec-timeline .ec-event-title{white-space:nowrap;text-overflow:ellipsis;min-block-size:1.5em;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-list .ec-event-title{font-size:1rem}.ec-resizer{-webkit-user-select:none;user-select:none;position:absolute}.ec-time-grid .ec-body .ec-resizer{cursor:ns-resize;block-size:50%;max-block-size:8px;inset:auto 0 0}.ec-time-grid .ec-body .ec-resizer.ec-start{inset:0 0 auto}.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer{cursor:ew-resize;inline-size:50%;max-inline-size:8px;inset:0 0 0 auto}:is(.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer).ec-start{inset:0 auto 0 0}.ec-dragging,.ec-dragging *{cursor:pointer!important}.ec-resizing-y,.ec-resizing-y *{cursor:ns-resize!important}.ec-resizing-x,.ec-resizing-x *{cursor:ew-resize!important}.ec-no-events{text-align:center;background-color:var(--ec-bg-color);padding:5em 0}.ec-now-indicator{pointer-events:none;will-change:inset;grid-row:2;position:relative}.ec-time-grid .ec-now-indicator{border-block-start:var(--ec-now-indicator-color) solid 2px;block-size:0;inline-size:100%}.ec-timeline .ec-now-indicator{border-inline-start:var(--ec-now-indicator-color) solid 2px;inline-size:0}.ec-timeline .ec-now-indicator:before{z-index:2;inset-block-start:calc(var(--ec-header-height) - 6.5px)}.ec-now-indicator:before{background:var(--ec-now-indicator-color);content:"";block-size:12px;inline-size:12px;z-index:1;border-radius:50%;margin-block-start:-7px;margin-inline-start:-7px;display:block;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) - 6.5px)}.ec-popup{box-sizing:border-box;background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);block-size:max-content;min-block-size:8em;inline-size:125%;min-inline-size:12em;box-shadow:var(--ec-color-300) 0 10px 15px -3px, var(--ec-color-300) 0 4px 6px -4px;border-radius:.25rem;flex-direction:column;padding:.375rem .75rem .75rem;display:flex;position:relative}.ec-popup .ec-day-head{flex-direction:row;padding-inline:0}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{--ec-event-col-gap:0;pointer-events:auto;display:block;overflow-y:auto}.ec-custom-scrollbars .ec-main::-webkit-scrollbar{background-color:#0000}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb{box-shadow:none;background-color:var(--ec-border-color);background-clip:padding-box;border:4px solid #0000;border-radius:8px}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb:hover{background-color:var(--ec-color-400)}.ec{flex-direction:column;display:flex}.ec-main{border:1px solid var(--ec-border-color);display:grid;overflow:auto}.ec-time-grid .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols), var(--ec-col-width));grid-template-rows:repeat(2,max-content)}.ec-day-grid .ec-main{--ec-row-height:auto;grid-template-columns:repeat(var(--ec-grid-cols), minmax(0, 1fr));grid-template-rows:max-content repeat(var(--ec-grid-rows), var(--ec-row-height))}.ec-day-grid .ec-main.ec-uniform{--ec-row-height:minmax(0, 1fr);flex-grow:1;overflow:hidden}.ec-timeline .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols), var(--ec-col-width));grid-template-rows:max-content var(--ec-grid-rows);flex-grow:1}.ec-header{grid-area:1/1/2/-1;grid-template-columns:subgrid;z-index:2;display:grid;position:sticky;inset-block-start:0}.ec-grid{grid-area:1/1/-1/-1;grid-template-columns:subgrid;display:grid}.ec-body .ec-grid{grid-template-rows:subgrid}.ec-time-grid .ec-grid,.ec-timeline .ec-grid{grid-column-start:2}.ec-all-day{grid-area:2/1/auto/-1;grid-template-columns:subgrid;min-block-size:var(--ec-slot-height);display:grid}.ec-col-group{grid-column:span var(--ec-col-group-span)}.ec-col-group,.ec-col-head{text-align:center;background-color:var(--ec-bg-color);border:1px solid var(--ec-border-color);text-overflow:ellipsis;border-block-start:none;border-inline-start:none;padding:.375rem .18em;overflow:clip}:is(.ec-col-group,.ec-col-head).ec-today{background-color:var(--ec-today-bg-color)}:is(.ec-col-group,.ec-col-head).ec-highlight{background-color:var(--ec-highlight-color)}.ec-col-group:nth-last-child(1 of .ec-col-group),.ec-col-head:nth-last-child(1 of .ec-col-head){border-inline-end:none}.ec-col-group>*,.ec-timeline .ec-col-head>*{position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-body{grid-area:2/1/-1/-1;grid-template:subgrid / subgrid;display:grid}.ec-hidden{visibility:hidden}:root{--bg:#f6f9fa;--surface:#fff;--surface-2:#eff4f5;--surface-3:#e4ecee;--ink:#0f1d22;--ink-2:#44585f;--ink-3:#7b8f96;--line:#d9e3e6;--line-soft:#e8eff1;--accent:#0e7c7b;--accent-soft:#dff0ef;--accent-ink:#fff;--danger:#c1121f;--danger-soft:#fbe8e9;--warn:#af7014;--warn-soft:#fbf0dc;--ok:#2c7a4b;--ok-soft:#e1f1e7;--info:#3d6da8;--info-soft:#e4edf8;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f1d220d, 0 10px 30px -14px #0f1d2240;--font-sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--brand-teal:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1316;--surface:#131f23;--surface-2:#182629;--surface-3:#203035;--ink:#e9f1f3;--ink-2:#a8bcc2;--ink-3:#74888e;--line:#22343a;--line-soft:#1b2b30;--accent:#3eb6b1;--accent-soft:#13312f;--accent-ink:#08211f;--danger:#f27983;--danger-soft:#37191c;--warn:#d79b3c;--warn-soft:#33270f;--ok:#5cae7b;--ok-soft:#14281c;--info:#6e9dd6;--info-soft:#16232f;--shadow:0 1px 2px #0006, 0 12px 34px -16px #000c}}:root[data-theme=dark]{--bg:#0c1316;--surface:#131f23;--surface-2:#182629;--surface-3:#203035;--ink:#e9f1f3;--ink-2:#a8bcc2;--ink-3:#74888e;--line:#22343a;--line-soft:#1b2b30;--accent:#3eb6b1;--accent-soft:#13312f;--accent-ink:#08211f;--danger:#f27983;--danger-soft:#37191c;--warn:#d79b3c;--warn-soft:#33270f;--ok:#5cae7b;--ok-soft:#14281c;--info:#6e9dd6;--info-soft:#16232f;--shadow:0 1px 2px #0006, 0 12px 34px -16px #000c}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--accent);text-underline-offset:2px}.app{gap:0;height:100%;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;width:196px;padding:14px 10px 12px;transition:width .12s;display:flex}.app-skupljena .sidebar{width:60px;padding-left:9px;padding-right:9px}.sidebar-brand{align-items:center;gap:8px;padding:2px 8px 14px;display:flex}.app-skupljena .sidebar-brand{padding-left:4px;padding-right:4px}.sidebar-mark{flex-shrink:0;width:30px;height:30px;margin:-3px}.sidebar-name{letter-spacing:.02em;white-space:nowrap;font-size:15px;font-weight:700}.brand-nova{color:var(--brand-teal)}.app-skupljena .sidebar-name{display:none}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link,.sidebar-toggle{border-radius:var(--radius-sm);min-height:38px;color:var(--ink-2);white-space:nowrap;align-items:center;gap:10px;padding:0 10px;font-size:13px;text-decoration:none;display:flex}.app-skupljena .sidebar-link,.app-skupljena .sidebar-toggle{justify-content:center;padding:0}.sidebar-link:hover,.sidebar-toggle:hover{background:var(--surface-2);color:var(--ink)}.sidebar-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-icon{flex-shrink:0;display:inline-flex}.app-skupljena .sidebar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-3);font-family:inherit}.sidebar-jezik{min-height:38px;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;padding:0 10px;display:flex}.app-skupljena .sidebar-jezik{justify-content:center;padding:0}.sidebar-select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink-3);cursor:pointer;flex:1;padding:4px 6px;font-family:inherit;font-size:13px}.app-skupljena .sidebar-select{flex:none;width:34px;padding:4px 2px}.app-skupljena .sidebar-jezik .sidebar-icon{display:none}.sidebar-greska{color:var(--danger);flex-basis:100%;margin:0;padding-bottom:6px;font-size:12px;line-height:1.35}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:10px 20px;display:flex}.topbar-tools{flex-wrap:wrap;flex:1;align-items:center;gap:10px 16px;min-width:0;display:flex}.topbar-user{white-space:nowrap;flex-shrink:0;align-items:center;gap:16px;display:flex}.topbar h1{letter-spacing:-.01em;white-space:nowrap;text-transform:capitalize;margin:0;font-size:15px;font-weight:600}.topbar h1 span{color:var(--ink-3);font-weight:400}.spacer{flex:1}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.segmented button{appearance:none;color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:13px}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0f1d2214}.switch{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.switch input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.hint{color:var(--ink-3);border-left:2px solid var(--line);padding-left:12px;font-size:12px}.calendar-wrap{flex:1;min-height:0;padding:16px 20px 20px;overflow:auto}.ec{--ec-bg-color:var(--surface);--ec-text-color:var(--ink);--ec-border-color:var(--line);--ec-day-bg-color:var(--surface);--ec-today-bg-color:var(--accent-soft);--ec-highlight-color:var(--accent-soft);--ec-now-indicator-color:var(--danger);--ec-last-line-color:var(--line);--ec-popup-bg-color:var(--surface);--ec-button-bg-color:var(--surface);--ec-button-border-color:var(--line);--ec-button-text-color:var(--ink-2);--ec-button-active-bg-color:var(--accent);--ec-button-active-border-color:var(--accent);--ec-button-active-text-color:var(--accent-ink);--ec-event-bg-color:var(--accent);--ec-event-text-color:var(--accent-ink);--ec-slot-height:26px;--ec-sidebar-width:190px;font-family:var(--font-sans);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}.ec-mount{height:100%}.ec .ec-event{border-radius:var(--radius-sm);border:1px solid #0000;padding:0;font-size:12px;overflow:hidden}.appt{border-left:3px solid var(--appt-accent,var(--accent));background:var(--appt-bg,var(--accent-soft));height:100%;color:var(--appt-ink,var(--ink));flex-direction:column;gap:1px;padding:3px 6px;display:flex;overflow:hidden}.appt-top{align-items:baseline;gap:5px;min-width:0;display:flex}.appt-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.appt-chart{font-family:var(--font-mono);color:var(--ink-3);flex-shrink:0;font-size:10px}.appt-reason{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.appt-alert{color:var(--danger);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.appt-alert:before{content:"▲ "}.appt.is-void{opacity:.55}.appt.is-void .appt-name{text-decoration:line-through}.res{flex-direction:column;padding:2px 0;line-height:1.25;display:flex}.res-name{font-size:13px;font-weight:600}.res-sub{color:var(--ink-3);font-size:11px}.res-away{opacity:.55}.res-away .res-sub{font-style:italic}.appt.is-emergency{outline:1.5px solid var(--danger);outline-offset:-1.5px}.appt-urgent,.urgent-tag{letter-spacing:.04em;color:var(--danger);background:var(--danger-soft);border-radius:3px;flex:none;padding:0 3px;font-size:9.5px;font-weight:700}.urgent-tag{margin-right:5px}.waiting-row.urgent{border-left-color:var(--danger)}.field.check{flex-direction:row;align-items:start;gap:8px}.field.check input{width:auto;margin-top:2px}.field.check .field-hint{margin-top:2px;display:block}.toasts{z-index:50;flex-direction:column;gap:8px;max-width:380px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:10px 12px;animation:.18s ease-out toast-in}.toast-title{margin-bottom:2px;font-size:13px;font-weight:600}.toast-body{color:var(--ink-2);font-size:12px}.toast.ok{border-left-color:var(--ok)}.toast.ok .toast-title{color:var(--ok)}.toast.conflict{border-left-color:var(--danger)}.toast.conflict .toast-title{color:var(--danger)}.toast.info{border-left-color:var(--info)}.toast.info .toast-title{color:var(--info)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.legend{border-top:1px solid var(--line);background:var(--surface);color:var(--ink-2);flex-wrap:wrap;gap:14px;padding:10px 20px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-left:3px solid var(--sw-accent);background:var(--sw-bg);border-radius:3px;width:10px;height:10px}.ec .ec-bg-event.ec-closed{background:repeating-linear-gradient(-45deg, var(--line-soft) 0 6px, transparent 6px 12px);opacity:1}.appt-allergy{min-width:0;color:var(--danger);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:10px;font-weight:700;overflow:hidden}.appt-allergy:before{content:"⚠ "}.booting{height:100%;color:var(--ink-3);place-items:center;display:grid}.login-wrap{place-items:center;height:100%;padding:20px;display:grid}.login{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:340px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:24px;display:flex}.login h1{letter-spacing:-.02em;margin:0;font-size:22px}.login-sub{color:var(--ink-3);margin:-10px 0 4px;font-size:12px}.field{flex-direction:column;gap:5px;display:flex}.field span{color:var(--ink-2);font-size:12px;font-weight:500}.field input{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);padding:8px 10px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}.login-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px}button.primary,a.primary{font:inherit;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;padding:9px 14px;font-weight:600}a.primary{white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}button.primary:disabled{opacity:.5;cursor:default}button.linklike,a.linklike{appearance:none;color:var(--ink-2);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:4px;font-size:13px;text-decoration:underline}button.linklike:hover,a.linklike:hover{color:var(--accent)}button.linklike.link-danger{color:var(--danger)}button.linklike.centered{text-align:center}.whoami{flex-direction:column;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.whoami-roles{color:var(--ink-3);font-size:11px;font-weight:400}.brand-logo{margin:-4px 0 2px -6px;display:block}.brand-logo img{width:220px;height:auto;display:block}.brand-logo-dark{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-light{display:none!important}:root:not([data-theme=light]) .brand-logo-dark{display:block!important}}:root[data-theme=dark] .brand-logo-light{display:none!important}:root[data-theme=dark] .brand-logo-dark{display:block!important}.banner{border-bottom:1px solid var(--line);padding:9px 20px;font-size:12.5px}.banner code{font-family:var(--font-mono);background:#7f7f7f24;border-radius:4px;padding:1px 4px;font-size:11.5px}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.danger{background:var(--danger-soft);color:var(--danger)}.date-jump{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);padding:5px 8px;font-size:13px}.modal-backdrop{z-index:100;background:#0f1d2273;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;max-height:90vh;box-shadow:var(--shadow);overflow:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.modal-note{color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);margin:0;padding:7px 10px;font-size:13px}.modal-hint{color:var(--ink-3);margin:-6px 0 0;font-size:11.5px;line-height:1.4}.warn-hint{color:var(--warn)}.field-hint{color:var(--ink-3);font-size:11px}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.field select{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);padding:8px 10px}.field.inline{flex-direction:row;align-items:center;gap:8px}.topbar .field select{padding:5px 8px;font-size:13px}button.danger{font:inherit;border-radius:var(--radius-sm);background:var(--danger);color:#fff;cursor:pointer;border:0;padding:9px 14px;font-weight:600}button.danger-outline{font:inherit;border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);cursor:pointer;background:0 0;padding:8px 14px;font-weight:600}button.danger-outline:hover{background:var(--danger-soft)}button.danger:disabled,button.primary:disabled{opacity:.5;cursor:default}.chosen{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.chosen code{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.results{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;max-height:210px;display:flex;overflow:auto}.results-empty{color:var(--ink-3);padding:10px;font-size:12px}.result{text-align:left;width:100%;font:inherit;border:0;border-bottom:1px solid var(--line-soft);color:var(--ink);cursor:pointer;background:0 0;align-items:baseline;gap:8px;padding:8px 10px;font-size:13px;display:flex}.result:last-child{border-bottom:0}.result:hover{background:var(--surface-2)}.result-name{font-weight:500}.result-chart{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.result-alert{color:var(--danger);margin-left:auto;font-size:11px;font-weight:600}.work{flex:1;align-items:stretch;min-height:0;display:flex}.work .calendar-wrap{flex:1;min-width:0}.waiting{border-left:1px solid var(--line);background:var(--surface);flex-shrink:0;width:250px;padding:14px 14px 18px;overflow:auto}.waiting-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.waiting-head.secondary{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:14px}.waiting-head h2{letter-spacing:.01em;margin:0;font-size:13px;font-weight:600}.waiting-count{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.waiting-empty{color:var(--ink-3);margin:0;font-size:12px}.waiting-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.waiting-row{text-align:left;width:100%;font:inherit;border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);cursor:pointer;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 9px;display:grid}.waiting-row:hover{background:var(--surface-3)}.waiting-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.waiting-min{font-family:var(--font-mono);font-size:12px;font-weight:600}.waiting-sub{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:11px;overflow:hidden}.waiting-row.ok{border-left-color:var(--ok)}.waiting-row.ok .waiting-min{color:var(--ok)}.waiting-row.warn{border-left-color:var(--warn);background:var(--warn-soft)}.waiting-row.warn .waiting-min{color:var(--warn)}.waiting-row.late{border-left-color:var(--danger);background:var(--danger-soft)}.waiting-row.late .waiting-min{color:var(--danger)}.waiting-row.seated{border-left-color:var(--accent);background:var(--accent-soft)}.stamps{background:var(--surface-2);border-radius:var(--radius-sm);gap:2px;padding:8px 10px;display:grid}.stamp{color:var(--ink-3);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.stamp.done{color:var(--ink)}.stamp-dot{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:7px;height:7px}.stamp.done .stamp-dot{background:var(--accent);border-color:var(--accent)}.stamp-time{font-family:var(--font-mono);font-size:11px}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions button{flex:auto;min-width:120px}.cancel-form{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.patients{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px 24px;display:flex;overflow:auto}.patients-search{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.patients-search input{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink);flex:260px;padding:8px 10px}.patients-search input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.patients-hint{color:var(--ink-3);margin:0;font-size:13px}.scrolls{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:9px 14px}table.grid th{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;background:var(--surface-2);font-size:11.5px;font-weight:600;position:sticky;top:0}table.grid tbody tr:last-child td{border-bottom:0}table.grid tbody tr:hover{background:var(--surface-2)}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.grid td.num.due{color:var(--danger);font-weight:600}table.grid td.empty{color:var(--ink-3);text-align:center;padding:22px 14px}.patient-link{color:var(--ink);font-weight:600;text-decoration:none}.patient-link:hover{color:var(--accent);text-decoration:underline}.row-alert{color:var(--danger);font-size:11px;font-weight:600;display:block}.patients-more{justify-content:center;padding:4px 0 8px;display:flex}.card-wrap{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 20px 28px;display:flex;overflow:auto}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-head h2{letter-spacing:-.02em;margin:0;font-size:22px}.card-sub{color:var(--ink-3);margin:4px 0 0;font-size:13px}.card-sub code{font-family:var(--font-mono);font-size:12px}.balance{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ok);font-size:18px;font-weight:600}.balance.due{color:var(--danger)}.card-head-side{align-items:center;gap:14px;display:flex}.card-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.panel h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12px;font-weight:600}.panel h3:not(:first-child){margin-top:8px}.kv{grid-template-columns:120px 1fr;align-items:baseline;gap:10px;font-size:13.5px;display:grid}.kv-label{color:var(--ink-3)}.kv-value{overflow-wrap:anywhere;min-width:0}.kv-value code{font-family:var(--font-mono);font-size:12.5px}.identity{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.identity.open{border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 12px}.identity-note,.identity-foot{color:var(--ink-3);margin:0;font-size:11.5px}.identity-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:12px}.chip.danger{background:var(--danger-soft);color:var(--danger);font-weight:600}.edit{flex-direction:column;gap:12px;display:flex}.edit-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.modal.wide{max-width:560px}.field input[aria-invalid=true]{border-color:var(--danger)}.chip.ok{background:var(--ok-soft);color:var(--ok);font-weight:600}.chip.warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.consents{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.consent{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:3px;padding-bottom:10px;display:flex}.consent:last-child{border-bottom:0;padding-bottom:0}.consent-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.consent-ver{font-family:var(--font-mono);color:var(--ink-3);font-size:11.5px}.consent-meta{color:var(--ink-3);font-size:12px}.consent-actions{flex-wrap:wrap;gap:14px;display:flex}.consent-body{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);max-height:280px;padding:10px 12px;font-size:13px;line-height:1.5;overflow-y:auto}.visit-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:14px;display:grid}@media (width<=900px){.visit-layout{grid-template-columns:1fr}}.tooth-chart{flex-direction:column;gap:8px;display:flex}.tooth-chart-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tooth-row{gap:4px;display:flex;overflow-x:auto}.tooth{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:34px;height:44px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;font-size:12px;position:relative}.tooth.midline{margin-left:10px}.tooth.absent{color:var(--ink-3);background:var(--surface-2);text-decoration:line-through}.tooth.implant{border-color:var(--accent)}.tooth.planned{box-shadow:inset 0 -4px 0 var(--info)}.tooth.selected,.tooth[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px;background:var(--accent-soft)}.tooth-mark{color:var(--ink-3);font-size:10px;position:absolute;bottom:2px;left:3px}.tooth-dot{background:var(--danger);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 3px;font-size:10px;line-height:16px;position:absolute;top:-6px;right:-6px}.surfaces{border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;gap:4px 14px;padding:8px 10px;display:flex}.surfaces legend{color:var(--ink-3);font-size:12px}.plan-picks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plan-pick{border:1px solid var(--line-soft);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:6px 8px;display:flex}.plan-pick.for-selected{border-color:var(--info);background:var(--info-soft)}.plan-pick .surfaces{flex-basis:100%}.dup-reasons{flex-wrap:wrap;gap:4px;display:inline-flex}.dup-list{margin:6px 0 0;padding-left:18px}.row-sub{color:var(--ink-3);font-size:11px;display:block}.muted{color:var(--ink-3)}.tag.neutral{background:var(--surface-2);color:var(--ink-2)}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.big{padding:5px 12px;font-size:13px;font-weight:600}.total{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:16px;font-size:13.5px;display:flex}.total-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.total.strong{color:var(--ink);border-top:1px solid var(--line);margin-top:2px;padding-top:6px;font-weight:600}.total.strong .total-value{font-size:15px}.card-sub a{color:inherit}code.qr{overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.4;display:inline-block}.unbilled{flex-direction:column;gap:8px;padding-bottom:6px;display:flex}.unbilled-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.unbilled-head .patient-link{font-size:15px}table.grid th.pick,table.grid td.pick{width:34px;padding-right:0}table.grid td.pick input,table.grid th.pick input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}input.price{font:inherit;font-family:var(--font-mono);text-align:right;border:1px solid var(--line);background:var(--surface-2);width:96px;color:var(--ink);border-radius:6px;padding:4px 6px;font-size:12px}input.price:disabled{opacity:.45}.admin{flex-direction:column;gap:18px;max-width:1100px;padding:18px 20px 32px;display:flex}.admin-panel{flex-direction:column;gap:12px;display:flex}.admin-head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.admin-head h2,.admin-head h3{margin:0;font-size:15px}.admin-head .hint{max-width:62ch;margin:2px 0 0}.admin-form{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:12px 16px;padding:14px 16px;display:flex}.admin-form .field{min-width:140px}.admin-form .field.wide{flex:260px}.admin-form-actions{flex-basis:100%;align-items:center;gap:10px;display:flex}.admin-form .modal-hint{flex-basis:100%;margin:0}.admin-staff{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:10px;padding:10px 14px;display:flex}.admin-staff-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.admin-staff-name{font-size:13.5px;font-weight:600}.admin-staff-head .row-actions{margin-left:auto}.admin-roles{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.role-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.role-list li{flex-wrap:wrap;align-items:start;gap:12px;display:flex}.role-list .field.check{flex:340px}.row-muted{opacity:.6}.row-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.staff-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}table.grid input[type=time],table.grid input[type=text],table.grid input:not([type]){width:100%;min-width:90px}.report-tiles{flex-wrap:wrap;gap:12px;display:flex}.report-tile{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:160px;padding:12px 16px;display:flex}.report-tile>span:first-child{color:var(--ink-2);font-size:12px}.report-tile strong{font-variant-numeric:tabular-nums;font-size:19px}.admin table.grid td{font-variant-numeric:tabular-nums}.hours-intervals{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.hours-interval{align-items:center;gap:6px;display:flex}
