:root{color-scheme:light;--bg: oklch(98% .004 80);--surface: #ffffff;--surface-2: oklch(97% .004 80);--surface-3: oklch(94.5% .005 80);--border: oklch(91% .006 80);--border-strong: oklch(85% .008 80);--text: oklch(20% .01 260);--text-muted: oklch(48% .012 260);--text-soft: oklch(62% .01 260);--accent: var(--accent-color, oklch(54% .18 258));--accent-soft: color-mix(in oklch, var(--accent) 12%, white);--accent-fg: white;--success: oklch(58% .14 150);--success-soft: oklch(94% .04 150);--warn: oklch(70% .14 70);--warn-soft: oklch(95% .05 75);--danger-color: oklch(58% .2 25);--danger-soft: oklch(96% .04 25);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 1px rgba(15, 23, 42, .03);--shadow-md: 0 6px 16px -8px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 24px 48px -20px rgba(15, 23, 42, .18), 0 6px 14px -8px rgba(15, 23, 42, .08);--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--font-display: "Inter Tight", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--row-py: 7px;--gap: 10px}:root[data-theme=dark],.app-shell[data-theme=dark]{color-scheme:dark;--bg: oklch(16% .012 260);--surface: oklch(20% .014 260);--surface-2: oklch(22% .014 260);--surface-3: oklch(26% .016 260);--border: oklch(28% .014 260);--border-strong: oklch(35% .016 260);--text: oklch(96% .005 260);--text-muted: oklch(72% .014 260);--text-soft: oklch(56% .012 260);--accent: var(--accent-color, oklch(70% .18 258));--accent-soft: color-mix(in oklch, var(--accent) 20%, oklch(20% .014 260));--accent-fg: oklch(15% .02 260);--success: oklch(72% .14 150);--success-soft: color-mix(in oklch, oklch(72% .14 150) 18%, oklch(20% .014 260));--warn: oklch(80% .14 75);--warn-soft: color-mix(in oklch, oklch(80% .14 75) 18%, oklch(20% .014 260));--danger-color: oklch(72% .18 25);--danger-soft: color-mix(in oklch, oklch(72% .18 25) 18%, oklch(20% .014 260));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 18px -10px rgba(0, 0, 0, .5);--shadow-lg: 0 28px 56px -22px rgba(0, 0, 0, .7), 0 8px 18px -10px rgba(0, 0, 0, .4)}:root[data-aesthetic=workshop]{--r-sm: 3px;--r-md: 4px;--r-lg: 6px;--r-xl: 8px;--font-display: "JetBrains Mono", Consolas, monospace}:root[data-aesthetic=workshop]:not([data-theme=dark]){--bg: oklch(96% .005 75);--surface: #ffffff;--surface-2: oklch(94% .007 75);--surface-3: oklch(91% .009 75);--border: oklch(82% .012 75);--border-strong: oklch(70% .015 75);--text: oklch(18% .015 60);--text-muted: oklch(40% .015 60);--accent: var(--accent-color, oklch(56% .18 50))}:root[data-aesthetic=workshop][data-theme=dark]{--bg: oklch(15% .008 60);--surface: oklch(18% .01 60);--surface-2: oklch(22% .012 60);--surface-3: oklch(28% .014 60);--border: oklch(32% .014 60);--accent: var(--accent-color, oklch(72% .18 50))}:root[data-aesthetic=soft]{--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px}:root[data-aesthetic=soft]:not([data-theme=dark]){--bg: oklch(97% .012 85);--surface: oklch(99.5% .005 85);--surface-2: oklch(95% .013 85);--surface-3: oklch(91% .015 85);--border: oklch(89% .012 85);--text: oklch(22% .02 60);--accent: var(--accent-color, oklch(58% .13 165))}:root[data-aesthetic=soft][data-theme=dark]{--bg: oklch(18% .012 60);--surface: oklch(22% .012 60);--accent: var(--accent-color, oklch(72% .13 165))}:root[data-density=compact]{--row-py: 7px;--gap: 10px}:root[data-density=comfortable]{--row-py: 14px;--gap: 14px}:root[data-density=spacious]{--row-py: 22px;--gap: 18px}:root,.app-shell{--panel: var(--surface);--panel-border: var(--border);--muted: var(--text-muted);--accent-strong: var(--accent);--danger: var(--danger-color);--danger-strong: var(--danger-color);--warning: var(--warn-soft);--surface-soft: var(--surface-2);--surface-hover: var(--surface-3);--surface-table-alt: var(--surface-2);--surface-table-hover: var(--surface-3);--input-bg: var(--surface);--overlay-bg: color-mix(in srgb, oklch(20% .014 260) 60%, transparent);--shadow-soft: var(--shadow-md);--ticket-status-open-bg: var(--success-soft);--ticket-status-open-border: color-mix(in oklch, var(--success) 30%, transparent);--ticket-status-open-text: var(--success);--ticket-status-in-progress-bg: var(--accent-soft);--ticket-status-in-progress-border: color-mix(in oklch, var(--accent) 35%, transparent);--ticket-status-in-progress-text: var(--accent);--ticket-status-awaiting-bg: var(--warn-soft);--ticket-status-awaiting-border: color-mix(in oklch, var(--warn) 35%, transparent);--ticket-status-awaiting-text: var(--warn);--ticket-status-callback-bg: var(--danger-soft);--ticket-status-callback-border: color-mix(in oklch, var(--danger-color) 35%, transparent);--ticket-status-callback-text: var(--danger-color);--ticket-status-finished-bg: var(--surface-2);--ticket-status-finished-border: var(--border-strong);--ticket-status-finished-text: var(--text-muted);--ticket-status-closed-bg: var(--surface-2);--ticket-status-closed-border: var(--border);--ticket-status-closed-text: var(--text-muted);--job-approved-bg: var(--success-soft);--job-approved-border: color-mix(in oklch, var(--success) 30%, transparent);--job-approved-text: var(--success);--job-proposed-bg: var(--warn-soft);--job-proposed-border: color-mix(in oklch, var(--warn) 35%, transparent);--job-proposed-text: var(--warn);--job-declined-bg: var(--surface-2);--job-declined-border: var(--border);--job-declined-text: var(--text-muted);--job-callback-bg: var(--danger-soft);--job-callback-border: color-mix(in oklch, var(--danger-color) 35%, transparent);--job-callback-text: var(--danger-color)}.app-shell[data-theme=dark] button.ticket-details-edit-button{background:#332d14;border-color:#332d14;color:#f7df78;box-shadow:none}.app-shell[data-theme=dark] button.ticket-details-edit-button:hover{background:#9b8424;border-color:#9b8424;color:#111827}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-display);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);line-height:1.5}::selection{background:var(--accent);color:var(--accent-fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}body{min-height:100vh}.app-shell{min-height:100vh;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}button,input,select,textarea{font:inherit;border-radius:var(--r-md);border:1px solid var(--border);padding:9px 12px;background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .15s ease,box-shadow .15s ease,background .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}button{cursor:pointer;background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600;padding:0 14px;height:36px;box-shadow:0 1px #ffffff26 inset,0 1px 2px #00000014}button:hover{filter:brightness(1.05)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}input.ng-invalid.ng-touched:not([type=checkbox]):not([type=radio]),select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--danger)}input.ng-invalid.ng-touched:not([type=checkbox]):not([type=radio]):focus,select.ng-invalid.ng-touched:focus,textarea.ng-invalid.ng-touched:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in oklch,var(--danger) 22%,transparent)}label:has(>input[required]:not([type=checkbox]):not([type=radio])),label:has(>select[required]),label:has(>textarea[required]){grid-template-columns:1fr auto;grid-template-areas:"text mark" "field field"}label:has(>input[required]:not([type=checkbox]):not([type=radio]))>input,label:has(>select[required])>select,label:has(>textarea[required])>textarea{grid-area:field}label:has(>input[required]:not([type=checkbox]):not([type=radio])):after,label:has(>select[required]):after,label:has(>textarea[required]):after{content:"*";grid-area:mark;color:var(--danger);font-weight:700;align-self:center;justify-self:end}.field:has(input[required]:not([type=checkbox]):not([type=radio]))>.label,.field:has(select[required])>.label,.field:has(textarea[required])>.label{justify-content:flex-start}.field:has(input[required]:not([type=checkbox]):not([type=radio]))>.label>.hint,.field:has(select[required])>.label>.hint,.field:has(textarea[required])>.label>.hint{order:1;margin-left:auto}.field:has(input[required]:not([type=checkbox]):not([type=radio]))>.label:after,.field:has(select[required])>.label:after,.field:has(textarea[required])>.label:after{content:"*";color:var(--danger);font-weight:700;margin-left:4px}button.danger{background:var(--danger-color);border-color:var(--danger-color);color:#fff}button.danger:hover{filter:brightness(1.05)}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border);font-weight:500;box-shadow:none}button.secondary:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}button.small{height:28px;padding:0 10px;border-radius:var(--r-sm);font-size:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 20px;box-shadow:var(--shadow-sm);margin-bottom:1rem}.grid{display:grid;gap:1rem}.two-up{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.split-heading{display:flex;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;align-items:flex-start}.page-header{margin-bottom:0}.page-header-compact{width:calc(100vw - var(--side-nav-width, 0rem) - 2.5rem);max-width:none;margin-left:calc(50% - 50vw + var(--side-nav-half-width, 0rem) + 1.25rem);margin-right:calc(50% - 50vw + var(--side-nav-half-width, 0rem) + 1.25rem);padding:.7rem .95rem;margin-bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.page-header-compact [page-header-before]{grid-column:1;justify-self:start}.page-header-compact .page-header-title{grid-column:2;justify-self:center;text-align:center}.page-header-compact .tickets-coordination-summary{grid-column:3;justify-self:end}.page-header-compact h1{margin-bottom:0;font-size:1.15rem;line-height:1.2}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:600;color:var(--text-soft);margin:0 0 .35rem}.muted{color:var(--text-muted)}.inline-status{margin:0;color:var(--text-muted);font-size:12.5px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:0;white-space:nowrap;background:var(--surface)}.status-badge-open{background:var(--ticket-status-open-bg);border-color:var(--ticket-status-open-border);color:var(--ticket-status-open-text)}.status-badge-in-progress{background:var(--ticket-status-in-progress-bg);border-color:var(--ticket-status-in-progress-border);color:var(--ticket-status-in-progress-text)}.status-badge-awaiting-client{background:var(--ticket-status-awaiting-bg);border-color:var(--ticket-status-awaiting-border);color:var(--ticket-status-awaiting-text)}.status-badge-waiting-callback{background:var(--ticket-status-callback-bg);border-color:var(--ticket-status-callback-border);color:var(--ticket-status-callback-text)}.status-badge-finished{background:var(--ticket-status-finished-bg);border-color:var(--ticket-status-finished-border);color:var(--ticket-status-finished-text)}.status-badge-closed{background:var(--ticket-status-closed-bg);border-color:var(--ticket-status-closed-border);color:var(--ticket-status-closed-text)}.field-with-hint{display:grid;gap:.25rem}.field-hint{margin:0;color:var(--muted);font-size:.78rem;line-height:1.25}.combobox-field{position:relative}.combobox-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-height:18rem;overflow-y:auto}.combobox-option{position:relative;width:100%;height:auto;min-height:40px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:10px 14px 10px 18px;background:transparent;color:var(--text);text-align:left;font-weight:500;font-size:13px;display:grid;gap:4px;box-shadow:none;transition:background .12s ease}.combobox-option:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:0;border-radius:2px;background:var(--accent);transition:width .12s ease}.combobox-option:hover{background:color-mix(in oklch,var(--accent) 6%,var(--surface));color:var(--text);filter:none}.combobox-option:hover:before{width:3px}.combobox-option-title{display:block;color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.combobox-option-meta{display:flex;flex-wrap:wrap;gap:4px;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.25}.combobox-option-meta span{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2)}.combobox-option:last-child{border-bottom:0}.combobox-empty{margin:0;padding:.72rem .9rem;color:var(--muted);font-size:.9rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.4rem;font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:600;letter-spacing:-.01em;line-height:1.2}h2{margin-bottom:1rem;font-size:15px;font-weight:600;letter-spacing:-.01em}h3{font-size:13px;font-weight:600;margin-bottom:.6rem}.stack-form,.grid-form,.inline-form{display:grid;gap:.85rem}.inline-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.grid-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-form .wide{grid-column:1 / -1}label{display:grid;gap:6px;font-weight:600;font-size:12px;color:var(--text)}.checkbox{display:flex;align-items:center;gap:.6rem}.checkbox input{width:auto}.summary-strip{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));min-width:min(100%,420px)}.summary-strip div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;display:grid;gap:4px}.summary-strip span{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.summary-strip strong{font-size:18px;font-weight:600;font-family:var(--font-mono)}.message{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;border-radius:var(--r-md);padding:12px 14px;margin:0 0 .6rem;border:1px solid transparent;font-size:13px;box-shadow:var(--shadow-md);pointer-events:auto;background:var(--surface)}.message-close{flex:0 0 auto;width:1.6rem;min-width:1.6rem;height:1.6rem;padding:0;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:1.1rem;line-height:1;box-shadow:none}.message-close:hover{background:var(--surface-hover);color:var(--text)}app-flash-messages{position:fixed;top:4.65rem;right:1.25rem;z-index:1200;width:min(28rem,calc(100vw - 2rem));pointer-events:none}.message.notice{background:var(--success);border-color:var(--ticket-status-open-border)}.message.error{background:var(--warning);border-color:var(--ticket-status-awaiting-border)}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface)}table{width:100%;border-collapse:collapse;background:transparent;font-size:13px}th,td{text-align:left;padding:var(--row-py) 14px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:0}th{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);border-bottom:1px solid var(--border);padding-top:10px;padding-bottom:10px}tbody tr:nth-child(2n) td{background:transparent}tbody tr:hover td{background:var(--surface-2)}.compact-table th,.compact-table td{padding:var(--row-py) 12px}.compact-table .action-buttons,.compact-table .catalog-actions,.compact-table .repair-work-actions{display:flex;flex-wrap:nowrap;gap:4px}.compact-table button.small{height:26px;min-height:0;padding:0 8px;border-radius:var(--r-sm);font-size:11.5px;line-height:1;white-space:nowrap}.table-loading-cell{color:var(--text-muted);font-weight:500;text-align:center;background:var(--surface-2)}.table-loading-cell,tbody tr:hover .table-loading-cell{background:var(--surface-soft)}.table-loading-indicator{display:inline-block;width:.9rem;height:.9rem;margin-right:.45rem;border:2px solid var(--panel-border);border-top-color:var(--accent);border-radius:50%;vertical-align:-.15rem;animation:table-loading-spin .7s linear infinite}@keyframes table-loading-spin{to{transform:rotate(360deg)}}.auth-card{max-width:28rem;margin:5rem auto}code{font-family:Consolas,Monaco,monospace;white-space:pre-wrap;word-break:break-word;font-size:.88rem;background:var(--surface-soft);padding:.12rem .32rem;border-radius:8px}textarea{min-height:108px;resize:vertical}.table-scroll>table,.table-scroll>.compact-table{min-width:720px}.compact-table input[type=text]{min-width:120px}.tickets-table-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;margin-bottom:1rem}.tickets-table-left{display:grid;gap:.75rem;min-width:0;justify-items:start}.tickets-table-title{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.tickets-today-workday{border:1px solid var(--panel-border);border-radius:10px;background:var(--surface-soft);padding:.45rem .55rem;display:flex;align-items:center;gap:.55rem;min-width:220px}.tickets-today-workday>div{display:grid;gap:.05rem;min-width:0}.tickets-today-workday .eyebrow{margin-bottom:0}.tickets-today-workday strong{font-size:.95rem;line-height:1.1}.tickets-today-workday small{color:var(--muted);line-height:1.2}.tickets-today-workday button{white-space:nowrap}.tickets-table-title h2{margin-bottom:0}.tickets-refresh-button{min-height:2rem;padding:.28rem .65rem;border-radius:999px;color:var(--accent-strong);border-color:var(--ticket-status-in-progress-border);background:var(--ticket-status-in-progress-bg)}.tickets-refresh-button:hover{background:var(--surface-hover);border-color:var(--ticket-status-in-progress-border)}.tickets-coordination-summary{width:min(100%,500px);min-width:0}.tickets-coordination-stats{display:grid;grid-template-columns:repeat(4,112px);gap:.45rem;justify-content:end;width:100%}.tickets-coordination-stat{border:1px solid var(--panel-border);border-radius:10px;background:var(--surface-soft);padding:.45rem .55rem;min-width:0;min-height:3.8rem;display:grid;align-content:space-between}.tickets-coordination-stat span{display:block;color:var(--muted);font-size:.72rem;line-height:1.15}.tickets-coordination-stat strong{display:block;font-size:1rem;line-height:1}.tickets-table{min-width:1420px;table-layout:fixed}.tickets-table-scroll{border:1px solid var(--panel-border);border-radius:10px}.tickets-table thead th{position:sticky;top:0;z-index:1}.tickets-table th,.tickets-table td{white-space:nowrap}.tickets-table th:nth-child(6),.tickets-table td:nth-child(6),.tickets-table th:nth-child(7),.tickets-table td:nth-child(7){white-space:normal}.tickets-table th:nth-child(1),.tickets-table td:nth-child(1){width:10rem}.tickets-table th:nth-child(2),.tickets-table td:nth-child(2){width:9rem}.tickets-table th:nth-child(3),.tickets-table td:nth-child(3){width:11rem}.tickets-table th:nth-child(4),.tickets-table td:nth-child(4){width:9rem}.tickets-table th:nth-child(5),.tickets-table td:nth-child(5){width:8rem}.tickets-table th:nth-child(6),.tickets-table td:nth-child(6){width:16%}.tickets-table th:nth-child(7),.tickets-table td:nth-child(7){width:24%}.tickets-table th:nth-child(8),.tickets-table td:nth-child(8){width:12rem}.tickets-table th:nth-child(9),.tickets-table td:nth-child(9){width:16rem}.requested-jobs-editor{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(120px,.7fr) auto;gap:.75rem;align-items:end}.requested-jobs-list{border:1px solid var(--panel-border);border-radius:14px;background:var(--surface-soft);padding:.9rem 1rem}.requested-jobs-list .eyebrow{margin-bottom:.6rem}.tickets-frontdesk-shell,.tickets-standard-list{width:calc(100vw - var(--side-nav-width, 0rem) - 2.5rem);max-width:none;margin-left:calc(50% - 50vw + var(--side-nav-half-width, 0rem) + 1.25rem);margin-right:calc(50% - 50vw + var(--side-nav-half-width, 0rem) + 1.25rem)}.tickets-frontdesk-shell{display:grid;gap:1rem;grid-template-columns:minmax(320px,420px) minmax(0,1fr);grid-template-areas:"side list";align-items:start;min-width:0}.tickets-standard-list>.panel,.tickets-frontdesk-shell>.tickets-frontdesk-side>.panel,.tickets-frontdesk-shell>.tickets-frontdesk-list>.panel{margin-bottom:0}.tickets-frontdesk-side{grid-area:side;display:grid;min-width:0}.tickets-frontdesk-create{min-width:0}.tickets-frontdesk-list{grid-area:list;min-width:0}.tickets-panel-search{grid-column:2;grid-row:1;width:min(100%,520px);min-width:min(100%,520px);display:flex;align-items:end;justify-content:flex-end;gap:.6rem}.tickets-panel-search label{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:.55rem;white-space:nowrap}.tickets-panel-search input{width:100%;min-width:12rem}.tickets-panel-search button{flex:0 0 auto;white-space:nowrap}.tickets-frontdesk-create .stack-form,.tickets-frontdesk-create label,.tickets-frontdesk-create .field-with-hint,.tickets-frontdesk-create .combobox-field{min-width:0}.tickets-frontdesk-create input,.tickets-frontdesk-create textarea,.tickets-frontdesk-create select{width:100%;min-width:0}.tickets-frontdesk-create .requested-jobs-editor{grid-template-columns:1fr}.tickets-frontdesk-create .requested-jobs-list,.tickets-frontdesk-create .requested-jobs-list table{min-width:0}.dashboard-grid{display:grid;gap:.75rem;grid-template-columns:1fr}.dashboard-card{border:1px solid var(--panel-border);border-radius:12px;background:var(--surface-soft);padding:.8rem;display:grid;gap:.6rem}.dashboard-card p:last-child{margin-bottom:0}.dashboard-stats{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stat{border:1px solid var(--panel-border);border-radius:10px;padding:.55rem .65rem;background:var(--panel);min-width:0}.dashboard-stat span{display:block;color:var(--muted);font-size:.78rem;line-height:1.25}.dashboard-stat strong{display:block;font-size:1.12rem;line-height:1.1;margin-top:.15rem}.requested-jobs-actions{width:1%;white-space:nowrap;text-align:right}.ticket-job-list{display:grid;gap:.65rem}.ticket-job-item{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}.ticket-job-copy{display:grid;gap:.2rem}.ticket-job-item-static{gap:0}.ticket-job-item input{margin-top:.15rem;width:auto}.ticket-table-jobs{display:grid;gap:.45rem}.ticket-job-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.ticket-job-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.job-approval-badge{display:inline-flex;align-items:center;min-height:1.65rem;padding:.18rem .58rem;border:1px solid transparent;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1;white-space:nowrap}.job-approval-badge-approved{background:var(--job-approved-bg);border-color:var(--job-approved-border);color:var(--job-approved-text)}.job-approval-badge-proposed{background:var(--job-proposed-bg);border-color:var(--job-proposed-border);color:var(--job-proposed-text)}.job-approval-badge-declined{background:var(--job-declined-bg);border-color:var(--job-declined-border);color:var(--job-declined-text)}.job-approval-badge-callback{background:var(--job-callback-bg);border-color:var(--job-callback-border);color:var(--job-callback-text)}.status-note{margin-top:.35rem}.coordination-note{margin:.45rem 0 0;font-size:.9rem}.ticket-jobs-toggle{justify-self:start}.expand-ticket-jobs{margin-bottom:1rem}.ticket-job-editor-field{min-width:240px}.ticket-jobs-editor-table select,.ticket-jobs-editor-table input{min-width:110px}.ticket-jobs-modal-actions{margin-top:1rem}@media(max-width:720px){.page-shell{padding:1rem}.panel{padding:1rem;border-radius:14px}.table-scroll>table,.table-scroll>.compact-table{min-width:640px}.tickets-table-head{align-items:flex-start;flex-direction:column}.requested-jobs-editor{grid-template-columns:1fr}.tickets-frontdesk-shell,.tickets-standard-list{width:100%;margin-left:0;margin-right:0}app-flash-messages{top:.75rem;right:.75rem;width:calc(100vw - 1.5rem)}}button.secondary{background:var(--panel);color:var(--text);border-color:var(--panel-border)}button.secondary:hover{background:var(--surface-soft);color:var(--text);border-color:var(--panel-border)}.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.compact-submit{width:auto;justify-self:start}.action-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.workday-create-ticket-cta{margin:0 0 1rem}.workday-create-ticket-button{width:100%;padding:1rem 1.25rem;border-radius:16px;font-size:1rem;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:var(--overlay-bg);display:grid;place-items:center;padding:1rem}.modal-card{width:min(100%,760px);max-height:calc(100vh - 2rem);overflow:auto;margin-bottom:0}.modal-card-overflow-visible{overflow:visible}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h2{margin-bottom:0}.ticket-modal-focus{margin-top:.85rem;padding:.9rem 1rem;border-radius:14px;border:1px solid var(--ticket-status-in-progress-border);background:linear-gradient(180deg,#2563eb1f,#2563eb0d)}.ticket-modal-focus-label{margin:0 0 .2rem;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ticket-modal-focus-phone{margin:0;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.1;font-weight:800;color:var(--accent-strong)}.ticket-modal-focus-meta{margin:.35rem 0 0;color:var(--text);font-weight:600}@media(max-width:720px){.form-actions{align-items:stretch}.form-actions .inline-status,.modal-card{width:100%}}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-header h2{margin-bottom:.25rem}.day-details-row{display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(180px,auto);align-items:end}.day-details-actions{display:grid;gap:.5rem;align-items:end}.readonly-field{display:grid;gap:.35rem;min-height:100%;padding:.72rem .9rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--surface-soft)}.readonly-field span{color:var(--muted);font-size:.9rem;font-weight:600}.icon-button{min-width:2.2rem;padding-left:.65rem;padding-right:.65rem}button.ticket-details-edit-button{background:#fef3c7;border-color:#fef3c7;color:#92400e;box-shadow:0 1px #92400e29}button.ticket-details-edit-button:hover{background:#f59e0b;border-color:#f59e0b;color:#fff}.ticket-row{transition:background .12s ease,box-shadow .12s ease}.ticket-row-expanded td{background:var(--ticket-status-in-progress-bg);border-bottom-color:var(--ticket-status-in-progress-border)}.ticket-row-expanded td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.ticket-toggle-button{min-width:5.25rem}.ticket-toggle-icon{display:inline-block;width:.9rem;font-weight:700}.expand-row td{padding:0;background:var(--ticket-status-in-progress-bg)}.expand-panel{padding:1rem;border-left:4px solid var(--accent);background:linear-gradient(180deg,#2563eb14,#2563eb08)}.expand-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.ticket-groups{display:grid;gap:1rem}.panel-nested{margin-bottom:0;box-shadow:none;background:var(--surface-soft)}.ticket-group-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.ticket-group-header h3{margin-bottom:.25rem}.ticket-group-actions{display:grid;gap:.6rem;justify-items:end}.ticket-group-total{margin:0;color:var(--muted)}.ticket-expanded-summary{margin:0 0 .25rem;font-weight:700;color:var(--text)}.subsection{margin-top:1.5rem}@media(max-width:720px){.ticket-group-header{flex-direction:column}.ticket-group-actions{justify-items:start}}@media(max-width:960px){.day-details-row{grid-template-columns:1fr 1fr}.tickets-table-head{grid-template-columns:1fr}.tickets-coordination-summary{width:100%}.tickets-panel-search{grid-column:1;grid-row:auto;justify-content:flex-start}.tickets-frontdesk-shell{grid-template-columns:1fr;grid-template-areas:"side" "list"}}@media(max-width:720px){.section-header,.expand-panel-header{flex-direction:column;align-items:stretch}.page-header-compact{grid-template-columns:1fr;justify-items:center}.page-header-compact [page-header-before],.page-header-compact .page-header-title,.page-header-compact .tickets-coordination-summary{grid-column:1}.tickets-coordination-summary{min-width:0}.tickets-coordination-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.tickets-panel-search{width:100%;min-width:0}.day-details-row{grid-template-columns:1fr}}.profile-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.workday-summary-strip{margin-left:auto}.day-switcher-header-row{flex:1 0 100%;display:flex;justify-content:flex-end;margin:0}.day-switcher-header-wrap{width:min(100%,320px);display:grid;gap:.85rem}.day-switcher-compact{width:auto;display:flex;align-items:end;gap:.65rem}.day-switcher-compact app-date-picker{width:140px}.day-switcher-compact app-date-picker .date-picker-trigger{min-height:38px;padding:.45rem .7rem;border-radius:10px}.day-switcher-compact>button{min-height:38px;white-space:nowrap}@media(max-width:720px){.workday-summary-strip{margin-left:0}.day-switcher-header-row{justify-content:stretch}.day-switcher-header-wrap,.day-switcher-compact{width:100%}.day-switcher-compact app-date-picker{flex:1 1 auto;width:auto}}.icon-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--r-md);display:inline-grid;place-items:center;padding:0;cursor:pointer;font-weight:500;transition:background .12s ease,color .12s ease,border-color .12s ease}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.danger:hover{color:var(--danger-color);border-color:color-mix(in oklch,var(--danger-color) 35%,transparent);background:var(--danger-soft)}.ghost-btn{height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .12s ease}.ghost-btn:hover{background:var(--surface-2)}.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn.success{background:var(--success-soft);color:var(--success);border-color:color-mix(in oklch,var(--success) 30%,transparent)}.ghost-btn.danger{background:var(--danger-soft);color:var(--danger-color);border-color:color-mix(in oklch,var(--danger-color) 30%,transparent)}.primary-btn{width:100%;height:42px;border:0;border-radius:var(--r-lg);background:var(--accent);color:var(--accent-fg);font-size:14px;font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 1px #ffffff26 inset,0 1px 2px #0000001a;transition:filter .12s ease}.primary-btn:hover{filter:brightness(1.05)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap}.pill .pd{width:5px;height:5px;border-radius:50%;background:var(--text-soft)}.pill.ok{background:var(--success-soft);color:var(--success);border-color:color-mix(in oklch,var(--success) 30%,transparent)}.pill.ok .pd{background:var(--success)}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in oklch,var(--warn) 35%,transparent)}.pill.warn .pd{background:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger-color);border-color:color-mix(in oklch,var(--danger-color) 30%,transparent)}.pill.danger .pd{background:var(--danger-color)}.pill.info{background:color-mix(in oklch,var(--accent) 12%,var(--surface));color:var(--accent);border-color:color-mix(in oklch,var(--accent) 30%,transparent)}.pill.info .pd{background:var(--accent)}.pill.muted{color:var(--text-muted)}.pill.muted .pd{background:var(--text-soft)}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.seg button{appearance:none;border:0;background:transparent;color:var(--text-muted);padding:5px 10px;font-size:12px;font-weight:500;border-radius:calc(var(--r-md) - 2px);cursor:pointer;height:auto;min-height:32px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.filter-chip{height:28px;padding:0 10px 0 8px;border-radius:7px;border:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.filter-chip:hover{background:var(--surface-2);color:var(--text)}.filter-chip.on{background:var(--accent-soft);color:var(--text);border-color:color-mix(in oklch,var(--accent) 35%,transparent)}.filter-chip .cdot{width:6px;height:6px;border-radius:50%;background:var(--text-soft)}.filter-chip.on .cdot{background:var(--accent)}.filter-chip .count{color:var(--text-soft);font-family:var(--font-mono);font-size:10.5px}.preset-chip{appearance:none;border:1px dashed var(--border-strong);background:var(--surface);padding:4px 9px 4px 7px;border-radius:999px;font-size:11.5px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.preset-chip:hover{color:var(--text);border-color:var(--accent)}.preset-chip .price{color:var(--text-soft);font-family:var(--font-mono);font-size:10.5px}.scooter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;background:var(--surface-2);color:var(--text-muted);margin:0 6px 6px 0;cursor:pointer}.scooter-chip:hover{border-color:var(--accent);color:var(--accent)}.kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2)}.avatar{width:28px;height:28px;border-radius:50%;flex:none;background:var(--surface-3);color:var(--text);display:grid;place-items:center;font-size:11px;font-weight:600;border:1px solid var(--border)}.x-btn{color:var(--text-soft);width:22px;height:22px;padding:0;display:inline-grid;place-items:center;border-radius:6px;border:0;background:transparent;box-shadow:none;font-weight:500;line-height:1;cursor:pointer}.x-btn:hover{background:var(--surface-2);color:var(--danger-color)}.ds input,.ds select,.ds textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:9px 12px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.ds input:focus,.ds select:focus,.ds textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.ds textarea{resize:vertical;min-height:70px;font-family:inherit}.table-wrap{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);overflow-y:auto;min-height:0;width:100%;flex:1}.table-wrap .thead,.table-wrap .trow{display:grid;gap:14px;align-items:center;padding:0 18px}.table-wrap .thead{background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;position:sticky;top:0;z-index:1;height:40px}.table-wrap .tbody{display:block}.table-wrap .trow{padding-top:var(--row-py);padding-bottom:var(--row-py);border-bottom:1px solid var(--border);font-size:13px}.table-wrap .trow:last-child{border-bottom:0}.table-wrap .trow:hover{background:var(--surface-2)}.table-wrap .ta-right{text-align:right;justify-self:end}.table-wrap .ta-center{text-align:center;justify-self:center}.table-wrap .empty-row{padding:32px 18px;text-align:center;color:var(--text-muted);font-size:13px}.table-wrap .trow.editing{background:color-mix(in oklch,var(--accent) 5%,var(--surface))}.table-wrap .trow.editing .edit-cell-input,.table-wrap .trow.editing .edit-cell-select{width:100%;height:30px;padding:4px 8px;font-size:12.5px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.table-wrap .trow.editing .edit-cell-input.invalid{border-color:var(--danger)}.table-wrap .trow.editing .edit-cell-input:focus,.table-wrap .trow.editing .edit-cell-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 22%,transparent)}.cell-id{font-family:var(--font-mono);font-size:11.5px;color:var(--text-soft)}.cell-mono{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.cell-mono.empty{color:var(--text-soft);font-style:italic;font-family:inherit}.cell-price{font-family:var(--font-mono);font-size:13px;font-weight:600;text-align:right;color:var(--text)}.cell-price .cur{font-weight:400;color:var(--text-soft);margin-left:2px;font-size:11.5px}.cell-truncate{font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cell-status{display:flex;align-items:center;gap:6px}.cell-status .sd{width:6px;height:6px;border-radius:50%}.cell-status.active .sd{background:var(--success);box-shadow:0 0 0 3px color-mix(in oklch,var(--success) 18%,transparent)}.cell-status.inactive .sd{background:var(--text-soft)}.cell-status .lbl{font-size:12px;color:var(--text-muted)}.cell-status.active .lbl{color:var(--text)}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.row-actions .icon-btn{width:28px;height:28px}.row-actions .icon-btn.del:hover{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 28%,transparent)}.row-actions .icon-btn.save{color:var(--success);border-color:color-mix(in oklch,var(--success) 28%,transparent);background:var(--success-soft)}.row-actions .icon-btn.save:hover{filter:brightness(1.05)}.type-chip{--chip-h: 258;--chip-base: oklch(58% .14 var(--chip-h));display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;border-radius:6px;font-size:11.5px;font-weight:500;color:var(--chip-base);border:1px solid color-mix(in oklch,var(--chip-base) 24%,transparent);background:color-mix(in oklch,var(--chip-base) 8%,var(--surface))}.type-chip .tdot{width:6px;height:6px;border-radius:2px;background:var(--chip-base)}:root[data-theme=dark] .type-chip{--chip-base: oklch(76% .14 var(--chip-h))}.list-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.list-header .list-title-block{display:flex;align-items:baseline;gap:10px}.list-header .list-title{font-size:20px;font-weight:600;letter-spacing:-.015em}.list-header .list-sub{font-size:12px;color:var(--text-muted)}.list-header .list-sub .num{color:var(--text);font-family:var(--font-mono);font-weight:600}.list-header .spacer{flex:1}.list-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 24px 28px;gap:14px;overflow:hidden;width:100%;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);box-sizing:border-box}.list-page>:not(.table-wrap){flex-shrink:0}.list-footer{display:flex;align-items:center;gap:14px;padding:8px 4px 0;font-size:11.5px;color:var(--text-soft)}.list-footer .stat{display:inline-flex;align-items:center;gap:6px}.list-footer .stat b{color:var(--text);font-weight:600;font-family:var(--font-mono)}.list-footer .stat .sw{width:6px;height:6px;border-radius:2px}
