/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light;--ink:#15201c;--muted:#728078;--line:#e8ece9;--canvas:#f6f8f6;--green:#176b4a}*{box-sizing:border-box}body{background:var(--canvas);margin:0;font-family:Arial,Helvetica,sans-serif}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.sidebar{z-index:30;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:256px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{padding:4px 10px 28px;display:flex}.brand-mark{width:40px;height:40px;color:var(--green);background:#e4f2e9;border-radius:13px;place-items:center;font-size:18px;font-weight:800;display:grid}.brand-name{letter-spacing:-.02em;font-weight:750}.brand-sub{margin-top:3px;font-size:11px}.nav-caption{color:#929d96;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;font-size:10px;font-weight:700}.nav-list{gap:4px;display:grid}.nav-link{color:#5e6c64;border-radius:10px;align-items:center;padding:11px 12px;font-size:13px;font-weight:550;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:#f3f7f4}.nav-link.active{color:#176b4a;background:#eaf4ed;font-weight:700}.sidebar-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:16px 10px 0;line-height:1.6}.topbar{border-bottom:1px solid var(--line);background:#ffffffdb;justify-content:space-between;align-items:center;padding:0 36px;display:flex}.topbar-label{color:#647168;font-size:12px}.topbar-right{color:#69766f;align-items:center;gap:10px;font-size:12px;display:flex}.avatar{border:1px solid var(--line);width:32px;height:32px;color:var(--green);background:#fff;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.content{width:min(1120px,100%);margin:0 auto;padding:36px}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:750}.page-title{letter-spacing:-.045em;margin:0;font-weight:720}.page-description{max-width:680px;margin:10px 0 0;font-size:14px;line-height:1.65}.section-heading{margin:32px 0 14px;font-weight:700}.empty-card{text-align:center;background:#ffffffbf;border:1px dashed #d6dfd9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:28px;display:flex}.empty-icon{width:46px;height:46px;color:var(--green);background:#edf5ef;border-radius:14px;place-items:center;display:grid}.empty-title{margin:15px 0 6px;font-size:14px;font-weight:700}.empty-copy{max-width:420px;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.notice{color:#647168;background:#fff;border:1px solid #e6ece8;border-radius:12px;align-items:flex-start;gap:10px;margin-top:18px;padding:14px 16px;font-size:12px;line-height:1.55;display:flex}.mobile-brand,.mobile-menu,.scrim{display:none}@media (max-width:760px){.sidebar{width:min(290px,84vw);transition:transform .2s;transform:translate(-105%);box-shadow:16px 0 36px #14261c14}.sidebar.open{transform:translate(0)}.scrim.show{z-index:20;background:#101e1659;border:0;display:block;position:fixed;inset:0}.main{margin-left:0}.topbar{gap:12px;min-height:62px;padding:0 18px}.topbar-left{align-items:center;gap:12px;display:flex}.mobile-menu{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:10px;place-items:center;display:grid}.mobile-brand{font-size:13px;font-weight:750;display:block}.topbar-label{display:none}.content{padding:28px 18px}.empty-card{min-height:190px}}.button{font:inherit;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.button:disabled{cursor:wait;opacity:.6}.button.primary{background:var(--green);color:#fff}.button.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.day-use-panel,.report-section,.settings-form{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.stock-counts{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:7px;margin:0 0 18px;font-size:12px;display:flex}.stock-counts strong{color:var(--green);font-size:18px}.stock-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.stock-form label{gap:6px;font-size:12px;font-weight:650;display:grid}.stock-form input{min-width:0;min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:9px;padding:0 10px;font-size:12px}.stock-form input:focus{outline-offset:1px;outline:2px solid #9ac9aa}.stock-feedback,.stock-form .button,.stock-form .form-message,.stock-hint{grid-column:1/-1}.stock-feedback{flex-wrap:wrap;display:flex}.stock-duplicate{background:#fff;border-radius:5px;padding:3px 6px;font-weight:700}.day-use-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.day-use-toolbar strong{font-size:14px}.day-use-toolbar p{color:var(--muted);margin:5px 0 0;font-size:12px}.sales-grid{gap:8px;display:grid}.sales-head,.sales-row{grid-template-columns:1.15fr .9fr 1.15fr .8fr 1.15fr 32px;align-items:center;gap:8px;display:grid}.sales-head{color:#7c8981;padding:0 6px 4px;font-size:10px;font-weight:700}.login-form input,.report-filter input,.report-filter select,.sales-row input,.sales-row select,.settings-form select{min-width:0;min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:9px;padding:0 10px;font-size:12px}.login-form input:focus,.report-filter input:focus,.report-filter select:focus,.sales-row input:focus,.sales-row select:focus,.settings-form select:focus{outline-offset:1px;outline:2px solid #9ac9aa}.remove-row{color:#6c7971;cursor:pointer;background:#f6f8f6;border:0;border-radius:8px;width:30px;height:30px;font-size:20px}.day-use-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.form-hint{color:var(--muted);font-size:11px;line-height:1.6}.result-list{gap:7px;margin-top:14px;font-size:12px;display:grid}.result-line{color:#216442;background:#f1f7f2;border-radius:8px;padding:9px 10px}.result-line.rejected{color:#9f3131;background:#fff1f0}.settings-form{gap:10px;max-width:520px;display:grid}.login-form label,.report-filter label,.settings-form label{gap:6px;font-size:12px;font-weight:650;display:grid}.settings-form select{max-width:100%}.settings-form .button{justify-self:start}.report-filter{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:end;gap:12px;margin:28px 0 20px;padding:16px;display:flex}.report-filter label{min-width:180px}.report-section{margin-top:16px}.report-section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-section-title h2{margin:0;font-size:15px}.report-section-title strong{color:var(--green);font-size:14px}.report-section>.form-hint{margin:7px 0 14px}.report-row,.report-table{display:grid}.report-row{border-top:1px solid var(--line);grid-template-columns:1fr .5fr .8fr;gap:12px;padding:11px 4px;font-size:12px}.report-row span:not(:first-child){text-align:right}.report-header{color:var(--muted);font-size:10px;font-weight:700}.access-page{place-items:center;padding:24px;display:grid}.access-card{border:1px solid var(--line);background:#fff;width:min(480px,100%);padding:30px;box-shadow:0 14px 44px #162e200f}.access-card .brand-mark{margin-bottom:22px}.access-card .eyebrow{margin-bottom:8px}.login-form{gap:14px;margin-top:24px;display:grid}.login-form .button{margin-top:4px}.setup-steps{color:#59675f;gap:10px;padding-left:20px;font-size:12px;line-height:1.6;display:grid}.setup-steps code{background:#f2f5f2;border-radius:5px;padding:2px 5px}@media (max-width:760px){.day-use-panel,.report-section,.settings-form{padding:15px}.stock-form{grid-template-columns:1fr}.stock-feedback,.stock-form .button,.stock-form .form-message,.stock-hint{grid-column:auto}.day-use-actions,.day-use-toolbar{flex-direction:column;align-items:stretch}.sales-head{display:none}.sales-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;grid-template-areas:"lot bracelet remove""customer amount payment";padding:10px 0}.sale-lot{grid-area:lot}.sale-bracelet{grid-area:bracelet}.sale-customer{grid-area:customer}.sale-amount{grid-area:amount}.sale-payment{grid-area:payment}.sale-remove{grid-area:remove}.report-filter{flex-direction:column;align-items:stretch}.report-filter label{min-width:0}.report-section-title{flex-direction:column;align-items:flex-start}.report-row{grid-template-columns:1fr .45fr .85fr;gap:8px;font-size:11px}.access-card{padding:24px 20px}}.history-list{gap:10px;display:grid}.sales-history-browser{gap:14px;display:grid}.sales-history-tabs{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:4px;width:max-content;max-width:100%;padding:4px;display:inline-flex}.sales-history-tabs button{min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:11px;font-weight:650}.sales-history-tabs button:hover{color:var(--ink)}.sales-history-tabs button.active{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.sales-history-tabs button.active{background:color-mix(in srgb,var(--heading-blue) 15%,var(--surface-raised))}}.sales-history-tabs button.active{color:var(--heading-blue);box-shadow:inset 0 0 0 1px var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.sales-history-tabs button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--heading-blue) 25%,transparent)}}.sales-history-filter{max-width:560px;color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.sales-history-filter>span{gap:8px;min-width:0;display:flex}.sales-history-filter input{border:1px solid var(--line);background:var(--surface-raised);min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:0 11px;font-size:12px}.sales-history-filter input:focus-visible,.sales-history-tabs button:focus-visible{outline:2px solid var(--heading-blue);outline-offset:2px}.sales-history-filter .button{flex:none}.history-days{gap:18px;display:grid}.history-day{gap:9px;min-width:0;display:grid}.history-day-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px 8px;display:flex}.history-day-header h3{color:var(--heading-blue);text-transform:capitalize;margin:0;font-size:13px;font-weight:700}.history-day-header span{color:var(--muted);flex:none;font-size:10px}.history-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:10px 20px;padding:15px;display:grid}.class-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0 10px;padding-bottom:12px;display:flex}.class-tabs a{box-sizing:border-box;border:1px solid var(--line);color:#536258;text-align:center;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:38px;padding:8px 13px;font-size:12px;line-height:1.25;display:inline-flex}.class-tabs:not(.barbecue-tabs){box-sizing:border-box;justify-content:flex-start;align-items:center;min-height:58px;padding:8px 12px;display:flex}.class-tabs:not(.barbecue-tabs) a{white-space:normal;flex:0 0 220px;width:220px;min-height:42px}.class-tabs a:hover{color:var(--green);border-color:#b5d5be}.class-catalog-form,.class-session-form{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;padding:18px;display:grid}.class-catalog-form label,.class-session-form label{gap:6px;font-size:11px;font-weight:650;display:grid}.class-attendance-row input,.class-attendance-row select,.class-catalog-form input,.class-catalog-form select,.class-session-form input,.class-session-form select{min-width:0;min-height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:9px;padding:0 9px;font-size:11px}.class-attendance-row input:focus,.class-attendance-row select:focus,.class-catalog-form input:focus,.class-catalog-form select:focus,.class-session-form input:focus,.class-session-form select:focus{outline-offset:1px;outline:2px solid #9ac9aa}.class-session-form .class-wide{grid-column:span 2}.class-session-list{gap:13px;display:grid}.class-catalog-section,.class-session-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.class-session-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.class-session-heading strong{font-size:13px}.class-session-heading p{color:var(--muted);margin:5px 0;font-size:11px}.class-status{color:var(--green);background:#edf5ef;border-radius:999px;padding:5px 8px;font-size:10px}.class-attendance-form{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.class-attendance-row{grid-template-columns:.8fr 1.2fr 1fr .8fr 1fr;gap:9px;margin-bottom:9px;display:grid}.class-attendance-row label{gap:5px;font-size:10px;font-weight:650;display:grid}.class-catalog-section{margin-top:14px}.class-catalog-section h2{margin:0 0 14px;font-size:14px}.class-catalog-form{border:0;padding:0}.class-catalog-form fieldset{border:1px solid var(--line);border-radius:9px;grid-column:span 2;padding:8px 10px}.class-edit-form{border-top:1px solid var(--line);margin-top:9px;padding-top:10px}.class-active-check{grid-template-columns:auto 1fr;align-items:center;gap:7px!important;display:flex!important}.class-active-check input{min-height:auto}.class-checks{flex-wrap:wrap;gap:10px;display:flex}.class-checks label{align-items:center;gap:5px;font-weight:500;display:flex}.class-catalog-item{border-top:1px solid var(--line);color:#536258;margin:10px 0 0;padding:9px 0 0;font-size:12px}.class-report-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.class-report-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;gap:7px;padding:16px;display:grid}.class-report-summary span{color:var(--muted);font-size:11px}.class-report-summary strong{color:var(--green);font-size:21px}.class-report-summary small{color:var(--muted);font-size:10px}.direct-attendance-list{gap:10px;display:grid}.direct-attendance-row{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;gap:9px;min-width:0;padding:12px;display:grid}.direct-row-toolbar{justify-content:space-between;align-items:center;gap:10px;min-height:30px;display:flex}.direct-attendance-fields{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:10px;display:grid}.direct-attendance-row label,.direct-catalog-form label{gap:6px;min-width:0;font-size:11px;font-weight:650;display:grid}.direct-attendance-row input,.direct-attendance-row select,.direct-catalog-form input{width:100%;min-width:0;min-height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:9px;padding:0 9px;font-size:11px}.direct-attendance-row input:focus,.direct-attendance-row select:focus,.direct-catalog-form input:focus{outline-offset:1px;outline:2px solid #9ac9aa}.direct-row-number{color:var(--muted);align-self:center;font-size:11px;font-weight:700}.direct-participation-field{gap:8px;min-width:0;display:grid}.class-no-charge{border:1px solid var(--line);background:var(--surface-raised);color:var(--success);border-radius:8px;gap:3px;padding:8px;font-size:10px;line-height:1.45;display:grid}.class-no-charge,.class-no-charge span,.class-no-charge strong{min-width:0;overflow-wrap:anywhere}.class-no-charge span{color:var(--muted)}.class-catalog-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.direct-catalog-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:9px;display:grid}.direct-catalog-existing{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;padding-top:10px}.direct-catalog-form .class-active-check{white-space:nowrap;align-items:center;gap:6px!important;display:flex!important}.direct-catalog-form .class-active-check input{width:auto;min-height:auto}.class-edited-notice{color:#62491f;background:#fff8ea;border-left:3px solid #c98226;border-radius:7px;grid-column:1/-1;padding:10px 12px;font-size:11px}.class-edited-notice>strong{font-size:12px}.class-edit-entry{border-top:1px solid #eee2ca;margin-top:8px;padding-top:7px}.class-edit-entry p{margin:3px 0 6px}.class-edit-entry ul{margin:0;padding-left:18px}@media (max-width:760px){.class-catalog-form,.class-session-form{grid-template-columns:1fr}.class-catalog-form fieldset,.class-session-form .class-wide{grid-column:auto}.class-attendance-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;padding-bottom:10px}.class-report-summary{grid-template-columns:1fr}.class-session-heading{flex-direction:column}}@media (max-width:1120px){.direct-attendance-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.direct-attendance-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.class-catalog-columns{grid-template-columns:1fr}.direct-catalog-existing,.direct-catalog-form{grid-template-columns:1fr auto}.direct-catalog-form .form-message,.direct-catalog-form label:first-child{grid-column:1/-1}}.history-card>div:first-child strong{font-size:13px}.history-card p{color:var(--muted);margin:5px 0 0;font-size:11px}.history-value{justify-items:end;gap:4px;font-size:12px;display:grid}.history-value span{color:var(--muted);font-size:10px}.sale-correction{border-top:1px solid var(--line);grid-column:1/-1;padding-top:10px}.sale-correction summary{color:var(--green);cursor:pointer;font-size:11px;font-weight:700}.correction-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 0 2px;display:grid}.correction-grid label{gap:6px;font-size:10px;font-weight:650;display:grid}.correction-grid input,.correction-grid select{min-width:0;min-height:38px;font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:8px;padding:0 9px;font-size:11px}.correction-reason{grid-column:span 2}.correction-grid .button,.correction-grid .form-message{align-self:end}@media (max-width:760px){.history-card{grid-template-columns:1fr}.history-value{justify-items:start}.correction-grid{grid-template-columns:1fr 1fr}.correction-reason{grid-column:1/-1}}.court-toolbar{justify-content:space-between;gap:12px;margin-top:24px}.court-date-nav,.court-toolbar{align-items:center;display:flex}.court-date-nav{gap:8px}.court-date-nav>div{align-items:center;gap:9px;padding:0 8px;display:flex}.court-date-nav strong{text-transform:capitalize;font-size:13px}.court-form .button{min-height:39px}.court-count{margin-left:7px;font-weight:500}.court-state.confirmed{color:#176b4a;background:#e5f3e9}.court-cancel{color:#9b4b42;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:3px;margin-top:9px;padding:0;font-size:10px;display:inline-flex}.court-cancel:disabled{opacity:.5;cursor:wait}@media (max-width:760px){.court-toolbar{flex-direction:column;align-items:stretch}.court-date-nav{flex-wrap:wrap}.court-date-nav>div{flex:1;justify-content:center}.court-date-nav strong{font-size:11px}.court-form{grid-template-columns:1fr 1fr;padding:14px}.court-form .court-wide{grid-column:1/-1}}.court-week-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.court-week-nav{align-items:center;gap:10px;display:flex}.court-week-nav>strong{text-align:center;text-transform:capitalize;min-width:170px;font-size:12px}.court-week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.court-week-day{border:1px solid var(--line);color:#59675f;cursor:pointer;font:inherit;background:#fff;border-radius:12px;justify-items:center;gap:4px;padding:10px 4px;display:grid}.court-week-day>span{text-transform:capitalize;font-size:10px}.court-week-day>strong{font-size:17px}.court-week-day>small{color:var(--muted);font-size:9px}.court-week-day.is-today{color:var(--green);background:#f0f8f1;border-color:#71aa7e}.court-form{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-top:14px;padding:18px;display:grid}.court-form label{gap:6px;font-size:11px;font-weight:650;display:grid}.court-form input,.court-form select{min-width:0;min-height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e8e3;border-radius:9px;padding:0 9px;font-size:11px}.court-form .court-wide{grid-column:span 2}.court-form-actions{grid-column:1/-1;gap:8px;display:flex}.court-repeat{justify-content:space-between;align-items:center;gap:12px;display:flex}.court-repeat label{align-items:center;gap:7px;display:flex}.court-repeat input[type=checkbox]{min-height:auto}.court-series-note{color:#725719;background:#fff8ea;border-left:3px solid #d9a54a;margin:0;padding:9px 11px;font-size:11px}.court-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.court-column{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:14px}.court-column>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:11px;display:flex}.court-column h3{margin:0;font-size:13px}.court-column>header span,.court-count{color:var(--green);background:#edf5ef;border-radius:99px;padding:4px 8px;font-size:10px}.court-inactive{opacity:.64}.court-column>header span{text-transform:capitalize}.court-booking{background:#fbfdfb;border:1px solid #e9eeea;border-left:3px solid #80b78d;border-radius:10px;margin-top:10px;padding:11px}.court-booking.is-cancelled{opacity:.65;border-left-color:#c7ceca}.court-booking-top,.court-booking-top strong{align-items:center;gap:5px;display:flex}.court-booking-top{flex-wrap:wrap;justify-content:space-between}.court-booking-top strong{color:#28553b;font-size:11px}.court-type{color:#176b4a;background:#edf5ef;border-radius:99px;padding:4px 7px;font-size:9px}.court-type.class{color:#47598d;background:#eef1fb}.court-state{color:#805d16;background:#fff4dc;border-radius:99px;padding:4px 6px;font-size:9px}.court-state.cancelled{color:#68736d;background:#eff1ef}.court-booking p{color:#657269;margin:6px 0 0;font-size:10px;line-height:1.45}.court-booking .court-client{font-size:12px;font-weight:700}.court-booking .court-money{color:var(--green);font-weight:650}.court-booking .court-notes{border-top:1px solid #e9eeea;padding-top:6px}.court-card-actions{border-top:1px solid #e9eeea;flex-wrap:wrap;gap:12px;margin-top:9px;padding-top:8px;display:flex}.court-cancel,.court-edit{cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:10px;display:inline-flex}.court-card-actions button:disabled{opacity:.5;cursor:wait}.court-empty{color:var(--muted);padding:14px 2px;font-size:11px}.court-week-summary{margin-top:24px}.court-week-summary>.section-heading{margin-bottom:5px}.court-summary-help{color:var(--muted);margin:0 0 12px;font-size:11px}.court-day-summary{border:1px solid var(--line);background:#fff;border-radius:11px;margin-top:8px;padding:0 13px}.court-day-summary>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:43px;list-style-position:inside;display:flex}.court-day-summary>summary strong{text-transform:capitalize;font-size:11px}.court-day-summary>summary span{font-size:10px}.court-summary-list{border-top:1px solid var(--line)}.court-summary-row{border-bottom:1px solid #f0f2f0;grid-template-columns:100px 95px 58px minmax(100px,1fr) auto;align-items:center;gap:9px;min-height:38px;font-size:10px;display:grid}.court-summary-time{color:#45554b;font-variant-numeric:tabular-nums}.court-summary-court{color:var(--muted)}.court-summary-row>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.court-summary-actions{color:var(--muted);justify-self:end;font-size:9px}.court-summary-actions .court-edit{margin-left:3px}.button-secondary{border:1px solid var(--line);color:#536258;cursor:pointer;min-height:36px;font:inherit;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:11px;display:inline-flex}.button-secondary:hover{color:var(--green);border-color:#b5d5be}@media (max-width:900px){.court-form,.court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.court-summary-row{grid-template-columns:90px 82px 50px minmax(80px,1fr)}.court-summary-actions{grid-column:4;justify-self:start}}@media (max-width:600px){.court-week-toolbar{flex-direction:column;align-items:stretch}.court-week-nav{flex-wrap:wrap;justify-content:center}.court-week-nav>strong{flex:1}.court-week-days{gap:4px}.court-week-day{border-radius:9px;padding:8px 1px}.court-week-day>small,.court-week-day>span{font-size:8px}.court-form,.court-grid{grid-template-columns:1fr}.court-form .court-wide{grid-column:auto}.court-repeat{flex-direction:column;align-items:flex-start}.court-summary-row{grid-template-columns:75px 75px 45px minmax(70px,1fr);gap:5px;font-size:9px}.court-day-summary{padding:0 9px}.court-form-actions{grid-column:auto}}.court-free-gap{color:#6f8f76;text-align:center;margin:9px 0 -2px;font-size:9px}.court-summary-row.is-cancelled>strong{text-decoration:line-through}:root{color-scheme:dark;--canvas:#090a0d;--surface:#17191f;--surface-raised:#1d2027;--surface-soft:#252932;--line:#30343d;--ink:#f4f3f2;--muted:#a5a7af;--heading-blue:#168bff;--blue:#168bff;--green:var(--success);--accent:#00d9f5;--accent-strong:#168bff;--brand-coral:#ffb5a0;--brand-pink:#f18caf;--brand-cyan:#00d9f5;--brand-blue:#168bff;--brand-gradient:linear-gradient(110deg,#ffb5a0,#f18caf 34%,#00d9f5 68%,#168bff);--brand-gradient-soft:linear-gradient(110deg,#ffb5a04d,#f18caf3d 34%,#00d9f540 68%,#168bff47);--success:#4bdfaa;--warning:#f5c466;--danger:#ff8188;--shadow:0 16px 44px #0000003d}:root[data-theme=light]{color-scheme:light;--canvas:#f6f3f2;--surface:#fff;--surface-raised:#faf7f6;--surface-soft:#f0e9e8;--line:#e2d8d7;--ink:#211b1d;--muted:#675f64;--heading-blue:#075fb9;--blue:#075fb9;--green:var(--success);--accent:#08758a;--accent-strong:#075fb9;--brand-coral:#c75e45;--brand-pink:#b54c77;--brand-cyan:#007b91;--brand-blue:#075fb9;--brand-gradient:linear-gradient(110deg,#c75e45,#b54c77 34%,#007b91 68%,#075fb9);--brand-gradient-soft:linear-gradient(110deg,#c75e4529,#b54c7721 34%,#007b9124 68%,#075fb929);--success:#087a5a;--warning:#8b5a00;--danger:#b33f49;--shadow:0 14px 36px #142c3814}body,html{min-height:100%}html{background:var(--canvas)}body{background:radial-gradient(ellipse at 86% -10%,var(--brand-blue),transparent 38rem),radial-gradient(ellipse at 35% -12%,var(--brand-coral),transparent 34rem),radial-gradient(ellipse at 62% -15%,var(--brand-blue),transparent 42rem),var(--canvas)}@supports (color:color-mix(in lab,red,red)){body{background:radial-gradient(ellipse at 86% -10%,color-mix(in srgb,var(--brand-blue) 5%,transparent),transparent 38rem),radial-gradient(ellipse at 35% -12%,color-mix(in srgb,var(--brand-coral) 4%,transparent),transparent 34rem),radial-gradient(ellipse at 62% -15%,color-mix(in srgb,var(--brand-blue) 5%,transparent),transparent 42rem),var(--canvas)}}body{color:var(--ink);font-family:Inter,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}::selection{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--accent) 38%,transparent)}}::selection{color:var(--ink)}:focus-visible{outline:2px solid var(--heading-blue)!important;outline-offset:3px!important}.shell{min-height:100vh}.sidebar{border-color:var(--line);background:linear-gradient(#10151d,#0c1118);width:250px;padding:22px 15px 17px}:root[data-theme=light] .sidebar{background:linear-gradient(#fff,#f8fbfc)}.brand{align-items:center;gap:12px;min-width:0;padding:3px 9px 28px}.brand-logo{border:1px solid var(--heading-blue);width:46px;height:46px;box-shadow:0 0 12px var(--heading-blue);background:#000;border-radius:50%;flex:0 0 46px;display:block;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.brand-logo{box-shadow:0 0 12px color-mix(in srgb,var(--heading-blue) 14%,transparent)}}.brand-logo{line-height:0}.brand-logo img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;display:block}.brand-copy{align-content:center;gap:2px;min-width:0;line-height:1.25;display:grid}.brand-name{color:var(--ink);letter-spacing:.025em;font-size:15px;font-weight:780}.brand-name span{color:var(--heading-blue);font-weight:650}.brand-sub{color:var(--muted);letter-spacing:.025em;font-size:10px}.nav-caption{color:#74818f;letter-spacing:.15em;padding:6px 11px 9px;font-size:9px}.nav-list{gap:5px}.nav-link{color:#9ba7b3;border:1px solid #0000;border-radius:9px;gap:12px;min-height:41px;padding:9px 11px;font-size:12px;font-weight:560}.nav-link svg{color:#8291a5;flex:none}.nav-link:hover{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}.nav-link:hover svg{color:var(--heading-blue)}.nav-link.active{border-color:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.nav-link.active{border-color:color-mix(in srgb,var(--heading-blue) 42%,var(--line))}}.nav-link.active{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.nav-link.active{background:color-mix(in srgb,var(--heading-blue) 12%,var(--surface-raised))}}.nav-link.active{box-shadow:inset 3px 0 0 var(--heading-blue);font-weight:750}.nav-link.active,.nav-link.active svg{color:var(--heading-blue)}.sidebar-foot{border-color:var(--line);color:var(--ink);grid-template-columns:8px 1fr;align-items:center;column-gap:8px;padding:15px 9px 2px;font-size:11px;font-weight:650;display:grid}.sidebar-foot>span:last-child{color:var(--muted);grid-column:2;font-size:10px;font-weight:450}.sidebar-foot-mark{background:var(--heading-blue);width:7px;height:7px;box-shadow:0 0 9px var(--heading-blue);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.sidebar-foot-mark{box-shadow:0 0 9px color-mix(in srgb,var(--heading-blue) 40%,transparent)}}.main{min-height:100vh;margin-left:250px}.topbar{z-index:15;border-color:var(--line);background:var(--canvas);min-height:72px;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.topbar{background:color-mix(in srgb,var(--canvas) 88%,transparent)}}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:0 clamp(20px,3vw,42px)}.topbar-left{align-items:center;gap:13px;display:flex}.topbar-heading{gap:1px;display:grid}.topbar-heading>strong{color:var(--ink);letter-spacing:-.015em;font-size:14px;font-weight:680}.topbar-label{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:680}.topbar-label span{color:var(--heading-blue);padding:0 4px}.topbar-right{color:var(--muted);gap:12px;font-size:11px}.avatar{border-color:var(--line);background:linear-gradient(145deg,var(--surface-soft),var(--surface));width:34px;height:34px;color:var(--heading-blue);font-size:10px}.mobile-menu,.theme-toggle{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;place-items:center;transition:border-color .15s,color .15s,background .15s;display:grid}.mobile-menu:hover,.theme-toggle:hover{border-color:var(--heading-blue);color:var(--heading-blue)}.theme-icon{display:none}:root:not([data-theme=light]) .theme-icon-moon,:root[data-theme=dark] .theme-icon-moon,:root[data-theme=light] .theme-icon-sun{display:block}.content{width:min(1420px,100%);padding:clamp(25px,3vw,42px)}.eyebrow{letter-spacing:.15em;margin-bottom:8px;font-size:9px;font-weight:760}.eyebrow,.page-title{color:var(--heading-blue)}.page-title{letter-spacing:-.04em;font-size:clamp(26px,3vw,34px);font-weight:730;line-height:1.15}.page-description{max-width:720px;color:var(--muted);margin-top:10px;font-size:13px;line-height:1.7}.section-heading{letter-spacing:-.01em;margin:30px 0 14px;font-size:14px;font-weight:690}.report-section-title h2,.section-heading{color:var(--heading-blue)}.access-card,.class-attendance-form,.class-catalog-form,.class-report-summary article,.class-session-card,.class-session-form,.court-column,.court-day-summary,.court-form,.day-use-panel,.direct-attendance-row,.empty-card,.history-card,.notice,.report-section,.settings-form{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}.empty-card{background:var(--surface);border-style:dashed}@supports (color:color-mix(in lab,red,red)){.empty-card{background:color-mix(in srgb,var(--surface) 86%,transparent)}}.empty-icon{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.empty-icon{background:color-mix(in srgb,var(--heading-blue) 17%,var(--surface-raised))}}.empty-icon{color:var(--heading-blue)}.brand-mark{border:1px solid var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.brand-mark{border:1px solid color-mix(in srgb,var(--heading-blue) 42%,var(--line))}}.brand-mark{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.brand-mark{background:color-mix(in srgb,var(--heading-blue) 15%,var(--surface-raised))}}.brand-mark{color:var(--heading-blue)}.empty-title{color:var(--ink)}.empty-copy,.form-hint,.notice,.stock-hint{color:var(--muted)}.button{border-radius:9px;min-height:40px;font-size:11px;transition:transform .15s,filter .15s,border-color .15s}.button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.button.primary{background:linear-gradient(105deg,var(--brand-coral),var(--brand-pink) 35%,var(--brand-cyan) 70%,var(--brand-blue));color:#111319;box-shadow:0 4px 16px var(--brand-cyan)}@supports (color:color-mix(in lab,red,red)){.button.primary{box-shadow:0 4px 16px color-mix(in srgb,var(--brand-cyan) 12%,transparent)}}.button-secondary,.button.secondary{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}.button-secondary:hover{border-color:var(--heading-blue);color:var(--heading-blue)}input,select,textarea{color-scheme:inherit}.class-attendance-row input,.class-attendance-row select,.class-catalog-form input,.class-catalog-form select,.class-session-form input,.class-session-form select,.correction-grid input,.correction-grid select,.court-form input,.court-form select,.direct-attendance-row input,.direct-attendance-row select,.direct-catalog-form input,.login-form input,.report-filter input,.report-filter select,.sales-row input,.sales-row select,.settings-form select,.stock-form input{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}@supports (color:color-mix(in lab,red,red)){input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}}.class-attendance-row input:focus,.class-attendance-row select:focus,.class-catalog-form input:focus,.class-catalog-form select:focus,.class-session-form input:focus,.class-session-form select:focus,.correction-grid input:focus,.correction-grid select:focus,.court-form input:focus,.court-form select:focus,.direct-attendance-row input:focus,.direct-attendance-row select:focus,.direct-catalog-form input:focus,.login-form input:focus,.report-filter input:focus,.report-filter select:focus,.sales-row input:focus,.sales-row select:focus,.settings-form select:focus,.stock-form input:focus{outline:2px solid var(--heading-blue);outline-offset:1px}.class-tabs,.report-filter{border-color:var(--line);background:var(--surface)}.class-tabs a{border-color:var(--line);background:var(--surface-raised);color:var(--muted)}.class-tabs a:hover{border-color:var(--heading-blue);color:var(--heading-blue)}.report-header,.sales-head{color:var(--muted)}.class-catalog-item,.history-card,.report-row,.sales-row{border-color:var(--line)}.sales-row input,.sales-row select{background:var(--surface-raised)}.remove-row{background:var(--surface-soft);color:var(--muted)}.class-report-summary strong,.report-section-title strong,.stock-counts strong{color:var(--heading-blue)}.result-line{background:var(--success)}@supports (color:color-mix(in lab,red,red)){.result-line{background:color-mix(in srgb,var(--success) 13%,var(--surface))}}.result-line{color:var(--success)}.result-line.rejected{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.result-line.rejected{background:color-mix(in srgb,var(--danger) 13%,var(--surface))}}.result-line.rejected{color:var(--danger)}.form-message.error,.notice.error{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.form-message.error,.notice.error{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}}.form-message.error,.notice.error{color:var(--danger)}.form-message.success{color:var(--success)}.stock-duplicate{background:var(--surface-soft)}.setup-steps{color:var(--muted)}.setup-steps code{background:var(--surface-soft);color:var(--heading-blue)}.access-layout,.access-page{min-height:100vh}.access-page{background:0 0}.access-card{border-radius:18px;width:min(430px,100%);padding:34px;position:relative}.access-logo{border:1px solid var(--heading-blue);object-fit:cover;object-position:50% 50%;width:84px;height:84px;box-shadow:0 0 14px var(--heading-blue);background:#000;border-radius:50%;margin:0 auto 20px;display:block}@supports (color:color-mix(in lab,red,red)){.access-logo{box-shadow:0 0 14px color-mix(in srgb,var(--heading-blue) 13%,transparent)}}.access-card .page-title{font-size:27px}.auth-layout{min-height:100vh;position:relative}.auth-theme-toggle{z-index:10;position:fixed;top:18px;right:20px}.court-week-day{border-color:var(--line);background:var(--surface);color:var(--muted)}.court-week-day.is-today{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.court-week-day.is-today{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.court-week-day.is-today{color:var(--accent)}.court-week-day.selected{box-shadow:inset 0 0 0 1px var(--accent)}.court-column>header{border-color:var(--line)}.court-column h3{color:var(--heading-blue)}.court-column>header span,.court-count{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.court-column>header span,.court-count{background:color-mix(in srgb,var(--accent) 14%,var(--surface-raised))}}.court-column>header span,.court-count{color:var(--accent)}.court-booking{border-color:var(--line);border-left-color:var(--success);background:var(--surface-raised)}.court-booking.is-cancelled{border-left-color:var(--muted)}.court-booking-top strong{color:var(--ink)}.court-booking-top svg{color:var(--heading-blue)}.court-booking p,.court-summary-court{color:var(--muted)}.court-booking .court-client{color:var(--ink)}.court-booking .court-money{color:var(--muted)}.court-booking .court-notes,.court-card-actions{border-color:var(--line)}.court-type{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.court-type{background:color-mix(in srgb,var(--heading-blue) 14%,var(--surface-soft))}}.court-type{color:var(--heading-blue)}.court-type.class{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.court-type.class{background:color-mix(in srgb,var(--accent) 16%,var(--surface-soft))}}.court-type.class{color:var(--accent)}.court-state{background:var(--warning)}@supports (color:color-mix(in lab,red,red)){.court-state{background:color-mix(in srgb,var(--warning) 16%,var(--surface-soft))}}.court-state{color:var(--warning)}.court-state.confirmed{background:var(--success)}@supports (color:color-mix(in lab,red,red)){.court-state.confirmed{background:color-mix(in srgb,var(--success) 15%,var(--surface-soft))}}.court-state.confirmed{color:var(--success)}.court-state.cancelled{background:var(--surface-soft);color:var(--muted)}.court-edit{color:var(--heading-blue)}.court-cancel{color:var(--danger)}.court-empty,.court-summary-help{color:var(--muted)}.court-series{color:var(--warning)!important}.class-edited-notice,.court-series-note{border-color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab,red,red)){.class-edited-notice,.court-series-note{background:color-mix(in srgb,var(--warning) 11%,var(--surface))}}.class-edited-notice,.court-series-note{color:var(--warning)}.court-day-summary{background:var(--surface)}.court-day-summary>summary{color:var(--ink)}.court-day-summary>summary span{color:var(--muted)}.court-summary-list,.court-summary-row{border-color:var(--line)}.court-summary-time{color:var(--ink)}.court-summary-row.is-cancelled{color:var(--muted)}.class-no-charge,.class-status{color:var(--success)}.class-catalog-item,.class-edit-entry{border-color:var(--line);color:var(--muted)}.class-catalog-section{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.class-catalog-section h2{color:var(--heading-blue)}.direct-catalog-form .class-active-check{color:var(--muted)}.direct-catalog-form .class-active-check input{accent-color:var(--heading-blue)}.direct-catalog-form .form-message{grid-column:1/-1;margin:0}.direct-catalog-form :focus-visible{outline:2px solid var(--heading-blue);outline-offset:2px}.weekly-recurrence{gap:16px;margin-top:18px;display:grid}.weekly-grade-card,.weekly-grade-summary,.weekly-series-card{border:1px solid var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.weekly-grade-card,.weekly-grade-summary,.weekly-series-card{border:1px solid color-mix(in srgb,var(--dash-blue) 24%,var(--line))}}.weekly-grade-card,.weekly-grade-summary,.weekly-series-card{background:var(--dash-card);color:var(--ink);box-shadow:0 0 16px var(--dash-blue);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.weekly-grade-card,.weekly-grade-summary,.weekly-series-card{box-shadow:0 0 16px color-mix(in srgb,var(--dash-blue) 5%,transparent)}}.weekly-grade-summary{flex-wrap:wrap;align-items:center;gap:10px 18px;padding:13px 16px;display:flex}.weekly-grade-summary strong{color:var(--dash-blue);font-size:16px}.weekly-grade-summary span{color:var(--muted);font-size:12px}.weekly-grade-summary p{color:var(--muted);flex:100%;margin:0;font-size:11px}.weekly-grade-card{padding:16px;overflow:hidden}.weekly-grade-card>header{margin-bottom:14px}.weekly-grade-card>header h2{color:var(--heading-blue);margin:0 0 4px;font-size:16px}.weekly-grade-card>header p{color:var(--muted);margin:0;font-size:12px}.weekly-grade-filters,.weekly-grade-import-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.weekly-grade-import-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.weekly-grade-import-options p{color:var(--muted);margin:0;font-size:11px}.weekly-grade-filters label,.weekly-grade-import-options label,.weekly-series-editor label{color:var(--muted);gap:5px;font-size:11px;display:grid}.weekly-grade-filters input,.weekly-grade-filters select,.weekly-grade-import-options input,.weekly-series-editor input,.weekly-series-editor select{border:1px solid var(--line);background:var(--surface-raised);min-width:0;min-height:36px;color:var(--ink);font:inherit;border-radius:8px;padding:7px 9px;font-size:12px}.weekly-grade-table-wrap{border:1px solid var(--line);border-radius:10px;max-height:65vh;overflow:auto}.weekly-grade-table{border-collapse:collapse;width:100%;min-width:970px;font-size:11px}.weekly-grade-table th{z-index:1;background:var(--surface-raised);color:var(--muted);text-align:left;font-size:10px;position:sticky;top:0}.weekly-grade-table td,.weekly-grade-table th{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.weekly-grade-table td>small,.weekly-grade-table td>span{margin-bottom:4px;display:block}.weekly-grade-table td>small{color:var(--muted)}.weekly-grade-table td:first-child span,.weekly-grade-table td:first-child strong{white-space:nowrap;display:block}.weekly-grade-table td select{border:1px solid var(--line);background:var(--surface-raised);width:100%;min-height:32px;color:var(--ink);font:inherit;border-radius:7px;font-size:10px}.weekly-validation{color:var(--success);font-weight:700}.weekly-validation.is-pending{color:var(--dash-yellow)}.weekly-grade-blocked,.weekly-grade-count-note,.weekly-grade-import-safety{color:var(--muted);margin:11px 0;font-size:11px;display:block}.weekly-series-editor{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:10px}.weekly-series-editor>summary{color:var(--dash-blue);cursor:pointer;font-size:12px;font-weight:700}.weekly-series-editor form{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.weekly-series-wide{grid-column:1/-1}.weekly-series-list{gap:10px;margin-top:12px;display:grid}.weekly-series-card{padding:12px}.weekly-series-card>header{color:var(--ink);justify-content:space-between;gap:10px;font-size:12px;display:flex}.weekly-series-card>header span{color:var(--dash-cyan);text-transform:capitalize}.weekly-series-card p,.weekly-series-card small{color:var(--muted);font-size:11px}.weekly-series-actions{flex-wrap:wrap;gap:8px;display:flex}.weekly-exception-form{border-top:1px solid var(--line);margin-top:12px}.weekly-exception-form h3{color:var(--heading-blue);grid-column:1/-1;font-size:13px}.weekly-recurrence :focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}@media (max-width:760px){.weekly-grade-filters,.weekly-series-editor form{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-grade-import-options{grid-template-columns:1fr}.weekly-grade-card{padding:12px}.weekly-grade-summary{gap:8px 12px}}@media (max-width:460px){.weekly-grade-filters,.weekly-series-editor form{grid-template-columns:1fr}.weekly-series-wide{grid-column:auto}.weekly-series-actions button,.weekly-series-actions form{width:100%}}.day-use-workspace{grid-template-columns:minmax(0,2.25fr) minmax(285px,.95fr);align-items:start;gap:18px;display:grid}.day-use-primary,.day-use-sidebar{min-width:0}.day-use-entry-card{gap:0;display:grid}.day-use-entry-card>.section-heading{margin:0 0 16px}.day-use-entry-form{gap:12px;min-width:0;display:grid}.day-use-stock-card{gap:4px;margin-top:0;display:grid}.day-use-stock-card .day-use-toolbar{margin-bottom:6px}.day-use-stock-card .stock-counts{margin:0 0 10px;line-height:1.6}.day-use-stock-card .stock-open-button{white-space:normal;text-align:center;width:100%;margin:0}.stock-dialog{border:1px solid var(--line);background:var(--surface);width:min(980px,100vw - 32px);max-width:none;max-height:min(88vh,920px);color:var(--ink);border-radius:16px;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 90px #0000007a}.stock-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03070fb8}.stock-dialog-content{gap:16px;max-height:min(88vh,920px);padding:clamp(16px,3vw,28px);display:grid;overflow:auto}.stock-dialog-header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;margin:calc(-1*clamp(16px,3vw,28px)) calc(-1*clamp(16px,3vw,28px)) 0;padding:clamp(16px,3vw,28px);display:flex;position:sticky;top:calc(-1*clamp(16px,3vw,28px))}.stock-dialog-header h2{color:var(--heading-blue);margin:0;font-size:clamp(17px,2.2vw,22px)}.stock-dialog-header .eyebrow{margin-bottom:4px;display:block}.stock-dialog-header .button{flex:none}.stock-dialog-content>.day-use-toolbar{margin:0}.stock-dialog-content .stock-lot-heading{flex-wrap:wrap;align-items:flex-start}.stock-dialog-content .stock-lot-heading>span:last-child{margin-left:auto}.stock-adjust-form{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto}.stock-adjust-form input,.stock-adjust-form select{min-width:0}@media (max-width:900px){.day-use-workspace{grid-template-columns:1fr}.day-use-stock-card{margin-top:0}.day-use-sidebar{order:2}}@media (max-width:640px){.stock-dialog{border-radius:12px;width:calc(100vw - 16px);max-height:94vh}.stock-dialog-content{max-height:94vh;padding:14px}.stock-dialog-header{margin:-14px -14px 0;padding:14px;top:-14px}.stock-dialog-header .button{min-height:36px;padding:0 11px}.stock-adjust-form{grid-template-columns:1fr}.stock-adjust-form .button{width:100%}.stock-dialog-content .stock-lot-heading>span:last-child{text-align:left;width:100%;margin-left:22px}}.class-edit-entry p,.class-edit-entry ul,.history-card p,.history-value span{color:var(--muted)}.history-card>div:first-child strong{color:var(--ink)}.sale-correction{border-color:var(--line)}.sale-correction summary{color:var(--heading-blue)}.court-free-gap{color:var(--muted)}.direct-attendance-row{background:var(--surface-raised)}.barbecue-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;margin:24px 0 16px;padding:8px 10px;display:flex}.barbecue-tabs button{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-raised);min-width:72px;min-height:38px;color:var(--muted);cursor:pointer;line-height:1.2;font:inherit;border-radius:10px;flex:none;justify-content:center;align-items:center;margin:0;padding:8px 14px;font-size:12px;display:inline-flex}.barbecue-tabs button.active{border-color:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.barbecue-tabs button.active{border-color:color-mix(in srgb,var(--heading-blue) 48%,var(--line))}}.barbecue-tabs button.active{background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.barbecue-tabs button.active{background:color-mix(in srgb,var(--heading-blue) 13%,var(--surface))}}.barbecue-tabs button.active{color:var(--heading-blue)}.booking-metrics,.booking-resource-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin-top:18px;display:grid}.booking-metrics .day-use-panel,.booking-resource-grid .day-use-panel{gap:8px;margin:0;display:grid}.booking-metrics strong,.booking-resource-grid strong{color:var(--ink);font-size:16px}.booking-metrics small,.booking-resource-grid small{color:var(--muted);line-height:1.5}.booking-section{margin-top:22px}.booking-line{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:1.2fr 1fr 1.4fr .8fr .8fr;align-items:center;gap:12px;padding:12px 4px;font-size:12px;display:grid}.booking-line strong{color:var(--ink)}.booking-badge{background:var(--heading-blue);border-radius:999px;width:max-content;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.booking-badge{background:color-mix(in srgb,var(--heading-blue) 12%,var(--surface))}}.booking-badge{color:var(--heading-blue);padding:4px 8px;font-size:10px}.booking-badge.free{color:var(--success);background:var(--success)}@supports (color:color-mix(in lab,red,red)){.booking-badge.free{background:color-mix(in srgb,var(--success) 12%,var(--surface))}}.booking-badge.busy,.booking-badge.maintenance{color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab,red,red)){.booking-badge.busy,.booking-badge.maintenance{background:color-mix(in srgb,var(--warning) 12%,var(--surface))}}.booking-filter{margin:12px 0 16px}.booking-agenda-toggle{color:var(--muted);align-items:center;gap:7px;margin-top:10px;font-size:11px;display:flex}.booking-agenda-toggle button{border:1px solid var(--line);background:var(--surface-raised);color:var(--muted);cursor:pointer;border-radius:8px;padding:7px 10px}.booking-agenda-toggle button.active{border-color:var(--heading-blue);color:var(--heading-blue);background:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.booking-agenda-toggle button.active{background:color-mix(in srgb,var(--heading-blue) 12%,var(--surface))}}.booking-agenda-toggle span{margin-left:auto}.booking-date{color:var(--heading-blue);font-size:10px;font-weight:700}.booking-board{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));align-items:start;gap:12px;display:grid}.booking-board .court-column{min-width:0}.booking-card{border:1px solid var(--line);background:var(--surface-raised);color:var(--muted);border-radius:12px;gap:9px;margin:10px 0;padding:14px;font-size:12px;display:grid}.booking-card>strong{color:var(--ink);font-size:14px}.booking-card p{margin:0;line-height:1.5}.booking-card details{border-top:1px solid var(--line);padding-top:8px}.booking-card summary{cursor:pointer;color:var(--heading-blue);font-weight:650}.booking-form,.booking-form-grid{gap:11px;display:grid}.booking-form{margin-top:10px}.booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.booking-resource-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;margin:0;padding:10px 12px 12px}.booking-resource-picker legend{color:var(--muted);padding:0 5px;font-size:11px;font-weight:650}.booking-resource-picker>.form-hint{margin:0 0 9px}.booking-resource-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:7px;display:grid}.booking-resource-options .booking-resource-option{border:1px solid var(--line);background:var(--surface-raised);min-width:0;color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.booking-resource-options .booking-resource-option input{width:16px;min-width:16px;min-height:16px;accent-color:var(--heading-blue);margin:0;padding:0}.booking-resource-options .booking-resource-option span{overflow-wrap:anywhere}.booking-adjustment,.booking-category-form label,.booking-form label{min-width:0;color:var(--muted);gap:5px;font-size:11px;font-weight:600;display:grid}.booking-adjustment input,.booking-adjustment select,.booking-category-form input,.booking-category-form select,.booking-form input,.booking-form select,.booking-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 10px;font-size:12px}.booking-form textarea{resize:vertical;min-height:74px}.booking-form .wide{grid-column:1/-1}.booking-category-form input[type=checkbox],.booking-form input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--heading-blue)}.booking-category-form .button,.booking-form .button{justify-self:start}.booking-inline-form{margin:0}.booking-category-form{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;flex-wrap:wrap;align-items:end;gap:10px;margin:10px 0;padding:14px;display:flex}.booking-category-form label{min-width:180px}.booking-event-card{margin:10px 0}.booking-adjustment{grid-column:1/-1;grid-template-columns:1fr 95px minmax(130px,1.2fr) auto;width:100%}.booking-adjustment .button{min-height:34px;padding:6px 10px}@media (max-width:700px){.booking-line{grid-template-columns:1fr 1fr;align-items:start}.booking-form-grid{grid-template-columns:1fr}.booking-form .wide{grid-column:auto}.booking-adjustment{grid-template-columns:1fr 1fr}.booking-adjustment input[name=reason]{grid-column:1/-1}}@media (max-width:420px){.barbecue-tabs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.barbecue-tabs button{width:100%}}@media (max-width:520px){.class-tabs:not(.barbecue-tabs){grid-template-columns:repeat(2,minmax(0,220px));justify-content:start;align-items:center;display:grid}.class-tabs:not(.barbecue-tabs) a{width:100%}}@media (max-width:360px){.class-tabs:not(.barbecue-tabs){grid-template-columns:minmax(0,220px)}}.stock-open-button{width:max-content;margin:0 0 18px;list-style:none}.stock-open-button::-webkit-details-marker{display:none}.stock-panel-content{gap:16px;display:grid}.stock-lot-list{gap:9px;display:grid}.stock-lot-card{border:1px solid var(--line);background:var(--surface-raised);border-radius:11px;padding:12px}.stock-lot-heading{color:var(--ink);align-items:center;gap:10px;font-size:12px;display:flex}.stock-lot-heading>div{flex:1;gap:4px;display:grid}.stock-lot-edit small,.stock-lot-heading small{color:var(--muted)}.stock-lot-heading>span:last-child{color:var(--muted);text-align:right}.stock-color-dot{border:1px solid var(--line);vertical-align:-1px;border-radius:50%;flex:none;width:12px;height:12px;margin-right:6px;display:inline-block}.stock-lot-edit{border-top:1px solid var(--line);color:var(--heading-blue);margin-top:10px;padding-top:8px}.stock-lot-edit>form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;margin:10px 0;display:grid}.bracelet-rgb-controls label,.stock-adjust-form label,.stock-color-picker label,.stock-lot-edit label{color:var(--muted);gap:5px;font-size:11px;display:grid}.stock-adjust-form input,.stock-adjust-form select,.stock-form select,.stock-lot-edit input,.stock-lot-edit select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:7px 9px}.bracelet-color-picker{gap:9px;min-width:0;display:grid}.bracelet-color-picker>label{color:var(--muted);gap:5px;font-size:11px;display:grid}.bracelet-color-picker select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:7px 9px}.bracelet-rgb-controls{grid-template-columns:repeat(5,minmax(56px,1fr));align-items:end;gap:8px;display:grid}.bracelet-rgb-controls input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:36px;color:var(--ink);font:inherit;border-radius:7px;padding:6px}.bracelet-rgb-controls input[type=color]{padding:3px}.bracelet-color-preview{color:var(--muted);grid-column:1/-1;align-items:center;gap:9px;font-size:11px;display:flex}.bracelet-color-preview>span{border:1px solid var(--line);border-radius:6px;width:28px;height:22px}.stock-adjust-section,.stock-movement-history{border-top:1px solid var(--line);padding-top:14px}.stock-adjust-section h3,.stock-movement-history h3{color:var(--heading-blue);margin:0 0 8px;font-size:13px}.stock-adjust-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:10px;display:grid}.stock-movement-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:1fr auto;gap:4px 10px;padding:8px 0;font-size:11px;display:grid}.stock-movement-row small,.stock-movement-row span{color:var(--muted)}.stock-movement-row small{grid-column:1/-1}.sales-head,.sales-row{grid-template-columns:1.2fr .8fr 1.2fr .8fr 1fr 30px}.sales-row select{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:9px;padding:0 8px;font-size:12px}@media (max-width:760px){.stock-adjust-form{grid-template-columns:1fr}.sales-head{display:none}.sales-row{grid-template-columns:1fr 1fr}.stock-lot-heading{flex-wrap:wrap;align-items:flex-start}.stock-lot-heading>span:last-child{text-align:left;width:100%}.bracelet-rgb-controls{grid-template-columns:repeat(3,minmax(50px,1fr))}.bracelet-color-preview,.bracelet-rgb-controls>label:nth-of-type(4){grid-column:1/-1}}.mobile-menu{display:none}.scrim{background:#02070bb3}@media (max-width:760px){.sidebar{box-shadow:20px 0 60px #00000059}.main{margin-left:0}.topbar{min-height:64px;padding:0 16px}.mobile-menu{display:grid}.mobile-brand,.topbar-admin-label{display:none}.topbar-right{gap:8px}.content{padding:26px 18px}.auth-theme-toggle{top:12px;right:12px}}@media (max-width:440px){.topbar-label{font-size:8px}.topbar-heading>strong{font-size:12px}.topbar-right .avatar{width:31px;height:31px}.access-card{padding:27px 22px}}.dashboard-page{--dash-canvas:#080d18;--dash-card:#111a2b;--dash-blue:#258cff;--dash-cyan:#39d9d0;--dash-purple:#b18cff;--dash-yellow:#f5b84b;isolation:isolate;position:relative}.dashboard-page:before{z-index:-1;background:radial-gradient(ellipse at 78% 2%,var(--dash-blue),transparent 32rem),radial-gradient(ellipse at 35% 10%,var(--dash-purple),transparent 28rem),var(--dash-canvas);position:fixed;inset:0 0 0 250px}@supports (color:color-mix(in lab,red,red)){.dashboard-page:before{background:radial-gradient(ellipse at 78% 2%,color-mix(in srgb,var(--dash-blue) 9%,transparent),transparent 32rem),radial-gradient(ellipse at 35% 10%,color-mix(in srgb,var(--dash-purple) 5%,transparent),transparent 28rem),var(--dash-canvas)}}.dashboard-page:before{content:"";pointer-events:none}:root[data-theme=light] .dashboard-page{--dash-canvas:#eef3fa;--dash-card:#fff;--dash-blue:#075fb9;--dash-cyan:#007b91;--dash-purple:#7752b5;--dash-yellow:#8b5a00}.dashboard-page .page-title{color:var(--dash-blue)}.dashboard-toolbar{justify-content:space-between;align-items:end;gap:22px;margin:26px 0 14px;display:flex}.dashboard-toolbar .section-heading{color:var(--ink);margin:0;font-size:15px}.dashboard-toolbar p{max-width:560px;color:var(--muted);margin:5px 0 0;font-size:11px}.dashboard-period-form{flex:none;align-items:center;gap:8px;display:flex}.dashboard-period-form label{color:var(--muted);font-size:11px}.dashboard-period-form select{border:1px solid var(--line);background:var(--surface-raised);min-height:36px;color:var(--ink);font:inherit;border-radius:9px;padding:0 28px 0 10px;font-size:11px}.dashboard-filter-submit{border:1px solid var(--dash-blue);min-height:36px}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-submit{border:1px solid color-mix(in srgb,var(--dash-blue) 40%,var(--line))}}.dashboard-filter-submit{background:var(--dash-blue);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-submit{background:color-mix(in srgb,var(--dash-blue) 14%,var(--dash-card))}}.dashboard-filter-submit{color:var(--dash-blue);font:inherit;cursor:pointer;padding:0 11px;font-size:11px;font-weight:700}.dashboard-filter-submit:hover{background:var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-submit:hover{background:color-mix(in srgb,var(--dash-blue) 23%,var(--dash-card))}}.dashboard-filter-submit:focus-visible,.dashboard-period-form select:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.dashboard-metric-card{border:1px solid var(--dash-blue);align-content:start;gap:8px;min-width:0;min-height:190px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card{border:1px solid color-mix(in srgb,var(--dash-blue) 19%,var(--line))}}.dashboard-metric-card{background:linear-gradient(145deg,var(--dash-card),var(--dash-card));border-radius:15px}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card{background:linear-gradient(145deg,color-mix(in srgb,var(--dash-card) 95%,var(--surface)),var(--dash-card))}}.dashboard-metric-card{padding:15px 16px 12px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;animation:dashboard-card-enter .36s both;box-shadow:0 12px 28px #0000002b,inset 0 1px #ffffff06}.dashboard-metric-card:nth-child(2){animation-delay:35ms}.dashboard-metric-card:nth-child(3){animation-delay:70ms}.dashboard-metric-card:nth-child(4){animation-delay:.105s}.dashboard-metric-card:hover{border-color:var(--metric-color);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card:hover{border-color:color-mix(in srgb,var(--metric-color) 56%,var(--line))}}.dashboard-metric-card:hover{background:linear-gradient(145deg,var(--metric-color),var(--dash-card))}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card:hover{background:linear-gradient(145deg,color-mix(in srgb,var(--metric-color) 8%,var(--dash-card)),var(--dash-card))}}.dashboard-metric-card:hover{box-shadow:0 13px 29px var(--metric-color),0 0 16px var(--metric-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card:hover{box-shadow:0 13px 29px color-mix(in srgb,var(--metric-color) 9%,transparent),0 0 16px color-mix(in srgb,var(--metric-color) 8%,transparent)}}.dashboard-metric-card:focus-visible{border-color:var(--metric-color);outline:2px solid var(--metric-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-card:focus-visible{outline:2px solid color-mix(in srgb,var(--metric-color) 65%,transparent)}}.dashboard-metric-card:focus-visible{outline-offset:2px}.dashboard-metric-blue{--metric-color:var(--dash-blue)}.dashboard-metric-cyan{--metric-color:var(--dash-cyan)}.dashboard-metric-purple{--metric-color:var(--dash-purple)}.dashboard-metric-yellow{--metric-color:var(--dash-yellow)}.dashboard-metric-heading{color:var(--muted);letter-spacing:.025em;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:650;line-height:1.3;display:flex}.dashboard-metric-mark{background:var(--metric-color);width:7px;height:7px;box-shadow:0 0 10px var(--metric-color);border-radius:50%;flex:0 0 7px}@supports (color:color-mix(in lab,red,red)){.dashboard-metric-mark{box-shadow:0 0 10px color-mix(in srgb,var(--metric-color) 55%,transparent)}}.dashboard-metric-value-row{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.dashboard-metric-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(21px,2vw,27px);font-weight:760;line-height:1.12;overflow:hidden}.dashboard-metric-yellow .dashboard-metric-value{font-size:clamp(19px,1.8vw,24px)}.dashboard-change{background:var(--success);border-radius:999px;flex:none;align-items:center;gap:2px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.dashboard-change{background:color-mix(in srgb,var(--success) 11%,transparent)}}.dashboard-change{color:var(--success);font-variant-numeric:tabular-nums;padding:3px 6px;font-size:9px;font-weight:700}.dashboard-change.is-negative{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.dashboard-change.is-negative{background:color-mix(in srgb,var(--danger) 11%,transparent)}}.dashboard-change.is-negative{color:var(--danger)}.dashboard-change-muted{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dashboard-change-muted{background:color-mix(in srgb,var(--muted) 8%,transparent)}}.dashboard-change-muted{color:var(--muted);font-weight:550}.dashboard-chart{align-content:end;min-height:57px;display:grid;position:relative}.dashboard-chart svg{cursor:crosshair;touch-action:pan-y;width:100%;height:48px;display:block;overflow:visible}.dashboard-chart svg:focus-visible{outline:1px solid var(--metric-color);outline-offset:2px;border-radius:5px}.dashboard-chart-area{opacity:.9;animation:dashboard-chart-fade .45s both}.dashboard-chart-line{fill:none;stroke:var(--metric-color);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px var(--metric-color))}@supports (color:color-mix(in lab,red,red)){.dashboard-chart-line{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--metric-color) 42%,transparent))}}.dashboard-chart-line{vector-effect:non-scaling-stroke}.dashboard-chart-fill-start{stop-color:var(--metric-color);stop-opacity:.23}.dashboard-chart-fill-end{stop-color:var(--metric-color);stop-opacity:0}.dashboard-chart-crosshair{stroke:var(--metric-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-chart-crosshair{stroke:color-mix(in srgb,var(--metric-color) 38%,transparent)}}.dashboard-chart-crosshair{stroke-dasharray:2 3;stroke-width:1px}.dashboard-chart-active-point{fill:var(--dash-card);stroke:var(--metric-color);stroke-width:2px;filter:drop-shadow(0 0 4px var(--metric-color))}@supports (color:color-mix(in lab,red,red)){.dashboard-chart-active-point{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--metric-color) 65%,transparent))}}.dashboard-chart-tooltip{color:var(--muted);opacity:0;pointer-events:none;align-items:center;gap:6px;font-size:9px;transition:opacity .12s;display:flex;position:absolute;bottom:0;right:0}.dashboard-chart-tooltip[data-visible=true]{opacity:1}.dashboard-chart-tooltip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.dashboard-card-state,.dashboard-chart-empty{min-height:57px;color:var(--muted);align-content:center;font-size:10px;display:grid}.dashboard-card-state.is-error{color:var(--danger)}.dashboard-card-link-label{color:var(--metric-color);justify-content:flex-end;align-items:center;gap:4px;margin-top:auto;display:flex}@supports (color:color-mix(in lab,red,red)){.dashboard-card-link-label{color:color-mix(in srgb,var(--metric-color) 80%,var(--muted))}}.dashboard-card-link-label{opacity:.75;font-size:9px;font-weight:650}.dashboard-metric-card:hover .dashboard-card-link-label{opacity:1}.dashboard-data-note{color:var(--muted);margin:11px 0 0;font-size:10px}.dashboard-agenda{border:1px solid #258cff;margin-top:27px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda{border:1px solid color-mix(in srgb,#258cff 30%,var(--line))}}.dashboard-agenda{background:linear-gradient(145deg,#111a2b,#111a2b);border-radius:17px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda{background:linear-gradient(145deg,color-mix(in srgb,#111a2b 94%,var(--surface)),#111a2b)}}.dashboard-agenda{padding:clamp(14px,2vw,20px);box-shadow:0 14px 34px #0003,0 0 18px #258cff0f,inset 0 1px #ffffff06}:root[data-theme=light] .dashboard-agenda{background:linear-gradient(145deg,#fff,#f4f8ff)}.dashboard-agenda-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.dashboard-agenda-eyebrow{color:var(--dash-blue);letter-spacing:.13em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:750}.dashboard-agenda-header h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(15px,1.8vw,19px)}.dashboard-agenda-date{color:var(--muted);text-transform:capitalize;align-items:center;gap:8px;margin:5px 0 0;font-size:11px;display:flex}.dashboard-agenda-today{border:1px solid var(--dash-cyan)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-today{border:1px solid color-mix(in srgb,var(--dash-cyan) 32%,transparent)}}.dashboard-agenda-today{background:var(--dash-cyan);border-radius:99px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-today{background:color-mix(in srgb,var(--dash-cyan) 9%,transparent)}}.dashboard-agenda-today{color:var(--dash-cyan);text-transform:uppercase;padding:2px 7px;font-size:9px;font-weight:700}.dashboard-agenda-actions{flex:none;align-items:center;gap:7px;display:flex}.dashboard-agenda-copy,.dashboard-agenda-date-form button,.dashboard-agenda-refresh{border:1px solid var(--line);background:var(--surface-raised);min-height:35px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;padding:0 10px;font-size:10px;font-weight:680;transition:border-color .16s,box-shadow .16s,background .16s}.dashboard-agenda-refresh:hover{border-color:var(--dash-blue);color:var(--dash-blue)}.dashboard-agenda-copy{border-color:var(--brand-coral)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-copy{border-color:color-mix(in srgb,var(--brand-coral) 45%,var(--dash-blue))}}.dashboard-agenda-copy{background:linear-gradient(110deg,var(--brand-coral),var(--dash-blue))}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-copy{background:linear-gradient(110deg,color-mix(in srgb,var(--brand-coral) 20%,var(--dash-card)),color-mix(in srgb,var(--dash-blue) 20%,var(--dash-card)))}}.dashboard-agenda-copy{color:var(--ink);text-transform:uppercase;letter-spacing:.025em}.dashboard-agenda-copy:hover{border-color:var(--dash-blue);box-shadow:0 0 13px var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-copy:hover{box-shadow:0 0 13px color-mix(in srgb,var(--dash-blue) 19%,transparent)}}.dashboard-agenda-copy:disabled{cursor:wait;opacity:.55}.dashboard-agenda-nav{border-top:1px solid var(--dash-blue);flex-wrap:wrap;align-items:center;gap:7px;margin:14px 0 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-nav{border-top:1px solid color-mix(in srgb,var(--dash-blue) 15%,var(--line))}}.dashboard-agenda-nav{border-bottom:1px solid var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-nav{border-bottom:1px solid color-mix(in srgb,var(--dash-blue) 15%,var(--line))}}.dashboard-agenda-nav{padding:9px 0}.dashboard-agenda-nav>a{border:1px solid var(--line);background:var(--dash-card);border-radius:8px;align-items:center;min-height:30px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-nav>a{background:color-mix(in srgb,var(--dash-card) 66%,var(--surface-raised))}}.dashboard-agenda-nav>a{color:var(--muted);padding:0 9px;font-size:10px;font-weight:620}.dashboard-agenda-nav>a:hover,.dashboard-agenda-nav>a[aria-current=date]{border-color:var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-nav>a:hover,.dashboard-agenda-nav>a[aria-current=date]{border-color:color-mix(in srgb,var(--dash-blue) 47%,var(--line))}}.dashboard-agenda-nav>a:hover,.dashboard-agenda-nav>a[aria-current=date]{color:var(--dash-blue)}.dashboard-agenda-date-form{align-items:center;gap:6px;margin-left:auto;display:flex}.dashboard-agenda-date-form label{color:var(--muted);font-size:10px}.dashboard-agenda-date-form input{border:1px solid var(--line);background:var(--surface-raised);max-width:150px;min-height:31px;color:var(--ink);font:inherit;border-radius:8px;padding:0 7px;font-size:10px}.dashboard-agenda-date-form button{min-height:31px;color:var(--dash-blue);padding-inline:8px;font-size:9px}.dashboard-agenda-actions button:focus-visible,.dashboard-agenda-date-form button:focus-visible,.dashboard-agenda-date-form input:focus-visible,.dashboard-agenda-nav a:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.dashboard-agenda-feedback,.dashboard-agenda-notice{border:1px solid var(--dash-cyan);margin:8px 0 0}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-feedback,.dashboard-agenda-notice{border:1px solid color-mix(in srgb,var(--dash-cyan) 30%,transparent)}}.dashboard-agenda-feedback,.dashboard-agenda-notice{background:var(--dash-cyan);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-feedback,.dashboard-agenda-notice{background:color-mix(in srgb,var(--dash-cyan) 7%,var(--dash-card))}}.dashboard-agenda-feedback,.dashboard-agenda-notice{color:var(--dash-cyan);padding:8px 10px;font-size:10px}.dashboard-agenda-notice{border-color:var(--dash-yellow)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-notice{border-color:color-mix(in srgb,var(--dash-yellow) 30%,transparent)}}.dashboard-agenda-notice{background:var(--dash-yellow)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-notice{background:color-mix(in srgb,var(--dash-yellow) 7%,var(--dash-card))}}.dashboard-agenda-notice{color:var(--dash-yellow)}.dashboard-agenda-recurrence-note{color:var(--muted);margin:7px 0 0;font-size:9px}.dashboard-agenda-state{border:1px dashed var(--dash-blue);gap:3px;display:grid}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-state{border:1px dashed color-mix(in srgb,var(--dash-blue) 28%,var(--line))}}.dashboard-agenda-state{background:var(--dash-blue);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-state{background:color-mix(in srgb,var(--dash-blue) 5%,var(--dash-card))}}.dashboard-agenda-state{color:var(--muted);padding:13px;font-size:10px}.dashboard-agenda-state strong{color:var(--ink);font-size:11px}.dashboard-agenda-state.is-error strong{color:var(--danger)}.dashboard-agenda-state.is-unavailable strong{color:var(--dash-yellow)}.dashboard-agenda-categories{gap:14px;display:grid}.dashboard-agenda-category{--agenda-color:var(--dash-blue);border-top:1px solid var(--agenda-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-category{border-top:1px solid color-mix(in srgb,var(--agenda-color) 24%,var(--line))}}.dashboard-agenda-category{padding-top:10px}.dashboard-agenda-category-courts{--agenda-color:var(--dash-blue)}.dashboard-agenda-category-barbecues{--agenda-color:var(--dash-yellow)}.dashboard-agenda-category-events{--agenda-color:var(--dash-purple)}.dashboard-agenda-category-other{--agenda-color:var(--dash-cyan)}.dashboard-agenda-category-classes_unassigned{--agenda-color:var(--dash-yellow)}.dashboard-agenda-category>h3{color:var(--agenda-color);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 8px;font-size:10px;font-weight:780;display:flex}.dashboard-agenda-category>h3>span{border:1px solid var(--agenda-color);place-items:center;min-width:19px;height:19px;display:grid}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-category>h3>span{border:1px solid color-mix(in srgb,var(--agenda-color) 24%,transparent)}}.dashboard-agenda-category>h3>span{background:var(--agenda-color);border-radius:99px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-category>h3>span{background:color-mix(in srgb,var(--agenda-color) 8%,transparent)}}.dashboard-agenda-category>h3>span{color:var(--agenda-color);letter-spacing:0;font-size:9px}.dashboard-agenda-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-agenda-resource{border:1px solid var(--agenda-color);min-width:0}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-resource{border:1px solid color-mix(in srgb,var(--agenda-color) 20%,var(--line))}}.dashboard-agenda-resource{background:var(--dash-card);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-resource{background:color-mix(in srgb,var(--dash-card) 86%,var(--surface-raised))}}.dashboard-agenda-resource{padding:9px 10px 8px;transition:border-color .16s,box-shadow .16s}.dashboard-agenda-resource:hover{border-color:var(--agenda-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-resource:hover{border-color:color-mix(in srgb,var(--agenda-color) 45%,var(--line))}}.dashboard-agenda-resource:hover{box-shadow:0 0 12px var(--agenda-color)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-resource:hover{box-shadow:0 0 12px color-mix(in srgb,var(--agenda-color) 7%,transparent)}}.dashboard-agenda-resource>header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.dashboard-agenda-resource h4{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:730;overflow:hidden}.dashboard-agenda-resource-state{color:var(--muted);flex:none;font-size:8px}.dashboard-agenda-resource-state.is-available{color:var(--dash-cyan)}.dashboard-agenda-resource-state.is-unavailable{color:var(--danger)}.dashboard-agenda-resource.is-unavailable{opacity:.75}.dashboard-agenda-list{gap:1px;margin:0;padding:0;list-style:none;display:grid}.dashboard-agenda-item{border-top:1px solid var(--line)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-item{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}}.dashboard-agenda-item summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 7px;padding:6px 1px;list-style:none;display:grid}.dashboard-agenda-item summary::-webkit-details-marker{display:none}.dashboard-agenda-item summary:focus-visible,.dashboard-agenda-places summary:focus-visible{outline:2px solid var(--agenda-color);outline-offset:2px;border-radius:4px}.dashboard-agenda-event time,.dashboard-agenda-item time{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;font-weight:730}.dashboard-agenda-item-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:620;overflow:hidden}.dashboard-agenda-badge{border:1px solid var(--line);background:var(--surface-raised);border-radius:99px;align-items:center;width:fit-content;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge{background:color-mix(in srgb,var(--surface-raised) 80%,transparent)}}.dashboard-agenda-badge{color:var(--muted);white-space:nowrap;padding:2px 5px;font-size:7px;font-weight:700}.dashboard-agenda-badge.is-confirmed{border-color:var(--dash-cyan)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-confirmed{border-color:color-mix(in srgb,var(--dash-cyan) 24%,transparent)}}.dashboard-agenda-badge.is-confirmed{color:var(--dash-cyan)}.dashboard-agenda-badge.is-pending{border-color:var(--dash-yellow)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-pending{border-color:color-mix(in srgb,var(--dash-yellow) 32%,transparent)}}.dashboard-agenda-badge.is-pending{color:var(--dash-yellow)}.dashboard-agenda-badge.is-in_progress{border-color:var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-in_progress{border-color:color-mix(in srgb,var(--dash-blue) 45%,transparent)}}.dashboard-agenda-badge.is-in_progress{background:var(--dash-blue)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-in_progress{background:color-mix(in srgb,var(--dash-blue) 12%,transparent)}}.dashboard-agenda-badge.is-in_progress{color:var(--dash-blue)}.dashboard-agenda-badge.is-completed{color:var(--muted)}.dashboard-agenda-badge.is-scheduled{border-color:var(--dash-purple)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-scheduled{border-color:color-mix(in srgb,var(--dash-purple) 30%,transparent)}}.dashboard-agenda-badge.is-scheduled{color:var(--dash-purple)}.dashboard-agenda-badge.is-maintenance{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-badge.is-maintenance{border-color:color-mix(in srgb,var(--danger) 30%,transparent)}}.dashboard-agenda-badge.is-maintenance{color:var(--danger)}.dashboard-agenda-source{color:var(--agenda-color);grid-column:2/-1;font-size:8px}.dashboard-agenda-item-detail{color:var(--muted);gap:3px;padding:0 0 7px 1px;font-size:9px;display:grid}.dashboard-agenda-item-detail strong{color:var(--ink);font-weight:600}.dashboard-agenda-empty-resource{border-top:1px solid var(--line);margin:0}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-empty-resource{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}}.dashboard-agenda-empty-resource{color:var(--muted);padding:7px 1px 2px;font-size:9px}.dashboard-agenda-event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-agenda-event{border:1px solid var(--agenda-color);gap:3px;display:grid}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-event{border:1px solid color-mix(in srgb,var(--agenda-color) 25%,var(--line))}}.dashboard-agenda-event{background:var(--dash-card);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.dashboard-agenda-event{background:color-mix(in srgb,var(--dash-card) 85%,var(--surface-raised))}}.dashboard-agenda-event{color:var(--muted);padding:9px 10px;font-size:9px}.dashboard-agenda-event-top{justify-content:space-between;align-items:center;gap:7px;display:flex}.dashboard-agenda-event>strong{color:var(--ink);font-size:11px}.dashboard-agenda-event>span{overflow-wrap:anywhere}.dashboard-agenda-unlinked{color:var(--muted);font-style:italic}.dashboard-agenda-places{border-top:1px solid var(--line);margin-top:3px;padding-top:4px}.dashboard-agenda-places summary{width:fit-content;color:var(--agenda-color);cursor:pointer;font-size:9px}.dashboard-agenda-places ul{color:var(--ink);gap:3px;margin:5px 0 0;padding-left:17px;display:grid}.dashboard-agenda-item-class{--agenda-color:var(--dash-purple)}.dashboard-agenda-item-maintenance{--agenda-color:var(--danger)}.dashboard-agenda-item-event{--agenda-color:var(--dash-purple)}.dashboard-metric-skeleton{cursor:progress}.dashboard-skeleton{background:linear-gradient(90deg,var(--surface-raised),var(--dash-blue),var(--surface-raised));border-radius:7px;display:block}@supports (color:color-mix(in lab,red,red)){.dashboard-skeleton{background:linear-gradient(90deg,var(--surface-raised),color-mix(in srgb,var(--dash-blue) 12%,var(--surface-raised)),var(--surface-raised))}}.dashboard-skeleton{background-size:200% 100%;animation:dashboard-skeleton-shimmer 1.2s ease-in-out infinite}.dashboard-skeleton-title{width:55%;height:11px}.dashboard-skeleton-value{width:42%;height:27px;margin-top:5px}.dashboard-skeleton-chart{width:100%;height:50px;margin-top:8px}@keyframes dashboard-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-chart-fade{0%{opacity:0}to{opacity:.9}}@keyframes dashboard-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:1180px){.dashboard-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.dashboard-page:before{left:0}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.dashboard-toolbar{flex-direction:column;align-items:stretch;gap:13px}.dashboard-period-form{justify-content:flex-start}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-metric-card{min-height:178px;padding:13px 11px 10px}.dashboard-metric-heading{min-height:26px;font-size:9px}.dashboard-metric-value{font-size:clamp(19px,6vw,24px)}.dashboard-metric-yellow .dashboard-metric-value{font-size:clamp(16px,4.7vw,21px)}.dashboard-change{gap:1px;padding:3px 4px;font-size:8px}.dashboard-change span{text-overflow:ellipsis;white-space:nowrap;max-width:68px;overflow:hidden}}@media (max-width:900px){.dashboard-agenda-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.dashboard-agenda{margin-top:21px}.dashboard-agenda-header{flex-direction:column;align-items:flex-start}.dashboard-agenda-actions{width:100%}.dashboard-agenda-copy{flex:1}.dashboard-agenda-nav{gap:5px}.dashboard-agenda-date-form{width:100%;margin:3px 0 0}.dashboard-agenda-date-form input{flex:1;max-width:none}.dashboard-agenda-event-list,.dashboard-agenda-resource-grid{grid-template-columns:1fr}.dashboard-agenda-item summary{grid-template-columns:auto minmax(0,1fr) auto;gap:4px 5px}.dashboard-agenda-item time,.dashboard-agenda-item-title{font-size:9px}.dashboard-agenda-source{grid-column:2/-1}}@media (max-width:355px){.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-metric-card{min-height:164px;padding-inline:15px}}@media (prefers-reduced-motion:reduce){.dashboard-chart-area,.dashboard-chart-tooltip,.dashboard-metric-card,.dashboard-skeleton{transition:none!important;animation:none!important}.dashboard-metric-card:hover{transform:none}}.observations-page{align-content:start;gap:20px;display:grid}.observations-page>.page-intro{margin-bottom:0}.observation-composer,.observation-history-section{border:1px solid var(--heading-blue);min-width:0}@supports (color:color-mix(in lab,red,red)){.observation-composer,.observation-history-section{border:1px solid color-mix(in srgb,var(--heading-blue) 20%,var(--line))}}.observation-composer,.observation-history-section{background:var(--surface);border-radius:15px}@supports (color:color-mix(in lab,red,red)){.observation-composer,.observation-history-section{background:color-mix(in srgb,var(--surface) 94%,var(--heading-blue))}}.observation-composer,.observation-history-section{box-shadow:var(--shadow);padding:clamp(15px,2vw,22px)}.observation-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px;display:flex}.observation-section-heading h2{color:var(--heading-blue);margin:0;font-size:15px;font-weight:720}.observation-section-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.observation-section-heading>span{color:var(--muted);flex:none;font-size:10px}.observation-role-badge{border:1px solid var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.observation-role-badge{border:1px solid color-mix(in srgb,var(--heading-blue) 35%,var(--line))}}.observation-role-badge{background:var(--heading-blue);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.observation-role-badge{background:color-mix(in srgb,var(--heading-blue) 10%,var(--surface))}}.observation-role-badge{padding:5px 9px;font-weight:700;color:var(--heading-blue)!important}.observation-filter,.observation-form{gap:13px;display:grid}.observation-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.observation-filter label,.observation-form label,.observation-status-form label{min-width:0;color:var(--muted);gap:5px;font-size:10px;font-weight:650;display:grid}.observation-filter input,.observation-filter select,.observation-form input,.observation-form select,.observation-form textarea,.observation-status-form select{border:1px solid var(--line);background:var(--surface-raised);width:100%;min-width:0;min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 10px;font-size:11px}.observation-form textarea{resize:vertical;min-height:92px;line-height:1.55}.observation-edit summary:focus-visible,.observation-filter :is(input,select):focus-visible,.observation-form :is(input,select,textarea):focus-visible,.observation-status-form select:focus-visible{outline:2px solid var(--heading-blue);outline-offset:2px}.observation-form-wide{grid-column:1/-1}.observation-filter{border:1px solid var(--line);background:var(--surface-raised);border-radius:11px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;margin:16px 0}@supports (color:color-mix(in lab,red,red)){.observation-filter{background:color-mix(in srgb,var(--surface-raised) 65%,transparent)}}.observation-filter{padding:12px}.observation-filter-search{grid-column:span 2}.observation-filter-actions{align-items:end;gap:7px;display:flex}.observation-filter-actions .button{min-height:38px;padding-inline:11px}.observation-record-list{gap:10px;display:grid}.observation-record{border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;min-width:0}@supports (color:color-mix(in lab,red,red)){.observation-record{background:color-mix(in srgb,var(--surface-raised) 74%,var(--surface))}}.observation-record{padding:13px}.observation-record.is-task{border-left:3px solid var(--heading-blue)}.observation-record-actions,.observation-record-header,.observation-record-header>div,.observation-record-meta,.observation-task-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.observation-record-header{justify-content:space-between}.observation-category-tag,.observation-priority,.observation-status,.observation-type-tag,.observation-visibility{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.observation-category-tag,.observation-priority,.observation-status,.observation-type-tag,.observation-visibility{background:color-mix(in srgb,var(--surface) 70%,transparent)}}.observation-category-tag,.observation-priority,.observation-status,.observation-type-tag,.observation-visibility{color:var(--muted);padding:4px 8px;font-size:9px;font-weight:680}.observation-status.in_progress,.observation-type-tag.task{border-color:var(--heading-blue)}@supports (color:color-mix(in lab,red,red)){.observation-status.in_progress,.observation-type-tag.task{border-color:color-mix(in srgb,var(--heading-blue) 32%,var(--line))}}.observation-status.in_progress,.observation-type-tag.task{color:var(--heading-blue)}.observation-type-tag.handover{border-color:var(--brand-cyan)}@supports (color:color-mix(in lab,red,red)){.observation-type-tag.handover{border-color:color-mix(in srgb,var(--brand-cyan) 28%,var(--line))}}.observation-type-tag.handover{color:var(--brand-cyan)}.observation-visibility.private{color:var(--brand-coral)}.observation-priority.high,.observation-priority.urgent,.observation-status.pending{color:var(--warning)}.observation-status.completed{color:var(--success)}.observation-status.cancelled{color:var(--muted)}.observation-record h3{color:var(--ink);margin:10px 0 5px;font-size:13px}.observation-record-body{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.6}.observation-record-meta,.observation-task-meta{color:var(--muted);margin-top:10px;font-size:9px}.observation-task-meta{border-top:1px solid var(--line);padding-top:9px}.observation-record-actions{align-items:flex-start;margin-top:11px}.observation-edit{border-top:1px solid var(--line);flex:100%;padding-top:9px}.observation-edit summary{width:fit-content;color:var(--heading-blue);cursor:pointer;font-size:10px;font-weight:700}.observation-edit[open] .observation-form{margin-top:12px}.observation-status-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.observation-status-form label{min-width:160px}.observation-status-form .form-message{margin:0;font-size:10px}.dashboard-observation-tasks{border:1px solid var(--dash-blue);gap:12px;margin-top:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.dashboard-observation-tasks{border:1px solid color-mix(in srgb,var(--dash-blue) 24%,var(--line))}}.dashboard-observation-tasks{background:var(--dash-card);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.dashboard-observation-tasks{background:color-mix(in srgb,var(--dash-card) 88%,var(--surface))}}.dashboard-observation-tasks{box-shadow:var(--shadow);padding:16px}.dashboard-observation-tasks>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-observation-tasks>header h2{color:var(--ink);margin:3px 0;font-size:14px}.dashboard-observation-tasks>header p{color:var(--muted);margin:0;font-size:10px}.dashboard-observation-tasks>header a{color:var(--dash-blue);font-size:10px;font-weight:700}.dashboard-observation-list{gap:6px;display:grid}.dashboard-observation-list article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) auto auto auto;align-items:center;gap:10px;padding:8px 2px 2px;display:grid}.dashboard-observation-list article>div{gap:3px;min-width:0;display:grid}.dashboard-observation-list article>div strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.dashboard-observation-due,.dashboard-observation-list article>div span{color:var(--muted);font-size:9px}.dashboard-observation-state{border:1px dashed var(--line);color:var(--muted);border-radius:9px;padding:12px;font-size:10px}@media (max-width:900px){.observation-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.observation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.observations-page{gap:14px}.observation-section-heading{align-items:flex-start}.observation-section-heading p{max-width:34ch}.observation-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.observation-filter-actions,.observation-filter-search{grid-column:1/-1}.observation-filter-actions>*{flex:1}.observation-form-grid{grid-template-columns:1fr}.observation-form-wide{grid-column:auto}.observation-record-header{align-items:flex-start}.observation-record-meta,.observation-task-meta{flex-direction:column;align-items:flex-start}.observation-status-form{align-items:stretch;width:100%}.observation-status-form .button,.observation-status-form label{width:100%}}@media (max-width:620px){.dashboard-observation-tasks>header{flex-direction:column}.dashboard-observation-list article{grid-template-columns:1fr auto}.dashboard-observation-list article>div{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.observation-composer,.observation-history-section,.observation-record{transition:none!important}}.user-role-management{gap:9px;margin-top:24px;display:grid}.user-role-management>.section-heading{margin-bottom:0}.profile-role-form{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(130px,.4fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.profile-role-name{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:11px;font-weight:620}.profile-role-form select{border:1px solid var(--line);background:var(--surface-raised);min-height:36px;color:var(--ink);font:inherit;border-radius:8px;padding:0 8px;font-size:11px}.profile-role-form :is(select,button):focus-visible{outline:2px solid var(--dash-blue,var(--primary));outline-offset:2px}.profile-role-form .form-message{grid-column:1/-1;margin:0}@media (max-width:560px){.profile-role-form{grid-template-columns:minmax(0,1fr) auto}.profile-role-name{grid-column:1/-1}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}