.occ{overflow-x:auto}.occ-grid{display:grid;grid-template-columns:170px repeat(var(--days, 14),minmax(56px,1fr));min-width:900px}.occ-head{padding:var(--space-2) 4px;text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-2);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);white-space:nowrap}.occ-head--today{color:var(--color-primary);font-weight:var(--weight-bold)}.occ-head--weekend{background:var(--color-surface-3)}.occ-room{padding:var(--space-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:13px;background:var(--color-surface-2);display:flex;flex-direction:column;gap:2px}.occ-room__name{font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.occ-cell{min-height:40px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:3px 2px;position:relative}.occ-cell--today{background:var(--color-primary-soft)}.occ-cell--weekend{background:var(--color-surface-3)}.occ-cell--ooo{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--color-danger-soft) 6px 12px)}.occ-bar{display:block;width:100%;text-align:left;font:inherit;font-size:var(--text-xs);padding:3px 6px;border-radius:var(--radius-1);border:0;border-left:3px solid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:inherit}.occ-bar--start{border-top-left-radius:var(--radius-2);border-bottom-left-radius:var(--radius-2)}.occ-bar--cont{color:transparent}.occ-bar--info{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-info-text)}.occ-bar--success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success-text)}.occ-bar--neutral{background:var(--color-neutral-soft);border-color:var(--color-neutral);color:var(--color-neutral-text)}.occ-bar--cont.occ-bar--info,.occ-bar--cont.occ-bar--success,.occ-bar--cont.occ-bar--neutral{color:transparent}.occ-bar:hover,.occ-bar:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.hk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-3)}.hk-room{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface)}.hk-room--dirty{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.hk-room--out_of_order{border-color:var(--color-danger);background:var(--color-danger-soft)}.hk-room__num{font-size:var(--text-lg, 18px);font-weight:var(--weight-bold)}.folio-table td:last-child,.folio-table th:last-child{white-space:nowrap}.today-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4);align-items:start}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 210 40% 98%;--foreground: 222 39% 11%;--card: 0 0% 100%;--card-foreground: 222 39% 11%;--popover: 0 0% 100%;--popover-foreground: 222 39% 11%;--primary: 221 83% 53%;--primary-foreground: 210 40% 98%;--secondary: 214 32% 95%;--secondary-foreground: 222 39% 11%;--muted: 214 32% 95%;--muted-foreground: 222 12% 44%;--accent: 214 32% 94%;--accent-foreground: 222 39% 11%;--destructive: 0 84% 60%;--destructive-foreground: 210 40% 98%;--border: 216 26% 92%;--input: 216 26% 92%;--ring: 221 83% 53%;--success: 142 71% 45%;--success-foreground: 142 80% 10%;--success-emphasis: 142 72% 26%;--warning: 38 92% 50%;--warning-foreground: 38 92% 12%;--warning-emphasis: 32 81% 29%;--danger: 0 84% 60%;--danger-foreground: 0 80% 12%;--danger-emphasis: 0 74% 40%;--info: 221 83% 53%;--info-foreground: 210 40% 98%;--info-emphasis: 221 78% 42%;--chart-1: 221 83% 53%;--chart-2: 38 92% 50%;--chart-3: 142 71% 45%;--chart-4: 258 90% 66%;--chart-5: 189 94% 43%;--chart-6: 0 84% 60%;--radius: .25rem}:root[data-theme=dark]{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 44% 14%;--card-foreground: 210 40% 98%;--popover: 222 44% 14%;--popover-foreground: 210 40% 98%;--primary: 217 91% 60%;--primary-foreground: 222 47% 11%;--secondary: 217 33% 20%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 20%;--muted-foreground: 215 20% 65%;--accent: 217 33% 24%;--accent-foreground: 210 40% 98%;--destructive: 0 72% 51%;--destructive-foreground: 210 40% 98%;--border: 217 25% 24%;--input: 217 25% 24%;--ring: 217 91% 60%;--success: 142 69% 58%;--success-foreground: 142 80% 10%;--success-emphasis: 142 60% 70%;--warning: 38 92% 60%;--warning-foreground: 38 92% 12%;--warning-emphasis: 38 85% 70%;--danger: 0 72% 60%;--danger-foreground: 0 80% 12%;--danger-emphasis: 0 80% 76%;--info: 217 91% 60%;--info-foreground: 222 47% 11%;--info-emphasis: 213 90% 76%;--chart-1: 217 91% 60%;--chart-2: 38 92% 60%;--chart-3: 142 69% 58%;--chart-4: 258 90% 74%;--chart-5: 189 94% 55%;--chart-6: 0 72% 65%}.dark:root{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 44% 14%;--card-foreground: 210 40% 98%;--popover: 222 44% 14%;--popover-foreground: 210 40% 98%;--primary: 217 91% 60%;--primary-foreground: 222 47% 11%;--secondary: 217 33% 20%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 20%;--muted-foreground: 215 20% 65%;--accent: 217 33% 24%;--accent-foreground: 210 40% 98%;--destructive: 0 72% 51%;--destructive-foreground: 210 40% 98%;--border: 217 25% 24%;--input: 217 25% 24%;--ring: 217 91% 60%;--success: 142 69% 58%;--success-foreground: 142 80% 10%;--success-emphasis: 142 60% 70%;--warning: 38 92% 60%;--warning-foreground: 38 92% 12%;--warning-emphasis: 38 85% 70%;--danger: 0 72% 60%;--danger-foreground: 0 80% 12%;--danger-emphasis: 0 80% 76%;--info: 217 91% 60%;--info-foreground: 222 47% 11%;--info-emphasis: 213 90% 76%;--chart-1: 217 91% 60%;--chart-2: 38 92% 60%;--chart-3: 142 69% 58%;--chart-4: 258 90% 74%;--chart-5: 189 94% 55%;--chart-6: 0 72% 65%}*{border-color:hsl(var(--border))}html,body,#root{height:100%}body{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1));font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1));font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}h1,h2,h3,h4{margin:0;font-weight:600}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .35) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .35);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .6)}h1,h2,h3,h4{margin:0;font-weight:var(--weight-semibold)}a{color:hsl(var(--info-emphasis))}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.muted{color:hsl(var(--muted-foreground))}.strong{font-weight:var(--weight-semibold)}.tnum{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-3)}.cols-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);align-items:start}.cols-main-side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-3);align-items:start}.text-success{color:hsl(var(--success))}.text-danger{color:hsl(var(--danger))}.text-warning{color:hsl(var(--warning))}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 860px){.cols-2,.cols-3,.cols-main-side,.cols-2-1{grid-template-columns:1fr}}.app{display:flex;height:100%}.app--dock{flex-direction:column;overflow:hidden}.app--dock>.main{flex:1 1 auto;min-height:0}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:auto}.topbar__right{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.topbar__user{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 4px;border:0;border-radius:var(--radius-2);background:transparent;color:hsl(var(--foreground));font:inherit;cursor:pointer;text-align:left}.topbar__user:hover{background:hsl(var(--accent))}.topbar__user-text{display:none;flex-direction:column;gap:0;line-height:1.25;min-width:0}@media (min-width: 1280px){.topbar__user-text{display:flex}}.topbar__user-name{font-size:13.5px;font-weight:var(--weight-semibold);white-space:nowrap}.topbar__user-role{font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.topbar__user .icon--chevron{color:hsl(var(--muted-foreground))}.search{position:relative}.search__icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.search__icon svg{width:18px;height:18px}.search input{padding-left:36px;background:hsl(var(--muted));border-color:transparent;min-height:38px;border-radius:10px}.search input:hover:not(:focus){border-color:hsl(var(--border))}.search input:focus{background:hsl(var(--card));border-color:hsl(var(--primary))}.search__results{left:0;right:0;width:auto;max-height:460px}.search__group{padding:8px var(--space-4) 4px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:var(--weight-semibold)}.search__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:8px var(--space-4);border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.search__item:hover,.search__item[aria-selected=true]{background:hsl(var(--accent))}.search__item .icon{color:hsl(var(--muted-foreground));width:18px;height:18px}.search__item-text{min-width:0;flex:1;display:flex;flex-direction:column}.search__item-sub{color:hsl(var(--muted-foreground));font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search__state{padding:var(--space-4);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.center-screen{min-height:100%;display:grid;place-items:center;padding:var(--space-6)}@media (max-width: 767px){.side{position:fixed;inset:0 auto 0 0;z-index:60;transform:translate(-100%);transition:transform var(--duration-base);box-shadow:0 14px 35px hsl(var(--foreground) / .08)}.app--nav-open .side{transform:none}.app__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:55}.topbar__menu{display:inline-flex}}.login-card{width:380px;max-width:100%}.login-wrap{width:560px;max-width:100%;align-items:center}.login-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);width:100%}.role-card{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--space-3);border:1px solid hsl(var(--border));border-radius:var(--radius-3);background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;font:inherit}.role-card:hover{border-color:hsl(var(--muted-foreground) / .4)}.role-card[aria-pressed=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.client-shell{min-height:100%}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-3);box-shadow:0 10px 30px hsl(var(--foreground) / .06);min-width:0}.card--pad{padding:var(--space-5)}.card:not(.card--pad)>.card__head{padding:var(--space-4) var(--space-5) var(--space-3);margin-bottom:0;border-bottom:1px solid hsl(var(--border))}.card:not(.card--pad)>.list{padding:var(--space-3)}.card:not(.card--pad)>.\!list{padding:var(--space-3)!important}.card__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:var(--weight-semibold);margin-bottom:10px;display:flex;align-items:center;gap:var(--space-2)}.card--table .card__head{padding:var(--space-4) var(--space-5) 0;margin-bottom:var(--space-3)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.toolbar input,.toolbar select,.toolbar textarea{width:auto;min-width:130px;height:2rem;font-size:var(--text-xs)}.toolbar input[type=search]{min-width:200px}.toolbar>[data-field]{flex-direction:row;align-items:center;gap:var(--space-2)}.\!form{display:flex!important;flex-direction:column!important;gap:var(--space-3)!important}.form{display:flex;flex-direction:column;gap:var(--space-3)}input[type=checkbox],input[type=radio]{accent-color:hsl(var(--primary));width:15px;height:15px;margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--muted-foreground));padding:9px var(--space-3);border-bottom:1px solid hsl(var(--border));white-space:nowrap;background:hsl(var(--card))}.table th[data-sortable]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table th[data-sortable]:hover{color:hsl(var(--foreground))}.table th.num,.table td.num{text-align:right}.table td{padding:10px var(--space-3);border-bottom:1px solid hsl(var(--border));vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:hsl(var(--accent))}.\!list{display:flex!important;flex-direction:column!important;gap:6px!important}.list{display:flex;flex-direction:column;gap:6px}.list-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:7px 10px;border:1px solid hsl(var(--border));border-radius:var(--radius-2);background:hsl(var(--card));font-size:13px}.list-row--action{cursor:pointer}.list-row--action:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1)}@media (min-width: 1100px){.quote-side{position:sticky;top:var(--space-4)}}.sum-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0;border-bottom:1px dashed hsl(var(--border))}.sum-line>span{color:hsl(var(--muted-foreground))}.sum-line--total{border-bottom:0;border-top:2px solid hsl(var(--foreground));margin-top:6px;padding-top:var(--space-2);font-size:15px}.sum-line--total>span{color:hsl(var(--foreground))}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);border:1px solid hsl(var(--border));background:hsl(var(--card));font-size:12px;font-weight:var(--weight-medium);cursor:pointer;color:hsl(var(--muted-foreground));font-family:inherit}.chip:hover{border-color:hsl(var(--muted-foreground) / .4);color:hsl(var(--foreground))}.chip[aria-pressed=true]{border-color:hsl(var(--primary));color:hsl(var(--info-emphasis));background:hsl(var(--primary) / .1)}.stepper{display:inline-flex;align-items:center;border:1px solid hsl(var(--border));border-radius:var(--radius-2);overflow:hidden}.stepper button{width:28px;height:28px;border:0;background:hsl(var(--card));color:hsl(var(--foreground));font-size:15px;cursor:pointer}.stepper button:hover{background:hsl(var(--accent))}.stepper span{min-width:28px;text-align:center;font-weight:var(--weight-semibold)}.popover-anchor{position:relative}.popover{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-height:440px;overflow:auto;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-3);box-shadow:0 14px 35px hsl(var(--foreground) / .08);z-index:var(--z-popover)}.popover__head{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-4);border-bottom:1px solid hsl(var(--border));font-weight:var(--weight-semibold);font-size:13.5px}.popover__head .badge{background:hsl(var(--primary) / .1);color:hsl(var(--info-emphasis))}.badge{min-width:17px;height:17px;padding:0 5px;border-radius:var(--radius-pill);background:hsl(var(--danger));color:hsl(var(--primary-foreground));font-size:var(--text-2xs);font-weight:var(--weight-bold);display:inline-grid;place-items:center}.bell-badge{position:absolute;top:4px;right:4px;min-width:8px;height:8px;padding:0;font-size:0;box-shadow:0 0 0 2px hsl(var(--card))}.notice-list{display:flex;flex-direction:column}.\!notice{display:flex!important;gap:var(--space-2)!important;align-items:flex-start!important;padding:8px var(--space-3) 8px var(--space-4)!important;border-bottom:1px solid hsl(var(--border))!important;font-size:13px!important;line-height:1.4!important}.notice{display:flex;gap:var(--space-2);align-items:flex-start;padding:8px var(--space-3) 8px var(--space-4);border-bottom:1px solid hsl(var(--border));font-size:13px;line-height:1.4}.notice__body{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;cursor:pointer;padding:2px 0;border-radius:var(--radius-1)}.notice__body:hover{color:hsl(var(--info-emphasis))}.\!notice .dot{margin-top:7px!important}.notice .dot{margin-top:7px}.notice--snoozed{opacity:.75}.popover__foot{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);border-top:1px solid hsl(var(--border));background:hsl(var(--muted));position:sticky;bottom:0}.\!notice:last-child{border-bottom:0!important}.notice:last-child{border-bottom:0}.\!notice .dot{margin-top:6px!important}.notice .dot{margin-top:6px}.list-row{color:inherit;text-decoration:none}.barlist{display:flex;flex-direction:column;gap:10px}.barlist__row{display:grid;grid-template-columns:minmax(90px,170px) 1fr auto;gap:var(--space-3);align-items:center;font-size:13px}.barlist--count .barlist__row{grid-template-columns:minmax(90px,170px) auto 1fr auto}.barlist__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist__count{color:hsl(var(--muted-foreground));min-width:24px;text-align:right}.barlist__track{height:12px;background:hsl(var(--muted));border-radius:var(--radius-1);overflow:hidden}.barlist__bar{display:block;height:100%;background:hsl(var(--chart-1));border-radius:var(--radius-1);transition:width var(--duration-base)}.barlist__bar--secondary{background:hsl(var(--chart-2))}.barlist__value{color:hsl(var(--foreground));min-width:70px;text-align:right}.chart__tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-2);box-shadow:0 14px 35px hsl(var(--foreground) / .08);padding:6px 9px;font-size:12px;white-space:nowrap;z-index:5;pointer-events:none;line-height:1.4}.chart__yaxis{grid-area:y;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:var(--text-xs);color:hsl(var(--muted-foreground));padding-right:10px;transform:translateY(.55em);height:var(--chart-h, 180px)}.chart__grid{grid-area:plot;display:flex;flex-direction:column;justify-content:space-between;height:var(--chart-h, 180px);pointer-events:none}.chart__grid i{display:block;height:1px;background:hsl(var(--border))}.columns.chart--axis,.linechart.chart--axis{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"y plot" ". axis" ". legend";-moz-column-gap:0;column-gap:0;row-gap:6px}.chart--axis .columns__plot,.chart--axis .linechart__plot{grid-area:plot;position:relative;z-index:1;border-bottom:0;padding-top:0}.chart--axis .columns__axis{grid-area:axis}.chart--axis .chart-legend{grid-area:legend}.columns{display:flex;flex-direction:column;gap:var(--space-1)}.columns__plot{display:flex;align-items:flex-end;gap:2px;height:var(--chart-h, 180px);border-bottom:1px solid hsl(var(--border));padding-top:22px}.columns__slot{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;outline:none;cursor:default;border-radius:var(--radius-1)}.columns__slot:focus-visible{outline:2px solid hsl(var(--ring))}.columns__bar{width:min(64%,26px);background:hsl(var(--chart-1));border-radius:3px 3px 0 0;min-height:0;transition:opacity var(--duration-fast)}.columns__bar--secondary{background:hsl(var(--chart-2))}.columns__bar[data-active]{opacity:.85}.columns__label{position:absolute;top:-2px;font-size:var(--text-xs);color:hsl(var(--muted-foreground));white-space:nowrap}.columns__axis{display:flex;gap:2px;font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.columns__axis span{flex:1;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.linechart__plot{position:relative;height:var(--chart-h, 180px)}.linechart__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.linechart__line{fill:none;stroke:hsl(var(--chart-1));stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.linechart__area{stroke:none}.linechart__fill-stop{stop-color:hsl(var(--chart-1));stop-opacity:.18}.linechart__fill-stop--end{stop-opacity:.02}.linechart__slot{position:absolute;top:0;bottom:0;width:0;outline:none}.linechart__dot{position:absolute;left:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:hsl(var(--chart-1));box-shadow:0 0 0 2px hsl(var(--card));transition:transform var(--duration-fast)}.linechart__dot--secondary{background:hsl(var(--chart-2))}.linechart__dot[data-active]{transform:scale(1.4)}.linechart__slot .chart__tip{bottom:auto;transform:translate(-50%,calc(-100% - 12px))}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;font-size:var(--text-sm);color:hsl(var(--muted-foreground));margin-top:var(--space-2)}.chart-legend__item{display:inline-flex;align-items:center;gap:6px}.chart-legend__swatch{width:10px;height:10px;border-radius:2px;background:hsl(var(--chart-1));flex:0 0 auto}.donut{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.donut__ring{position:relative;flex:0 0 auto}.donut__ring svg{width:100%;height:100%;display:block}.donut__track{stroke:hsl(var(--muted))}.donut__seg{stroke:hsl(var(--chart-1));transition:stroke-dasharray var(--duration-base)}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut__total{font-size:26px;font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.1}.donut__caption{font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.donut__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px;flex:1;min-width:160px}.donut__legend li{display:flex;align-items:center;gap:8px}.donut__legend .chart-legend__swatch{width:11px;height:11px;border-radius:50%}.list-row>.grow{min-width:140px}.minical{display:flex;flex-direction:column;gap:var(--space-2)}.minical__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.minical__title{font-weight:var(--weight-semibold);font-size:13.5px}.minical__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.minical__dow{text-align:center;font-size:var(--text-xs);color:hsl(var(--muted-foreground));padding:4px 0;font-weight:var(--weight-medium)}.minical__cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:36px;padding:3px 0 2px;border:0;border-radius:var(--radius-1);background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;cursor:default}button.minical__cell{cursor:pointer}button.minical__cell:hover{background:hsl(var(--accent))}.minical__cell--empty{pointer-events:none}.minical__num{width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.minical__cell--today .minical__num{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:var(--weight-semibold)}.minical__dots{display:flex;gap:2px;height:5px}.minical__dot{width:5px;height:5px;border-radius:50%;background:hsl(var(--chart-1));display:inline-block}.minical__legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:hsl(var(--muted-foreground));padding-top:var(--space-2);border-top:1px solid hsl(var(--border))}.minical__legend span{display:inline-flex;align-items:center;gap:5px}.minical__legend .minical__dot{width:7px;height:7px}.dash-grid{display:grid;gap:var(--space-4);align-items:start}.dash-grid--kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-grid--charts{grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,2fr)}.dash-grid--work{grid-template-columns:minmax(0,6fr) minmax(0,5fr) minmax(0,3fr)}.dash-grid--ops{grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,3fr)}.dash-grid--bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width: 1360px){.dash-grid--charts,.dash-grid--ops,.dash-grid--work{grid-template-columns:1fr 1fr}}@media (max-width: 1100px){.dash-grid--kpi{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.dash-grid--kpi,.dash-grid--charts,.dash-grid--ops,.dash-grid--work,.dash-grid--bottom{grid-template-columns:1fr}}.cal{overflow:hidden}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dow{padding:var(--space-2);text-align:center;font-size:var(--text-xs);text-transform:uppercase;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border))}.cal-cell{min-height:96px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));padding:5px;display:flex;flex-direction:column;gap:3px;cursor:pointer}.cal-cell:nth-child(7n){border-right:0}.cal-cell:hover{background:hsl(var(--accent))}.cal-cell--out{background:hsl(var(--muted))}.cal-cell--today{background:hsl(var(--primary) / .06);box-shadow:inset 0 0 0 1px hsl(var(--primary) / .25)}.cal-cell--today:hover{background:hsl(var(--primary) / .12)}.cal-num{font-size:12px;color:hsl(var(--muted-foreground));width:22px;height:22px;display:grid;place-items:center;border-radius:50%}.cal-num--today{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cal-ev{font-size:var(--text-xs);min-width:0;padding:2px 6px;border-radius:var(--radius-1);border-left:3px solid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-ev--success{background:hsl(var(--success) / .15);border-color:hsl(var(--success));color:hsl(var(--success-emphasis))}.cal-ev--warning{background:hsl(var(--warning) / .2);border-color:hsl(var(--warning));color:hsl(var(--warning-emphasis))}.cal-ev--neutral{background:hsl(var(--muted));border-color:hsl(var(--muted-foreground));color:hsl(var(--muted-foreground))}.cal-ev--danger{background:hsl(var(--danger) / .15);border-color:hsl(var(--danger));color:hsl(var(--danger-emphasis))}.legend{display:flex;gap:var(--space-4);margin-top:10px;font-size:12px;color:hsl(var(--muted-foreground));flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.plan{display:flex;flex-direction:column;gap:10px}.floor{position:relative;width:min(100%,calc(72vh * var(--floor-ar, 1.6)));margin-inline:auto;background:var(--plan-floor-bg);border:2px solid var(--plan-wall);border-radius:10px;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-image:linear-gradient(var(--plan-grid) 1px,transparent 1px),linear-gradient(90deg,var(--plan-grid) 1px,transparent 1px);background-size:5% 8%}.floor-ruler{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.floor-ruler__x,.floor-ruler__y{position:absolute;color:hsl(var(--muted-foreground));font-size:9px}.floor-ruler__x{top:0;bottom:0;width:0;border-left:1px solid var(--plan-grid)}.floor-ruler__y{left:0;right:0;height:0;border-top:1px solid var(--plan-grid)}.floor-ruler__x i,.floor-ruler__y i{position:absolute;font-style:normal;background:var(--plan-floor-bg);padding:0 2px}.floor-ruler__x i{top:1px;left:2px}.floor-ruler__y i{left:2px;top:1px}.fel{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:hsl(var(--foreground));cursor:grab;padding:2px;line-height:1.15;overflow:hidden;z-index:1}.fel:active{cursor:grabbing}.fel--readonly{cursor:default}.fel{container-type:size}.fel--table-round,.fel--table-rect{overflow:visible}.fel__label{font-size:clamp(7px,17cqw,13px);line-height:1.1;max-width:108%}.fel .seats{font-size:clamp(6px,12cqw,9px);font-weight:var(--weight-semibold);color:var(--seat-color, hsl(var(--muted-foreground)))}.fel--sel{outline:2px solid hsl(var(--primary));outline-offset:3px;z-index:6}.fel--flag{outline:2px dashed hsl(var(--danger));outline-offset:2px;z-index:5}.fel--table-round,.fel--table-rect{background:var(--plan-table-bg);border:2px solid var(--group-color, hsl(var(--primary)));color:hsl(var(--foreground));background-image:radial-gradient(circle at 50% 32%,hsl(var(--foreground) / .05),transparent 72%)}.fchair{position:absolute;border-radius:22% 22% 42% 42%;background:var(--plan-chair-bg);border:1px solid var(--plan-chair-border);transition:background-color var(--duration-base) ease,border-color var(--duration-base) ease}.fchair:after{content:"";position:absolute;left:14%;right:14%;bottom:100%;height:28%;border-radius:2px 2px 0 0;background:var(--plan-chair-border)}.fchair--taken{--chair: var(--chair-color, var(--group-color, hsl(var(--primary))));background:var(--chair);border-color:var(--chair);cursor:help}.fchair--taken:after{background:var(--chair)}.fchair--taken:before{content:"";position:absolute;left:50%;top:54%;width:52%;height:52%;transform:translate(-50%,-50%);border-radius:50%;background:hsl(var(--card));opacity:.75}@keyframes fchair-sat{0%{box-shadow:0 0 0 0 var(--chair)}to{box-shadow:0 0 0 5px transparent}}.fchair--sat{animation:fchair-sat .9s ease-out}@media (prefers-reduced-motion: reduce){.fchair--sat{animation:none}}.fel--table-round{border-radius:50%}.fel--table-rect{border-radius:7px}.fel--head{border-radius:var(--radius-2);background:hsl(var(--warning) / .15);border:2px solid hsl(var(--warning));color:hsl(var(--warning-emphasis));font-size:var(--text-2xs)}.fel--stage{border-radius:var(--radius-2);background:hsl(var(--primary) / .1);border:1px dashed hsl(var(--primary));font-weight:var(--weight-semibold)}.fel--floor{border-radius:var(--radius-3);background:transparent;border:2px dashed hsl(var(--warning));color:hsl(var(--warning-emphasis));font-weight:var(--weight-semibold)}.fel--bar{border-radius:6px;background:var(--plan-furniture-bg);border:1px solid var(--plan-furniture-border);color:hsl(var(--muted-foreground));font-size:var(--text-2xs)}.fel--dj{border-radius:9px;background:hsl(var(--info) / .15);border:1px solid hsl(var(--info));color:hsl(var(--info-emphasis));font-size:var(--text-2xs)}.fel--window{background:var(--plan-window-bg);border:2px solid hsl(var(--info));color:hsl(var(--info-emphasis));border-radius:3px;font-size:9px}.fel--door{background:transparent;border:2px dashed hsl(var(--success));color:hsl(var(--success));border-radius:var(--radius-1);font-size:9px}.fel--entry{border:0;background:transparent;color:hsl(var(--muted-foreground));font-size:var(--text-2xs)}.fel--pillar{background:var(--plan-pillar-bg);border:2px solid var(--plan-pillar-border);border-radius:5px;font-size:8px}.side-nav__item{display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-2);padding-top:var(--space-2);padding-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;color:hsl(var(--foreground));transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.side-nav__item svg{color:hsl(var(--nav, var(--primary)));transition:color var(--duration-fast) ease}.side-nav__item:hover{background:hsl(var(--nav, var(--primary)) / .08)}.side-nav__item--on{background:hsl(var(--nav, var(--primary)) / .14);color:hsl(var(--nav, var(--primary)))}.side-nav__item--on svg{color:inherit}.page-badge{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-2);background:hsl(var(--nav, var(--primary)) / .14);color:hsl(var(--nav, var(--primary)))}.page-badge svg{width:17px;height:17px}.brand-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2)}.brand-nav-grid__item{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);cursor:pointer}.brand-nav-grid__item input[type=color]{width:28px;height:28px;flex-shrink:0;padding:0;border:1px solid hsl(var(--border));border-radius:var(--radius-2);background:none;cursor:pointer}.brand-nav-grid__item input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.brand-nav-grid__item input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.settings-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--space-4);align-items:start}@media (max-width: 1100px){.settings-shell{grid-template-columns:1fr}.settings-nav__list{max-height:300px}}@media (min-width: 1101px){.settings-nav{position:sticky;top:var(--space-4);height:var(--settings-nav-h, 70vh)}.settings-nav__card{height:100%;display:flex;flex-direction:column}.settings-nav__list{flex:1;min-height:0}}.settings-nav__head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid hsl(var(--border))}.settings-nav__list{display:flex;flex-direction:column;gap:2px;padding:var(--space-2);overflow-y:auto}.settings-nav__item{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-2);text-align:left;color:hsl(var(--foreground));transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.settings-nav__item:hover{background:hsl(var(--accent))}.settings-nav__item--active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.settings-nav__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-2);background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.settings-nav__icon>svg{width:17px;height:17px}.settings-nav__item--active .settings-nav__icon{background:hsl(var(--primary-foreground) / .18);color:hsl(var(--primary-foreground))}.settings-nav__label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav__sub{display:block;margin-top:1px;font-size:var(--text-xs);color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav__item--active .settings-nav__sub{color:hsl(var(--primary-foreground) / .75)}.settings-nav__empty{padding:var(--space-3);font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.settings-head{display:flex;align-items:center;gap:var(--space-3)}.settings-head__icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-3);background:hsl(var(--primary) / .12);color:hsl(var(--primary))}.settings-head__icon>svg{width:22px;height:22px}.settings-head__title{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.2}.settings-head__desc{margin-top:2px;font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.plan-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.plan-meta b{color:hsl(var(--foreground))}.guest-scroll{max-height:300px;overflow:auto}.kanban{display:grid;grid-template-columns:repeat(var(--kanban-cols, 5),minmax(220px,1fr));gap:var(--space-3);overflow-x:auto;align-items:start}.kanban-col{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius-3);padding:10px;min-height:200px;display:flex;flex-direction:column;gap:var(--space-2)}.kanban-col--over{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.kanban-col__head{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));font-weight:var(--weight-semibold)}.kanban-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-2);padding:10px;font-size:13px;cursor:grab;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 30px hsl(var(--foreground) / .06)}.kanban-card:hover{border-color:hsl(var(--muted-foreground) / .4)}@media print{.side,.topbar,.no-print,.toaster{display:none!important}.app{display:block}.content{padding:0}.card{box-shadow:none}.\!content{padding:0!important}}.cal-week{display:grid;grid-template-columns:160px repeat(var(--days, 7),minmax(110px,1fr));min-width:900px}.cal-week .cal-cell{min-height:64px;border-right:1px solid hsl(var(--border))}.cal-room{padding:var(--space-2);border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-weight:var(--weight-semibold);font-size:13px;background:hsl(var(--muted))}.cal-dow--today{color:hsl(var(--primary));font-weight:var(--weight-bold);background:hsl(var(--primary) / .1)}.event-nav{display:flex;align-items:stretch;gap:var(--space-1);overflow-x:auto;border-bottom:1px solid hsl(var(--border));margin-bottom:var(--space-3)}.event-nav__tab{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;margin-bottom:-1px;padding:var(--space-2) var(--space-3);border-bottom:2px solid transparent;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:hsl(var(--muted-foreground));transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease}.event-nav__tab:hover{color:hsl(var(--foreground))}.event-nav__tab--on{border-bottom-color:hsl(var(--primary));color:hsl(var(--primary))}.event-nav__icon{display:inline-flex}.event-nav__icon>svg{width:16px;height:16px}.event-nav__badge{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:var(--text-2xs);font-weight:var(--weight-bold)}.event-nav__tab--on .event-nav__badge{background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.event-nav__sep{width:1px;margin:var(--space-2) var(--space-2);background:hsl(var(--border));flex:0 0 auto}.event-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-1);font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.event-meta span{display:inline-flex;align-items:center;gap:6px}.event-meta svg{width:15px;height:15px;opacity:.8}.kanban-card--dragging{opacity:.5}.kanban-card__meta{font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.kanban-card__foot{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1)}.pre-line{white-space:pre-line;font-weight:var(--weight-regular)}.row--end{justify-content:flex-end;flex-wrap:nowrap}.copy-field{display:flex;gap:var(--space-2);align-items:center}.copy-field .input{font-family:var(--font-mono, monospace);font-size:var(--text-sm)}.color-field{display:flex;gap:var(--space-2);align-items:center}.color-field .input{max-width:140px;font-family:var(--font-mono, monospace);text-transform:uppercase}.color-field__swatch{width:44px;height:36px;padding:2px;border:1px solid hsl(var(--border));border-radius:var(--radius-2);background:hsl(var(--card));cursor:pointer}.settings-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2)}.brand-logo--lg,.brand-mark--lg{width:64px;height:64px;font-size:var(--text-lg)}.brand-logo{width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-2);-o-object-fit:contain;object-fit:contain;background:hsl(var(--card))}.brand-mark{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-2);background:hsl(var(--brand-accent, var(--primary)));color:#fff;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.02em;text-shadow:0 1px 1px rgb(0 0 0 / .18)}.brand-portal{border:1px solid hsl(var(--border));border-radius:var(--radius-2);overflow:hidden}.brand-portal__bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));font-size:var(--text-sm)}.brand-portal__bar .brand-mark,.brand-portal__bar .brand-logo{width:26px;height:26px;font-size:var(--text-2xs)}.brand-portal__body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:hsl(var(--background));font-size:var(--text-sm)}.brand-mailbar{border:1px solid hsl(var(--border));border-radius:var(--radius-2);overflow:hidden;font-size:var(--text-xs)}.brand-mailbar__head{display:block;padding:10px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:var(--weight-bold)}.brand-mailbar__rule{display:block;height:4px;background:hsl(var(--brand-accent, var(--primary)))}.brand-mailbar__body{display:block;padding:10px 12px;color:hsl(var(--muted-foreground))}.files{position:relative;min-height:64px;border-radius:var(--radius-2)}.files--over{outline:2px dashed hsl(var(--primary));outline-offset:4px;background:hsl(var(--primary) / .1)}.files__name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.files__meta{font-size:var(--text-xs)}.files__hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));font-weight:var(--weight-semibold);pointer-events:none}@media (max-width: 640px){.files__meta{display:none}}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.room-facts{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm);color:hsl(var(--muted-foreground))}.room-facts b{color:hsl(var(--foreground))}.room-equipment{font-size:var(--text-sm);white-space:pre-line}.room-mini{position:relative;overflow:hidden;border-radius:var(--radius-2)}.room-mini__inner{width:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none}.room-mini--empty{display:flex;align-items:center;justify-content:center;text-align:center;min-height:96px;padding:var(--space-3);border:1px dashed hsl(var(--border));background:hsl(var(--muted));font-size:var(--text-sm)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-3);align-items:start}.menu-allergens{font-size:var(--text-xs)}.notes{display:flex;gap:var(--space-4);align-items:flex-start}.notes__nav{width:240px;flex:0 0 auto;display:flex;flex-direction:column;gap:2px}.notes__link{display:flex;align-items:center;gap:var(--space-2);text-align:left;padding:7px var(--space-2);border:0;border-radius:var(--radius-2);background:transparent;color:hsl(var(--foreground));font:inherit;cursor:pointer}.notes__link:hover{background:hsl(var(--accent))}.notes__link--on{background:hsl(var(--primary) / .1);font-weight:var(--weight-semibold)}.notes__tools{margin-top:var(--space-3)}.notes__meta{font-size:var(--text-xs);margin-bottom:var(--space-3)}.notes__section{padding:var(--space-3) 0;border-top:1px solid hsl(var(--border))}.notes__section:first-of-type{border-top:0}.notes__h{font-size:var(--text-lg);margin-bottom:var(--space-2)}.notes__section p{margin:0 0 var(--space-2);line-height:1.5}.notes__li{margin:0 0 var(--space-1) var(--space-2)}.notes__thread{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid hsl(var(--border))}.notes__comment{align-items:flex-start}.notes__comment--resolved{opacity:.6}@media (max-width: 860px){.notes{flex-direction:column}.notes__nav{width:100%}}.chat{display:flex;flex-direction:column;gap:var(--space-3)}.chat__log{display:flex;flex-direction:column;gap:var(--space-2);max-height:480px;overflow:auto;padding:var(--space-2);background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius-3)}.chat__msg{max-width:75%;align-self:flex-start;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-3);padding:var(--space-2) var(--space-3)}.chat__msg--own{align-self:flex-end;background:hsl(var(--primary) / .1);border-color:hsl(var(--primary))}.chat__meta{font-size:var(--text-xs);color:hsl(var(--muted-foreground));margin-bottom:2px}.chat__body{white-space:pre-wrap}.chat__form{display:flex;gap:var(--space-2);align-items:flex-end}.chat__form textarea{flex:1;min-height:56px}.pre-line{white-space:pre-line}.span-2{grid-column:span 2}button.list-row{font:inherit;text-align:left;width:100%}.timeline{display:flex;list-style:none;margin:0;padding:0;counter-reset:step}.timeline__step{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 var(--space-1);text-align:center}.timeline__step:before{content:"";position:absolute;top:10px;left:-50%;width:100%;height:2px;background:hsl(var(--border))}.timeline__step:first-child:before{display:none}.timeline__marker{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:hsl(var(--card));border:2px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.timeline__marker .icon{width:14px;height:14px}.timeline__step--done .timeline__marker{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.timeline__step--current .timeline__marker{border-color:hsl(var(--primary));color:hsl(var(--info-emphasis));box-shadow:0 0 0 4px hsl(var(--primary) / .1)}.timeline__label{font-size:var(--text-xs);line-height:1.3;color:hsl(var(--muted-foreground))}.timeline__step--current .timeline__label{color:hsl(var(--foreground));font-weight:var(--weight-semibold)}.timeline__step--done .timeline__label{color:hsl(var(--foreground))}.timeline__date{font-size:var(--text-2xs);line-height:1.3;color:hsl(var(--muted-foreground))}.timeline--cancelled{justify-content:flex-start}.timeline__cancelled{padding:6px 12px;border-radius:var(--radius-2);background:hsl(var(--danger) / .15);color:hsl(var(--danger-emphasis));font-size:var(--text-sm);font-weight:var(--weight-semibold)}@media (max-width: 720px){.timeline__label{font-size:var(--text-xs)}.timeline__date{display:none}}.card--table>.card__title{padding:var(--space-3) var(--space-4) 0}.card--table__body{padding:var(--space-3) var(--space-4) 0}.menu-pick{display:flex;flex-direction:column;gap:var(--space-3);max-height:50vh;overflow:auto}.plan-row{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:var(--space-2);align-items:end}@media (max-width: 640px){.plan-row{grid-template-columns:1fr 1fr}}.sheet-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sheet-head__line{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;flex:1 1 260px;font-size:var(--text-sm)}.sheet-head__meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-head__kind,.sheet-head__title{white-space:nowrap}.sheet-head__title{font-size:var(--text-base);font-weight:var(--weight-bold)}.sheet-head__sep{width:1px;align-self:stretch;min-height:14px;background:hsl(var(--border))}.sheet-head__state{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px 3px 3px var(--space-3);border:1px solid hsl(var(--border));border-radius:var(--radius-3);background:hsl(var(--card))}.sheet-head__state--ok{border-color:hsl(var(--success) / .45);background:hsl(var(--success) / .08)}.sheet-head__state-text{font-size:var(--text-xs);color:hsl(var(--muted-foreground));white-space:nowrap}.sheet-head__state--ok .sheet-head__state-text{color:hsl(var(--success-emphasis))}.ops{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--space-4);align-items:start}.ops__controls{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid hsl(var(--border))}.ops__controls-row{display:flex;align-items:center;gap:var(--space-2)}.ops__body{padding:var(--space-2)}.ops__item{align-items:flex-start}.ops__item-body{gap:2px;flex:1;min-width:0}.ops__item--on{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1)}@media (max-width: 960px){.ops{grid-template-columns:1fr}}@media print{.ops{display:block}.sheet .card{-moz-column-break-inside:avoid;break-inside:avoid}.tabs,.timeline,.\!tabs{display:none!important}}.files__thumb{width:44px;height:44px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-2);border:1px solid hsl(var(--border));background:hsl(var(--muted))}.files__progress{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:13px;margin-top:var(--space-2)}.files__bar{flex-basis:100%;height:6px;border-radius:var(--radius-1);background:hsl(var(--muted));overflow:hidden}.files__bar>span{display:block;height:100%;background:hsl(var(--primary));transition:width var(--duration-fast)}.addon-row{flex-wrap:nowrap}.addon-row>.grow{min-width:0}.addon-row .check{min-width:0}.addon-row .check>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.addon-qty{gap:var(--space-1);flex-wrap:nowrap}.addon-qty__input{width:72px;padding:4px 8px}.roster-chip{display:block;width:100%;text-align:left;font:inherit;font-size:var(--text-xs);padding:3px 6px;border-radius:var(--radius-1);border:0;border-left:3px solid;overflow:hidden;cursor:pointer;background:hsl(var(--muted));border-color:hsl(var(--muted-foreground));color:hsl(var(--muted-foreground))}.roster-chip__time{display:block;font-variant-numeric:tabular-nums;line-height:1.25}.roster-chip__what{display:block;font-weight:var(--weight-semibold);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-chip--static{cursor:default}.roster-chip--info{background:hsl(var(--info) / .15);border-color:hsl(var(--info));color:hsl(var(--info-emphasis))}.roster-chip--success{background:hsl(var(--success) / .15);border-color:hsl(var(--success));color:hsl(var(--success-emphasis))}.roster-chip--warning{background:hsl(var(--warning) / .2);border-color:hsl(var(--warning));color:hsl(var(--warning-emphasis))}.roster-chip--danger{background:hsl(var(--danger) / .15);border-color:hsl(var(--danger));color:hsl(var(--danger-emphasis));text-decoration:line-through}.roster-grid{display:grid;grid-template-columns:180px repeat(7,minmax(120px,1fr));min-width:1000px}.roster-grid .cal-cell{min-height:56px}.roster-grid .cal-cell--today{box-shadow:none}.roster-person{padding:var(--space-2);border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-size:13px;background:hsl(var(--muted));display:flex;flex-direction:column;gap:2px}.roster-person__name{font-weight:var(--weight-semibold)}.roster-person__meta{font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.roster-day__head--today{color:hsl(var(--primary))}.roster-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.roster-legend{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.roster-totals{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-xs);color:hsl(var(--muted-foreground))}.roster-totals b{color:hsl(var(--foreground));font-weight:var(--weight-semibold)}.roster-totals .text-warning b{color:hsl(var(--warning-emphasis))}.vendor-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.vendor-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-3);padding:var(--space-3);display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 30px hsl(var(--foreground) / .06);text-align:left;font:inherit;color:inherit;cursor:pointer}.vendor-card:hover{border-color:hsl(var(--muted-foreground) / .4)}.vendor-card--inactive{opacity:.6}.vendor-card__head{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.vendor-card__name{font-weight:var(--weight-semibold)}.vendor-card__meta{font-size:var(--text-xs);color:hsl(var(--muted-foreground));display:flex;flex-direction:column;gap:2px}.stars{color:hsl(var(--warning));letter-spacing:1px;font-size:var(--text-sm)}.stars--empty{color:hsl(var(--muted-foreground) / .4)}.stars-input{display:inline-flex;gap:2px}.stars-input button{background:none;border:0;font-size:var(--text-lg);cursor:pointer;color:hsl(var(--muted-foreground) / .4);padding:0 2px;line-height:1}.stars-input button.on{color:hsl(var(--warning))}.day-timeline{display:flex;flex-direction:column;gap:0}.day-timeline__row{display:grid;grid-template-columns:110px 1fr;gap:var(--space-3);padding:6px 0;border-bottom:1px solid hsl(var(--border));font-size:13px}.day-timeline__row:last-child{border-bottom:0}.day-timeline__time{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.day-timeline__row--vendor .day-timeline__time{color:hsl(var(--info-emphasis))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:8px}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:4px}.right-2{right:8px}.right-4{right:16px}.top-0{top:0}.top-1{top:4px}.top-4{top:16px}.top-\[50\%\]{top:50%}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-full{grid-column:1 / -1}.-mx-1{margin-left:-4px;margin-right:-4px}.mx-1{margin-left:4px;margin-right:4px}.my-1{margin-top:4px;margin-bottom:4px}.-mb-px{margin-bottom:-1px}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-5{margin-bottom:20px}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:4px}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:4px}.h-1\.5{height:.375rem}.h-10{height:40px}.h-11{height:2.75rem}.h-2{height:8px}.h-3{height:12px}.h-3\.5{height:.875rem}.h-4{height:16px}.h-5{height:20px}.h-7{height:1.75rem}.h-8{height:32px}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[calc\(100vh-3rem\)\]{max-height:calc(100vh - 3rem)}.min-h-\[60px\]{min-height:60px}.w-1\.5{width:.375rem}.w-10{width:40px}.w-11{width:2.75rem}.w-16{width:64px}.w-2{width:8px}.w-24{width:6rem}.w-3{width:12px}.w-3\.5{width:.875rem}.w-4{width:16px}.w-5{width:20px}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:32px}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[76px\]{width:76px}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[130px\]{min-width:130px}.min-w-\[13rem\]{min-width:13rem}.min-w-\[140px\]{min-width:140px}.min-w-\[14rem\]{min-width:14rem}.min-w-\[150px\]{min-width:150px}.min-w-\[170px\]{min-width:170px}.min-w-\[180px\]{min-width:180px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[1100px\]{max-width:1100px}.max-w-\[230px\]{max-width:230px}.max-w-\[600px\]{max-width:600px}.max-w-\[860px\]{max-width:860px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-\[120px\]{flex-basis:120px}.basis-\[240px\]{flex-basis:240px}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2,.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.scroll-mt-2{scroll-margin-top:8px}.scroll-mt-4{scroll-margin-top:16px}.grid-cols-\[minmax\(120px\,auto\)_1fr\]{grid-template-columns:minmax(120px,auto) 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:4px}.gap-2{gap:8px}.gap-2\.5{gap:.625rem}.gap-3{gap:12px}.gap-4{gap:16px}.gap-x-3{-moz-column-gap:12px;column-gap:12px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-y-1{row-gap:4px}.gap-y-2{row-gap:8px}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:4px}.rounded-xs{border-radius:2px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity: 1;border-color:hsl(var(--border) / var(--tw-border-opacity, 1))}.border-danger{--tw-border-opacity: 1;border-color:hsl(var(--danger) / var(--tw-border-opacity, 1))}.border-danger\/30{border-color:hsl(var(--danger) / .3)}.border-danger\/40{border-color:hsl(var(--danger) / .4)}.border-danger\/45{border-color:hsl(var(--danger) / .45)}.border-input{--tw-border-opacity: 1;border-color:hsl(var(--input) / var(--tw-border-opacity, 1))}.border-muted-foreground\/50{border-color:hsl(var(--muted-foreground) / .5)}.border-primary{--tw-border-opacity: 1;border-color:hsl(var(--primary) / var(--tw-border-opacity, 1))}.border-success{--tw-border-opacity: 1;border-color:hsl(var(--success) / var(--tw-border-opacity, 1))}.border-success\/30{border-color:hsl(var(--success) / .3)}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.border-warning\/45{border-color:hsl(var(--warning) / .45)}.bg-background{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-border{--tw-bg-opacity: 1;background-color:hsl(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:hsl(var(--card) / var(--tw-bg-opacity, 1))}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-danger\/10{background-color:hsl(var(--danger) / .1)}.bg-danger\/15{background-color:hsl(var(--danger) / .15)}.bg-danger\/5{background-color:hsl(var(--danger) / .05)}.bg-danger\/\[0\.06\]{background-color:hsl(var(--danger) / .06)}.bg-destructive{--tw-bg-opacity: 1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-info\/15{background-color:hsl(var(--info) / .15)}.bg-muted{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:hsl(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-success{--tw-bg-opacity: 1;background-color:hsl(var(--success) / var(--tw-bg-opacity, 1))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-transparent{background-color:transparent}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/20{background-color:hsl(var(--warning) / .2)}.bg-warning\/\[0\.06\]{background-color:hsl(var(--warning) / .06)}.p-0{padding:0}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:4px;padding-right:4px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:8px;padding-right:8px}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:4px;padding-bottom:4px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:8px;padding-bottom:8px}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:4px}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pb-4{padding-bottom:16px}.pl-2{padding-left:8px}.pl-8{padding-left:32px}.pr-14{padding-right:3.5rem}.pr-2{padding-right:8px}.pr-8{padding-right:32px}.pt-0{padding-top:0}.pt-1{padding-top:4px}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:8px}.pt-3{padding-top:12px}.pt-4{padding-top:16px}.pt-5{padding-top:20px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[28px\]{font-size:28px}.text-\[34px\]{font-size:34px}.text-\[9\.5px\]{font-size:9.5px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-card-foreground{--tw-text-opacity: 1;color:hsl(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-danger{--tw-text-opacity: 1;color:hsl(var(--danger) / var(--tw-text-opacity, 1))}.text-danger-emphasis{--tw-text-opacity: 1;color:hsl(var(--danger-emphasis) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.text-info-emphasis{--tw-text-opacity: 1;color:hsl(var(--info-emphasis) / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-popover-foreground{--tw-text-opacity: 1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:hsl(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-success{--tw-text-opacity: 1;color:hsl(var(--success) / var(--tw-text-opacity, 1))}.text-success-emphasis{--tw-text-opacity: 1;color:hsl(var(--success-emphasis) / var(--tw-text-opacity, 1))}.text-success-foreground{--tw-text-opacity: 1;color:hsl(var(--success-foreground) / var(--tw-text-opacity, 1))}.text-warning{--tw-text-opacity: 1;color:hsl(var(--warning) / var(--tw-text-opacity, 1))}.text-warning-emphasis{--tw-text-opacity: 1;color:hsl(var(--warning-emphasis) / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow: 0 10px 30px hsl(var(--foreground) / .06);--tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow-color: hsl(var(--card) / 1);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background) / 1)}.blur{--tw-blur: blur(8px);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)}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.slide-in-from-top-2{--tw-enter-translate-y: -8px}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\@container{container-type:inline-size}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-1: calc(var(--radius) - 2px);--radius-2: var(--radius);--radius-3: var(--radius);--radius-pill: 999px;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 17px;--text-xl: 19px;--text-2xl: 23px;--text-kpi: 28px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-heavy: 800;--duration-fast: .12s;--duration-base: .2s;--z-modal: 50;--z-popover: 50;--z-toast: 100;--sidebar-width: 256px;--sidebar-width-collapsed: 76px;--topbar-height: 52px;--plan-floor-bg: hsl(var(--background));--plan-grid: hsl(var(--border));--plan-wall: hsl(var(--muted-foreground) / .55);--plan-table-bg: hsl(var(--card));--plan-furniture-bg: hsl(var(--muted));--plan-furniture-border: hsl(var(--border));--plan-pillar-bg: hsl(var(--muted));--plan-pillar-border: hsl(var(--muted-foreground) / .4);--plan-window-bg: hsl(var(--info) / .18);--plan-chair-bg: hsl(var(--muted-foreground) / .2);--plan-chair-border: hsl(var(--muted-foreground) / .75)}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-base: 0ms}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-dim{position:fixed;background:hsl(var(--background) / .78);-webkit-backdrop-filter:saturate(.6) blur(1px);backdrop-filter:saturate(.6) blur(1px)}.tour-ring{position:fixed;pointer-events:none;border-radius:var(--radius-2);outline:2px solid hsl(var(--primary));outline-offset:0;box-shadow:0 0 0 4px hsl(var(--primary) / .22);animation:tour-pulse 1.6s ease-in-out infinite}.tour-callout{position:fixed;z-index:61;width:min(360px,calc(100vw - 24px));background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-3);padding:14px;box-shadow:0 18px 40px -12px #00000073}.tour-callout--docked{position:absolute;width:min(300px,calc(100vw - 24px))}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 4px hsl(var(--primary) / .18)}50%{box-shadow:0 0 0 9px hsl(var(--primary) / .28)}}@media (prefers-reduced-motion: reduce){.tour-ring{animation:none}}.train-panel .train-list{margin:var(--space-2) 0 0;padding-left:18px;display:grid;gap:6px;font-size:12.5px;color:hsl(var(--muted-foreground))}.train-panel .train-list li::marker{color:hsl(var(--primary))}.train-panel .train-list--warn li::marker{color:hsl(var(--warning, var(--primary)))}.train-panel .train-h4{margin:var(--space-3) 0 var(--space-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground))}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity, 1))}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-1:hover{--tw-translate-y: -4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:hsl(var(--primary) / var(--tw-border-opacity, 1))}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-background:hover{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.hover\:bg-danger\/10:hover{background-color:hsl(var(--danger) / .1)}.hover\:bg-danger\/25:hover{background-color:hsl(var(--danger) / .25)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-success\/25:hover{background-color:hsl(var(--success) / .25)}.hover\:text-accent-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.hover\:text-danger-emphasis:hover{--tw-text-opacity: 1;color:hsl(var(--danger-emphasis) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:hsl(var(--primary) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{--tw-bg-opacity: 1;background-color:hsl(var(--accent) / var(--tw-bg-opacity, 1))}.focus\:bg-danger\/10:focus{background-color:hsl(var(--danger) / .1)}.focus\:text-accent-foreground:focus{--tw-text-opacity: 1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-danger:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--danger) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:block{display:block}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: 4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -4px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 16px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity: 1;background-color:hsl(var(--background) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:hsl(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--input) / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity: 1;color:hsl(var(--foreground) / var(--tw-text-opacity, 1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity: 1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@container (min-width: 24rem){.\@sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 28rem){.\@md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@md\:\[grid-template-columns\:repeat\(var\(--cols\)\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}}@supports (backdrop-filter: var(--tw)){.supports-\[backdrop-filter\]\:bg-card\/80{background-color:hsl(var(--card) / .8)}}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:block{display:block}.sm\:w-\[440px\]{width:440px}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:border-b-0{border-bottom-width:0px}.sm\:border-r{border-right-width:1px}}@media (min-width: 768px){.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:px-6{padding-left:24px;padding-right:24px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}}.\[\&\>\[data-field\]\]\:flex-row>[data-field]{flex-direction:row}.\[\&\>\[data-field\]\]\:items-center>[data-field]{align-items:center}.\[\&\>\[data-field\]\]\:gap-2>[data-field]{gap:8px}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_button\]\:shrink-0 button{flex-shrink:0}.\[\&_input\[type\=search\]\]\:min-w-\[200px\] input[type=search]{min-width:200px}.\[\&_input\]\:h-8 input{height:32px}.\[\&_input\]\:w-auto input{width:auto}.\[\&_input\]\:min-w-\[130px\] input{min-width:130px}.\[\&_input\]\:text-xs input{font-size:.75rem;line-height:1rem}.\[\&_select\]\:h-8 select{height:32px}.\[\&_select\]\:w-auto select{width:auto}.\[\&_select\]\:min-w-\[130px\] select{min-width:130px}.\[\&_select\]\:shrink-0 select{flex-shrink:0}.\[\&_select\]\:text-xs select{font-size:.75rem;line-height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:16px;height:16px}.\[\&_svg\]\:size-\[18px\] svg{width:18px;height:18px}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
