:root{--bg:#f0eee6;--panel:#fff;--panel-alt:#f7f5ee;--border:#ddd7c8;--border-soft:#eae7dc;--text:#1c211f;--text-muted:#5f665f;--text-faint:#8b948c;--accent:#2b616c;--accent-hover:#204c55;--accent-soft:#e2edee;--danger:#96382c;--danger-soft:#f6e9e6;--warn:#8a5a20;--warn-soft:#f5ecd9;--warn-border:#e4d4a8;--info:#2c5f8a;--info-soft:#e3ecf3;--purple:#6b4c8a;--purple-soft:#ece6f2;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:7px;--space-5:8px;--space-6:9px;--space-7:10px;--space-8:12px;--space-9:14px;--space-10:16px;--space-11:20px;--space-12:24px;--radius-lg:16px;--radius-md:10px;--radius-sm:7px;--shadow-sm:0 1px 2px #1c211f12;--shadow-md:0 4px 16px #1c211f17;--shadow-lg:0 20px 50px #1c211f33;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--dur-fast:.12s;--dur:.18s;--dur-slow:.32s;--sans:"IBM Plex Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--manual-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dark-bg:#15181a;--dark-panel:#1c2023;--dark-panel-alt:#21262a;--dark-border:#383e40;--dark-border-soft:#282e30;--dark-text:#ecebe6;--dark-text-muted:#a3aca5;--dark-text-faint:#6f7873;--dark-accent:#7db8c0;--dark-accent-hover:#93c6cd;--dark-accent-soft:#21363a;--dark-danger:#d98a7c;--dark-danger-soft:#35211d;--dark-warn:#d9ab5c;--dark-warn-soft:#332a17;--dark-warn-border:#4a3c1f;--dark-info:#7fa8cc;--dark-info-soft:#1e2d3a;--dark-purple:#b79bd4;--dark-purple-soft:#2c2333;--dark-shadow-sm:0 1px 2px #0000004d;--dark-shadow-md:0 4px 16px #00000061;--dark-shadow-lg:0 20px 50px #0000008c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--dark-bg);--panel:var(--dark-panel);--panel-alt:var(--dark-panel-alt);--border:var(--dark-border);--border-soft:var(--dark-border-soft);--text:var(--dark-text);--text-muted:var(--dark-text-muted);--text-faint:var(--dark-text-faint);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--accent-soft:var(--dark-accent-soft);--danger:var(--dark-danger);--danger-soft:var(--dark-danger-soft);--warn:var(--dark-warn);--warn-soft:var(--dark-warn-soft);--warn-border:var(--dark-warn-border);--info:var(--dark-info);--info-soft:var(--dark-info-soft);--purple:var(--dark-purple);--purple-soft:var(--dark-purple-soft);--shadow-sm:var(--dark-shadow-sm);--shadow-md:var(--dark-shadow-md);--shadow-lg:var(--dark-shadow-lg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:var(--dark-bg);--panel:var(--dark-panel);--panel-alt:var(--dark-panel-alt);--border:var(--dark-border);--border-soft:var(--dark-border-soft);--text:var(--dark-text);--text-muted:var(--dark-text-muted);--text-faint:var(--dark-text-faint);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--accent-soft:var(--dark-accent-soft);--danger:var(--dark-danger);--danger-soft:var(--dark-danger-soft);--warn:var(--dark-warn);--warn-soft:var(--dark-warn-soft);--warn-border:var(--dark-warn-border);--info:var(--dark-info);--info-soft:var(--dark-info-soft);--purple:var(--dark-purple);--purple-soft:var(--dark-purple-soft);--shadow-sm:var(--dark-shadow-sm);--shadow-md:var(--dark-shadow-md);--shadow-lg:var(--dark-shadow-lg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);font-size:14.5px}::selection{background:var(--accent-soft);color:var(--accent-hover)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;font-weight:650}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-10);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);font-weight:550}button:hover{background:var(--panel-alt);border-color:var(--text-faint)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 1px var(--accent);outline:none}button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-sm)}button.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger);border-color:var(--warn-border);background:var(--danger-soft)}button.danger:hover{filter:brightness(.97)}button.ghost-btn,button.close-btn{color:var(--text-muted);background:0 0;border-color:#0000}button.ghost-btn:hover,button.close-btn:hover{background:var(--panel-alt);color:var(--text)}input,select,textarea{font:inherit;padding:var(--space-6) 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=color]{cursor:pointer;width:36px;height:28px;padding:2px}.color-palette-picker{display:inline-block;position:relative}.color-palette-popover{z-index:30;width:132px;padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.color-swatch-btn{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;width:22px;height:22px;padding:0;box-shadow:0 0 0 1px #0000001f}.color-swatch-btn.selected{border-color:var(--text)}.color-swatch-btn:disabled{cursor:default;opacity:.6}label{color:var(--text-muted);margin-bottom:var(--space-8);letter-spacing:.01em;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;display:flex}.duration-input{gap:var(--space-3);display:flex}.time-input{align-items:center;gap:var(--space-2);width:fit-content;display:inline-flex}.time-input-field{width:4.2em;padding-left:var(--space-4);padding-right:var(--space-3);font-variant-numeric:tabular-nums}.time-input-sep{color:var(--text-muted);font-weight:600}.form-row{gap:var(--space-3);display:flex}.field-with-scan{align-items:center;gap:var(--space-4);display:flex}.field-with-scan input,.field-with-scan .combobox,.form-row label{flex:1 1 0;min-width:0}.duration-input select{flex:none;width:auto}.login-screen{background:radial-gradient(circle at 20% 20%, #2b616c17, transparent 45%), radial-gradient(circle at 80% 80%, #2b616c12, transparent 45%), var(--bg);justify-content:center;align-items:center;height:100%;display:flex;position:relative}.login-lang{position:absolute;top:18px;right:18px}.login-footer{text-align:center;color:var(--text-faint);font-size:11.5px;position:absolute;bottom:16px;left:0;right:0}.login-card{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);gap:var(--space-1);width:340px;animation:rise-in var(--dur-slow) var(--ease);flex-direction:column;padding:36px;display:flex}.login-logo{width:auto;height:126px;margin-bottom:var(--space-9);align-self:center}.login-card h1{margin:0 0 var(--space-5);font-size:21px}.login-card form{display:contents}.portal-dashboard{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.portal-dashboard-header{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--border);background:var(--panel);display:flex}.portal-dashboard-header .dzp-logo{width:auto;height:32px}.portal-dashboard-header-right{align-items:center;gap:var(--space-8);display:flex}.portal-dashboard-main{width:100%;max-width:960px;padding:var(--space-10);gap:var(--space-10);flex-direction:column;flex:1;margin:0 auto;display:flex}.portal-model-info-card{padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.portal-model-info-card h3{margin:0 0 var(--space-4)}.portal-model-info-links{gap:var(--space-8);margin-bottom:var(--space-4);display:flex}.portal-model-info-manuals{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.link-button{box-shadow:none;padding:var(--space-2) 0;color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:500}.link-button:hover{box-shadow:none;background:0 0;text-decoration:underline;transform:none}.login-card h1:after{content:"";background:var(--accent);width:34px;height:3px;margin-top:var(--space-7);margin-bottom:var(--space-2);border-radius:999px;display:block}.checkbox-label{align-items:center;gap:var(--space-5);color:var(--text);margin:var(--space-1) 0 var(--space-10);flex-direction:row;font-size:13.5px;font-weight:500}.checkbox-label input{width:auto}.admin-add-row .checkbox-label,.admin-list li .checkbox-label{margin:0;display:inline-flex}.login-card button[type=submit]{background:var(--accent);color:#fff;border-color:var(--accent);padding:11px var(--space-10);box-shadow:var(--shadow-sm)}.login-card button[type=submit]:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.equipment-public-page{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.equipment-public-header{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--border);background:var(--panel);display:flex}.equipment-public-header .dzp-logo{width:auto;height:32px}.equipment-public-main{width:100%;max-width:560px;padding:var(--space-10);gap:var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.equipment-public-main .maintenance-badge{cursor:default}.equipment-public-field{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.equipment-public-field span:first-child{color:var(--text-muted)}.qr-code-preview{padding:var(--space-4) 0;justify-content:center;display:flex}.equipment-public-request-form{gap:var(--space-6);margin-top:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border);flex-direction:column;display:flex}.equipment-public-request-actions{justify-content:flex-end;gap:var(--space-4);display:flex}.equipment-public-confirmation{text-align:center;padding:var(--space-10) 0}.equipment-public-confirmation p{color:var(--text-muted);line-height:1.6}.app-shell{flex-direction:row;height:100%;display:flex}.app-shell-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.dzp-logo{width:auto;height:30px;display:block}.sidebar-logo-link{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:0;display:flex}.sidebar-logo{width:100%;max-width:180px;height:auto}.sidebar-logo-icon{width:24px;height:24px;display:none}.sidebar-hamburger{top:var(--space-8);left:var(--space-8);z-index:21;border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);background:var(--panel);box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;display:none;position:fixed}.sidebar-hamburger:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.help-link{border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);background:var(--panel);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;text-decoration:none;display:flex}.help-link:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.lang-switcher{padding:var(--space-2) 22px var(--space-2) var(--space-5);cursor:pointer;border-radius:999px;font-size:13px}.lang-switcher:hover{border-color:var(--text-faint)}.app-main{flex:1;padding:22px 26px;overflow:auto}.app-footer{padding:var(--space-5) 26px;text-align:center;color:var(--text-faint);background:var(--panel);border-top:1px solid var(--border-soft);flex-shrink:0;font-size:11.5px}.tactical-logo{vertical-align:middle;width:auto;height:16px;margin:0 var(--space-2);opacity:.85}.sidebar{background:var(--panel);border-right:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;width:232px;height:100%;display:flex}.sidebar-nav{padding:var(--space-8) var(--space-5);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-item{border-radius:var(--radius-sm);width:100%;padding:var(--space-5) var(--space-7);color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:10px;font-size:13.5px;display:flex}.sidebar-item:hover{background:var(--bg);color:var(--text)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent)}.sidebar-item-sub{padding-left:calc(var(--space-7) + 20px);font-size:13px}.sidebar-divider{margin:var(--space-9) var(--space-7) var(--space-3);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:550}.sidebar-cluster-head{border-radius:var(--radius-sm);width:100%;padding:var(--space-5) var(--space-7);color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:10px;font-size:13.5px;display:flex}.sidebar-cluster-head:hover{background:var(--bg);color:var(--text)}.sidebar-cluster-chevron{transition:transform var(--dur) var(--ease);margin-left:auto}.sidebar-cluster-head.expanded .sidebar-cluster-chevron{transform:rotate(90deg)}.sidebar-cluster-items{flex-direction:column;gap:2px;display:flex}.sidebar-submenu-head{padding-left:calc(var(--space-7) + 20px);font-size:13px}.sidebar-submenu-items{flex-direction:column;gap:2px;display:flex}.sidebar-item-sub2{padding-left:calc(var(--space-7) + 40px);font-size:13px}.sidebar-header{padding:var(--space-9) 36px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.sidebar-pin-toggle{top:var(--space-6);right:var(--space-5);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-faint);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.sidebar-pin-toggle:hover{background:var(--bg);color:var(--text-muted)}.sidebar-utility{border-top:1px solid var(--border-soft);padding:var(--space-6) var(--space-5);gap:var(--space-5);flex-direction:column;flex-shrink:0;display:flex}.sidebar-utility-icons{justify-content:center;align-items:center;gap:var(--space-5);display:flex}.sidebar-location-switcher{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.sidebar-location-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;color:var(--text);flex:1;font-size:13.5px;font-weight:600;overflow:hidden}.sidebar-location-arrow{padding:2px var(--space-4);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;font-size:15px;line-height:1}.sidebar-location-arrow:hover{color:var(--accent);background:var(--accent-soft)}.sidebar-profile{border-top:1px solid var(--border-soft);padding:var(--space-6) var(--space-5);flex-direction:column;flex-shrink:0;gap:2px;display:flex}.sidebar-profile-toggle{border-radius:var(--radius-sm);width:100%;padding:var(--space-4) var(--space-7);color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:10px;font-size:12.5px;font-weight:550;display:flex}.sidebar-profile-toggle:hover{background:var(--bg)}.sidebar-profile-toggle .sidebar-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-profile-items{flex-direction:column;gap:2px;margin-top:2px;display:flex}.sidebar-profile-row{border-radius:var(--radius-sm);width:100%;padding:var(--space-4) var(--space-7);color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:10px;font-size:13px;display:flex}button.sidebar-profile-row:hover{background:var(--bg);color:var(--text)}.sidebar-profile-lang .lang-switcher{width:100%;padding:var(--space-2) 20px var(--space-2) var(--space-4);font-size:12.5px}@media (width>=861px){.sidebar{transition:width var(--dur-slow) var(--ease)}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-label,.sidebar.collapsed .sidebar-divider,.sidebar.collapsed .sidebar-cluster-chevron,.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .sidebar-pin-toggle,.sidebar.collapsed .sidebar-location-name{display:none}.sidebar.collapsed .sidebar-location-switcher{gap:0}.sidebar.collapsed .sidebar-logo-icon{display:block}.sidebar.collapsed .sidebar-utility-icons{flex-direction:column}.sidebar.collapsed .sidebar-item,.sidebar.collapsed .sidebar-item-sub,.sidebar.collapsed .sidebar-item-sub2,.sidebar.collapsed .sidebar-cluster-head,.sidebar.collapsed .sidebar-profile-toggle,.sidebar.collapsed .sidebar-header{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-cluster-items,.sidebar.collapsed .sidebar-submenu-items,.sidebar.collapsed .sidebar-profile-items{display:none}}.splash,.board-loading{justify-content:center;align-items:center;gap:var(--space-9);height:100%;color:var(--text-muted);flex-direction:column;font-size:14px;display:flex}.splash:before,.board-loading:before{content:"";border:3px solid var(--border-soft);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.weekly-board,.parking-board,.stage-board,.admin-view,.export-view{animation:fade-in var(--dur-slow) var(--ease) both}.board-header{align-items:center;row-gap:var(--space-5);gap:var(--space-10);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.board-header h2,.admin-section .board-header h2{margin:0}.board-header-location{align-items:center;gap:var(--space-5);display:flex}.weekly-board .board-header>.icon-add-btn{margin-left:auto}.board-header-location-name{color:var(--text);font-size:17px;font-weight:700}.board-header-location-arrow{padding:2px var(--space-3);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.board-header-location-arrow:hover{color:var(--text)}.week-nav,.week-span-toggle{align-items:center;gap:var(--space-3);background:var(--panel);border-radius:var(--radius-md);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);padding:5px;display:flex}.week-span-toggle button{padding:var(--space-4) var(--space-8);border:none;font-size:13px}.modal-tabs-select{width:100%;padding:var(--space-5) var(--space-8);font-size:16px;font-family:var(--sans);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:18px;display:none}.modal-tabs-select:focus{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.week-nav button{padding:var(--space-4) var(--space-8);border:none}.week-picker{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:center;letter-spacing:-.01em;min-width:190px;color:var(--text);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.week-picker:hover{background:var(--panel-alt)}.week-picker:focus{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.new-ticket-btn{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-sm);margin-left:auto}.export-buttons{gap:var(--space-3);margin-left:auto;display:flex}.export-date-field{margin-bottom:0}.export-date-field select{max-width:220px}.export-buttons .new-ticket-btn{margin-left:0}.report-presets-select{max-width:220px;margin-bottom:0}.report-stats-bar{justify-content:space-between;align-items:flex-end;gap:var(--space-8);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.report-filters{gap:var(--space-8);flex-wrap:wrap;display:flex}.report-filters .export-date-field{margin-bottom:0}.report-stats{gap:var(--space-5);flex-wrap:wrap;display:flex}.report-stat{gap:var(--space-1);background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-6) var(--space-9);min-width:96px;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.report-stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:650}.report-stat span{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:700}.new-ticket-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.icon-add-btn{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.refresh-seconds-select{flex:none;width:5em}.sync-indicator{color:var(--text-faint);align-items:center;gap:var(--space-3);font-size:12px;font-weight:500;display:inline-flex}.sync-indicator:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite pulse-dot}.board-grid-wrap{position:relative}.board-grid{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);touch-action:pan-y;overflow:auto hidden}.board-edge-nav{z-index:5;border:1px solid var(--border-soft);background:var(--panel);width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--text-muted);opacity:.9;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.board-edge-nav:hover{opacity:1;color:var(--accent);border-color:var(--accent);transform:translateY(-50%)scale(1.06)}.board-edge-nav.left{left:-18px}.board-edge-nav.right{right:-18px}.board-grid-headrow,.technician-row{grid-template-columns:148px repeat(var(--day-count,6), minmax(140px, 1fr));border-bottom:1px solid var(--border-soft);width:calc(148px + var(--day-count,6) * 140px);min-width:100%;display:grid}.week-seam{border-left:2px solid var(--border)}.technician-row:last-child{border-bottom:none}.board-grid-headrow{background:var(--panel-alt);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:650}.corner-cell,.day-header{padding:var(--space-8) var(--space-7);border:none;border-right:1px solid var(--border-soft);text-align:center}.corner-cell{z-index:2;background:var(--panel-alt);position:sticky;left:0}.day-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:0;font-size:12.5px;font-weight:650}.day-header.today{background:var(--accent-soft);color:var(--accent)}.technician-tab{padding:var(--space-7) var(--space-9);color:#fff;text-shadow:-1px -1px 1px #00000080,1px -1px 1px #00000080,-1px 1px 1px #00000080,1px 1px 1px #00000080;-webkit-text-stroke:.4px #00000059;border:none;border-right:1px solid var(--border-soft);text-align:left;cursor:pointer;transition:filter var(--dur) var(--ease);z-index:2;border-radius:0;justify-content:flex-start;align-items:center;font-size:13px;font-weight:650;display:flex;position:sticky;left:0}.technician-tab:hover{filter:brightness(1.12)}.technician-tab-name{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.technician-tab-name-line{white-space:nowrap;text-overflow:ellipsis;width:100%;line-height:1.2;display:block;overflow:hidden}.technician-tab.drop-over{box-shadow:inset 0 0 0 2px #fff;background:var(--accent-hover)!important}.day-cell{border-right:1px solid var(--border-soft);min-height:80px;padding:var(--space-4);gap:var(--space-3);transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.day-cell .job-card{flex:none;width:100%;min-width:0}@media (width>=1093px){.board-grid.multi-week .board-grid-headrow,.board-grid.multi-week .technician-row{grid-template-columns:148px repeat(var(--day-count,6), minmax(0, 1fr));width:100%;min-width:0}}.drop-over{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)!important}.day-cell.today{background:var(--accent-soft)}.day-cell.holiday{background:repeating-linear-gradient(45deg, var(--panel-alt), var(--panel-alt) 8px, var(--border-soft) 8px, var(--border-soft) 16px)}.day-cell.absent{background:var(--panel-alt)}.day-cell-time-left{color:var(--text-faint);letter-spacing:.02em;font-size:10.5px;font-weight:600}.day-cell-time-left.over{color:var(--danger)}.absent-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:700}.absent-label.removable{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);margin:-3px -5px;padding:3px 5px}.absent-label.removable:hover{background:var(--danger-soft);color:var(--danger)}.job-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-6);cursor:grab;box-shadow:var(--shadow-sm);touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);border-left:4px solid #999;font-size:12px}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.job-card:active{cursor:grabbing}.job-card.dragging{opacity:.55;box-shadow:var(--shadow-lg);z-index:10;transition:none}.job-card-overlay{cursor:grabbing;box-shadow:var(--shadow-lg)}.job-card.readonly,.dayview-job.readonly{cursor:default;touch-action:auto}.job-card.readonly:hover,.dayview-job.readonly:hover{box-shadow:var(--shadow-sm);transform:none}.job-card.waiting-equipment,.dayview-job.waiting-equipment{opacity:.6}.waiting-icon{color:var(--text-muted);vertical-align:-1px;margin-right:3px}.job-card-type-icon{vertical-align:-1px;flex-shrink:0;margin-right:3px}.job-card-order,.job-card-client{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.job-card-order{font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums}.job-card-client{color:var(--text-muted);font-size:11.5px}.parking-board{gap:var(--space-11);flex-direction:column;display:flex}.parking-lane{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.parking-lane-header{background:var(--warn-soft);border-bottom:1px solid var(--warn-border);color:var(--warn);padding:var(--space-8) var(--space-10);font-size:13px;font-weight:650}.parking-lane-columns{grid-auto-columns:minmax(160px,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.parking-cell{border-right:1px solid var(--border-soft);padding:var(--space-7);min-height:96px;transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.parking-cell-header{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-7);text-align:center;font-size:11px;font-weight:700}.parking-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-7);margin-bottom:var(--space-5);cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);font-size:12px}.parking-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.parking-card.dragging{opacity:.55;box-shadow:var(--shadow-lg);transition:none}.return-btn{margin-top:var(--space-5);width:100%;padding:5px var(--space-3);font-size:11px}.stage-board{gap:var(--space-9);grid-auto-columns:minmax(200px,1fr);grid-auto-flow:column;align-items:start;display:grid;overflow-x:auto}.stage-column{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-height:200px;transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;display:flex}.stage-column.drop-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.stage-column-header{padding:var(--space-8) var(--space-9);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;font-size:13px;font-weight:650;display:flex}.stage-column-count{color:var(--text-faint);background:var(--panel-alt);padding:1px var(--space-5);font-variant-numeric:tabular-nums;border-radius:999px;font-size:11px;font-weight:700}.stage-column-body{padding:var(--space-7);gap:var(--space-5);flex-direction:column;flex:1;display:flex}.stage-column-empty{color:var(--text-faint);text-align:center;padding:var(--space-7) 0;font-size:11.5px}.stage-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-7);cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);border-left:4px solid #999;font-size:12px}.stage-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stage-card.dragging{opacity:.55;box-shadow:var(--shadow-lg);transition:none}.stage-card-top{align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.stage-status-badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-3);white-space:nowrap;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:9.5px;font-weight:700}.stage-status-badge.parked{background:var(--warn-soft);color:var(--warn)}.stage-card-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--text-muted);font-size:11px;display:flex}.stage-card-technician{align-items:center;gap:5px;display:inline-flex}.stage-card-unassigned{color:var(--text-faint);font-style:italic}.stage-card-date{font-variant-numeric:tabular-nums;color:var(--text-faint)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fade-in var(--dur) var(--ease);will-change:transform;background:#0a0c0b80;justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:var(--radius-lg);width:min(440px,100vw - 32px);max-height:calc(100vh - 2 * var(--space-12));margin:var(--space-12) 0;box-shadow:var(--shadow-lg);animation:rise-in var(--dur-slow) var(--ease);flex-direction:column;padding:26px;display:flex}@media (width<=480px){.modal{padding:var(--space-11)}}.modal h2{flex-shrink:0;margin-top:0;font-size:18px}.modal-body{flex:1;min-height:0;overflow-y:auto}.ticket-page{background:var(--bg);min-height:0;animation:fade-in var(--dur) var(--ease);flex-direction:column;flex:1;display:flex}.ticket-page-header{align-items:center;gap:var(--space-9);padding:var(--space-9) var(--space-11);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.ticket-page-header h2{margin:0;font-size:18px}.ticket-page-back{color:var(--accent);cursor:pointer;padding:var(--space-4) var(--space-6);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;font-size:14px;font-weight:600}.ticket-page-back:hover{background:var(--accent-soft)}.ticket-page-body{min-height:0;padding:var(--space-11);box-sizing:border-box;flex:1;width:100%;max-width:720px;margin:0 auto;overflow-y:auto}.ticket-page-fieldset{border:none;min-width:0;margin:0;padding:0}.ticket-form-grid{align-items:start;column-gap:var(--space-9);row-gap:var(--space-7);grid-template-columns:auto minmax(0,1fr);display:grid}.ticket-form-grid>label{white-space:nowrap;margin-bottom:0;padding-top:8px;display:block}.ticket-form-field{min-width:0}.ticket-form-field>input,.ticket-form-field>select,.ticket-form-field>textarea{width:100%}.ticket-form-field>input[type=checkbox]{width:auto;margin-top:8px}.ticket-form-field.hint{margin-bottom:0;padding-top:8px}.ticket-form-field .link-button{margin-top:var(--space-3)}.ticket-form-field-row{align-items:center;gap:var(--space-6);display:flex}.order-number-field{gap:var(--space-4);display:flex}.order-number-field>select{flex:none;width:auto}.order-number-field>input,.order-number-field>.combobox{flex:auto;min-width:0}.ticket-form-inline-label{color:var(--text-muted);font-size:12.5px;font-weight:600}.combobox{width:100%;position:relative}.combobox input{width:100%;padding-right:26px}.combobox-clear{width:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:0;bottom:0;right:0}.combobox-clear:hover{color:var(--text)}.combobox-list{z-index:30;max-height:220px;padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin:0;list-style:none;overflow-y:auto}.combobox-list li{padding:var(--space-5) var(--space-6);border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px}.combobox-list li:hover,.combobox-list li.highlighted{background:var(--accent-soft);color:var(--accent)}.combobox-empty{cursor:default;color:var(--text-faint);font-style:italic}.combobox-empty:hover{color:var(--text-faint);background:0 0}.technician-multiselect{width:100%;position:relative}.technician-multiselect-trigger{text-align:left;width:100%;font:inherit;padding:var(--space-6) 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;display:block}.technician-multiselect-trigger span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.technician-multiselect-trigger.placeholder{color:var(--text-faint)}.technician-multiselect-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.technician-multiselect-panel{top:calc(100% + var(--space-2));z-index:30;max-height:260px;padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin:0;position:absolute;left:0;right:0;overflow-y:auto}.technician-multiselect-panel .checkbox-label{padding:var(--space-5) var(--space-6);border-radius:var(--radius-sm);margin:0}.technician-multiselect-panel .checkbox-label:hover{background:var(--accent-soft)}.technician-multiselect-divider{height:1px;margin:var(--space-3) 0;background:var(--border)}.success-text{color:var(--accent);padding:var(--space-6) 0;font-weight:600}.success-modal{text-align:center}.success-modal-icon{width:56px;height:56px;margin:0 auto var(--space-8);background:var(--accent-soft);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.success-modal h2{margin-bottom:var(--space-6)}.success-modal-body{color:var(--text-muted);line-height:1.5}.success-modal-chips{justify-content:center;gap:var(--space-5);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.success-modal-chip{background:var(--accent-soft);color:var(--accent);padding:var(--space-5) var(--space-8);border-radius:var(--radius-md);font-size:15px;font-weight:700}.success-modal .modal-actions{justify-content:center}.success-modal-ok{background:var(--accent);color:#fff;border-color:var(--accent);min-width:130px;padding:var(--space-5) var(--space-10);box-shadow:var(--shadow-sm);font-weight:600}.success-modal-ok:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.error-modal{text-align:center}.error-modal-icon{width:56px;height:56px;margin:0 auto var(--space-8);background:var(--danger-soft);color:var(--danger);border-radius:50%;justify-content:center;align-items:center;display:flex}.error-modal h2{margin-bottom:var(--space-6)}.error-modal-body{color:var(--text-muted);white-space:pre-line;line-height:1.5}.error-modal .modal-actions{justify-content:center}.error-modal-ok{background:var(--danger);color:#fff;border-color:var(--danger);min-width:130px;padding:var(--space-5) var(--space-10);box-shadow:var(--shadow-sm);font-weight:600}.error-modal-ok:hover{filter:brightness(1.1)}.hint-info-modal{text-align:center}.hint-info-modal-icon{width:56px;height:56px;margin:0 auto var(--space-8);background:var(--accent-soft);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.hint-info-modal h2{margin-bottom:var(--space-6)}.hint-info-modal-body{color:var(--text-muted);white-space:pre-line;text-align:left;line-height:1.5}.hint-info-modal .modal-actions{justify-content:center}.hint-info-modal-ok{background:var(--accent);color:#fff;border-color:var(--accent);min-width:130px;padding:var(--space-5) var(--space-10);box-shadow:var(--shadow-sm);font-weight:600}.hint-info-modal-ok:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.confirm-modal{text-align:center}.confirm-modal-icon{width:56px;height:56px;margin:0 auto var(--space-8);background:var(--accent-soft);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-modal-icon.danger{background:var(--danger-soft);color:var(--danger)}.confirm-modal-body{color:var(--text-muted);line-height:1.5}.confirm-modal .modal-actions{justify-content:center}.modal.modal-wide{width:min(920px,100vw - 32px)}.import-review-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:50vh;margin:var(--space-7) 0;overflow:auto}.import-review-table{border-collapse:collapse;width:100%;font-size:13px}.import-review-table th,.import-review-table td{padding:var(--space-3) var(--space-7);text-align:left;white-space:nowrap}.import-review-table thead th{background:var(--panel);border-bottom:1px solid var(--border);z-index:1;position:sticky;top:0}.import-review-table tbody tr:not(:last-child){border-bottom:1px solid var(--border)}.import-review-table tbody tr.import-review-row-error{background:var(--danger-soft)}.import-review-table select{max-width:220px}.modal-actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;flex-shrink:0;margin-top:18px;display:flex}.ticket-created-meta{color:var(--text-muted);margin-left:auto;font-size:12.5px}.modal-actions button{padding:var(--space-4) var(--space-8);font-size:13px}.more-menu{display:inline-flex;position:relative}.more-menu-list{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-lg);padding:var(--space-3);gap:var(--space-1);z-index:10;animation:rise-in var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.more-menu-list button{text-align:left;padding:var(--space-5) var(--space-7);border-radius:var(--radius-sm);background:0 0;border:none;font-size:13px;font-weight:500}.more-menu-list button:hover{background:var(--panel-alt)}.more-menu-list button.danger-text{color:var(--danger)}.more-menu-list button.danger-text:hover{background:var(--danger-soft)}.user-menu-trigger{align-items:center;gap:var(--space-3);color:var(--text-muted);font:inherit;padding:var(--space-3) var(--space-7);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;font-size:13.5px;font-weight:550;display:flex}.user-menu-trigger:hover{background:var(--panel-alt);border-color:var(--border-soft)}.user-menu-caret{opacity:.7;font-size:10px}.user-menu-list{min-width:200px;inset:calc(100% + 6px) 0 auto auto}.user-menu-list button{align-items:center;gap:var(--space-5);display:flex}.user-menu-list button svg{stroke:currentColor;flex-shrink:0;width:15px;height:15px}.user-menu-row{justify-content:space-between;align-items:center;gap:var(--space-7);padding:var(--space-3) var(--space-7);color:var(--text-muted);font-size:13px;font-weight:500;display:flex}.user-menu-divider{background:var(--border-soft);height:1px;margin:var(--space-2) var(--space-1)}.notification-bell .help-link{position:relative}.notification-badge{background:var(--danger);color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--panel);border-radius:999px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.notification-list{min-width:220px;inset:calc(100% + 6px) 0 auto auto}.park-form{background:var(--warn-soft);border:1px solid var(--warn-border);padding:var(--space-8);border-radius:var(--radius-md);margin:var(--space-8) 0;animation:rise-in var(--dur) var(--ease)}.duplicate-technician-list{margin:var(--space-5) 0;padding:var(--space-3) var(--space-5);background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);max-height:180px;list-style:none;overflow-y:auto}.duplicate-technician-list li{padding:var(--space-2) 0}.duplicate-technician-list .checkbox-label{margin-bottom:0}.locations-picker{margin:var(--space-5) 0;padding:var(--space-3) var(--space-5);background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);max-height:160px;overflow-y:auto}.locations-picker .hint{margin-bottom:var(--space-2)}.locations-picker .checkbox-label{margin:0 0 var(--space-2)}.locations-picker select{margin-top:var(--space-3)}.phase-checkbox-row{align-items:center;gap:var(--space-6);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.phase-checkbox-row .checkbox-label{margin:0}.phase-duration-field{align-items:center;gap:var(--space-3);color:var(--text-muted);flex-direction:row;margin-bottom:0;font-size:12.5px;display:flex}.phase-duration-field input{width:64px}.mode-toggle{gap:var(--space-5);margin-bottom:var(--space-9);display:flex}.hint{color:var(--text-muted);margin-bottom:var(--space-8);font-size:12.5px;font-weight:500}.search-modal{flex-direction:column;width:min(520px,100vw - 32px);max-height:min(70vh,560px);display:flex}.search-modal .field-with-scan{margin-bottom:var(--space-8);flex-shrink:0}.search-input{width:100%;padding:11px var(--space-9);font-size:15px}.search-result-inert{opacity:.6;pointer-events:none}.search-result-highlighted{border-color:var(--accent);background:var(--accent-soft)}.search-results{flex:1;min-height:40px;overflow-y:auto}.search-results .hint{margin-bottom:0}.block-list{margin:var(--space-2) 0 0;font-weight:500;font-family:var(--mono);font-variant-numeric:tabular-nums;padding-left:18px;font-size:12px}.signature-pad{align-items:flex-start;gap:var(--space-5);margin:var(--space-7) 0;flex-direction:column;display:flex}.signature-pad-canvas{border-radius:var(--radius-md);touch-action:none;cursor:crosshair;background:#f7f5ee;border:1px solid #d8d4c6;width:100%;height:160px}.modal-tabs{margin-bottom:var(--space-10);flex-shrink:0}.ticket-timer{align-items:center;gap:var(--space-10);margin-bottom:var(--space-9);flex-shrink:0;display:flex}.ticket-timer-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:32px;font-weight:700}.ticket-timer-value.running{color:var(--accent)}.ticket-timer .ghost-btn{padding:var(--space-8) var(--space-12);font-size:16px}.modal-tabs-select{flex-shrink:0}.checklist-list{margin:var(--space-7) 0 0;gap:var(--space-5);flex-direction:column;padding:0;list-style:none;display:flex}.checklist-list .checkbox-label{margin:0;display:flex}.checklist-freetext-row{align-items:center;gap:var(--space-5);display:flex}.checklist-freetext-row input[type=checkbox],.checklist-freetext-label{flex-shrink:0}.checklist-freetext-input{flex:auto;min-width:0;max-width:160px;padding:4px 8px;font-size:12.5px}.checklist-admin{width:100%;margin:var(--space-5) 0 var(--space-2) var(--space-12);padding:var(--space-7) var(--space-8);background:var(--panel-alt);border-radius:var(--radius-md);border:1px solid var(--border-soft)}.checklist-admin .checklist-list li{align-items:center;gap:var(--space-5);font-size:13.5px;display:flex}.checklist-stage-group{margin-bottom:var(--space-8)}.checklist-stage-group h4.clickable,.report-table tr.clickable,.report-table th.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.collapse-caret{margin-right:var(--space-2);display:inline-block}.sort-arrow{opacity:.4;font-size:10px}.sort-arrow.active,.report-table th.clickable:hover .sort-arrow{opacity:1}.pagination-bar{align-items:center;gap:var(--space-3);margin-top:var(--space-4);justify-content:flex-end;display:flex}.pagination-bar select{width:auto}.load-more-sentinel{padding:var(--space-9) 0 var(--space-4);justify-content:center;display:flex}.required-mark{color:var(--danger);vertical-align:text-top;margin-left:2px;font-size:.85em;font-weight:700}.checklist-stage-group h4{margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:700}.checklist-item-code{font-family:var(--font-mono,monospace);color:var(--text-muted);background:var(--panel-alt);margin-right:var(--space-3);border-radius:4px;padding:1px 5px;font-size:11.5px;font-weight:700}.checklist-item-code-input{flex-shrink:0;max-width:90px}.certification-list{margin:var(--space-5) 0;gap:var(--space-5);flex-direction:column;padding:0;list-style:none;display:flex}.certification-list li{justify-content:space-between;align-items:center;gap:var(--space-5);font-size:13.5px;display:flex}.checklist-drag-handle{cursor:grab;color:var(--text-faint);touch-action:none;flex-shrink:0;font-size:15px;line-height:1}.checklist-drag-handle:active{cursor:grabbing}.upload-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:var(--space-6) var(--space-9);cursor:pointer;margin-bottom:var(--space-8);transition:background var(--dur) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);border:none;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;display:inline-flex}.upload-btn:hover{background:var(--accent-hover)}.upload-btn:active{transform:scale(.97)}.upload-btn:has(input:focus-visible){box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 1px var(--accent)}.photo-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid}.photo-thumb{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--panel-alt);position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-delete{color:#fff;background:#0a0c0b99;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:15px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.photo-thumb-delete:hover{background:var(--danger)}.photos-toolbar{align-items:center;gap:var(--space-5);display:flex}.photos-tab{border-radius:var(--radius-md);transition:background var(--dur) var(--ease)}.photos-tab.drag-active{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:-2px}.photos-dropzone{text-align:center;padding:var(--space-8) var(--space-9);margin-bottom:var(--space-7);border:1.5px dashed var(--border);border-radius:var(--radius-md);color:var(--text-faint);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);font-size:13px;font-weight:550}.photos-tab.drag-active .photos-dropzone{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.photos-bulk-bar{align-items:center;gap:var(--space-5);background:var(--panel-alt);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-7);margin-bottom:var(--space-7);display:flex}.photos-bulk-bar .hint{margin-right:auto}.photo-thumb-open{background:0 0;border:none;border-radius:0;width:100%;height:100%;padding:0;display:block}.photo-thumb.selected{box-shadow:0 0 0 3px var(--accent)}.photo-thumb-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0;position:absolute;top:6px;left:6px}.gallery-overlay{z-index:1000;animation:fade-in var(--dur-slow) var(--ease);background:#060707eb;flex-direction:column;display:flex;position:fixed;inset:0}.gallery-modal{flex-direction:column;flex:1;min-height:0;display:flex}.gallery-topbar{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);color:#f2f1ec;display:flex}.gallery-caption{color:#cfd0cb;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gallery-position{color:#9a9d97}.gallery-topbar-actions{align-items:center;gap:var(--space-5);flex-shrink:0;display:flex}.gallery-topbar-actions button{color:#f2f1ec;background:#ffffff14;border-color:#ffffff2e}.gallery-topbar-actions button:hover{background:#ffffff29}.gallery-close{font-size:20px;line-height:1;padding:var(--space-4) var(--space-6)!important}.gallery-stage{min-height:0;padding:0 var(--space-11) var(--space-11);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.gallery-stage img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:100%;box-shadow:var(--shadow-lg)}.gallery-nav{color:#f2f1ec;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover{background:#fff3}.gallery-nav-prev{left:var(--space-9)}.gallery-nav-next{right:var(--space-9)}.scan-viewport{background:#000;flex:1;min-height:0;position:relative}.scan-viewport-video{width:100%;height:100%}.scan-viewport-video video{object-fit:cover;width:100%;height:100%}.scan-error{left:var(--space-10);right:var(--space-10);bottom:var(--space-11);align-items:center;gap:var(--space-6);text-align:center;color:#f2a0a0;flex-direction:column;display:flex;position:absolute}.scan-error-retry{border-radius:var(--radius-sm);color:#fff;padding:var(--space-4) var(--space-9);background:#ffffff14;border:1px solid #fff6;font-size:13px}.scan-error-retry:hover{background:#ffffff29}@media (width<=640px){.gallery-topbar{flex-wrap:wrap}.gallery-nav{width:36px;height:36px;font-size:20px}.gallery-nav-prev{left:var(--space-5)}.gallery-nav-next{right:var(--space-5)}}.error-text{color:var(--danger);margin-bottom:var(--space-7);font-size:13px;font-weight:550}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation:none!important}}.dayview-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fade-in var(--dur) var(--ease);background:#0a0c0b80;justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}.dayview-panel{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:1180px;max-height:92vh;margin:var(--space-12) auto;animation:rise-in var(--dur-slow) var(--ease);flex-direction:column;display:flex;overflow:hidden}.dayview-header{align-items:center;gap:var(--space-5);padding:var(--space-10) var(--space-11);border-bottom:1px solid var(--border-soft);display:flex}.dayview-header h2{margin:0 var(--space-5);text-align:center;flex:1;font-size:16px}.dayview-header .close-btn{margin-left:auto}.dayview-holiday-banner{margin:var(--space-12);padding:var(--space-10);background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-border);border-radius:var(--radius-md);text-align:center;font-weight:600}.stage-drag-error{margin:var(--space-8) var(--space-12) 0;padding:var(--space-8) var(--space-10);background:var(--danger-soft);border-radius:var(--radius-md);cursor:pointer}.dayview-grid{padding:var(--space-5) var(--space-11) var(--space-11);min-height:0;overflow:auto}.dayview-hourline{background:var(--panel);z-index:2;grid-template-columns:140px 1fr;display:grid;position:sticky;top:0}.dayview-corner{border-right:1px solid var(--border-soft)}.dayview-timeline-header{border-bottom:1px solid var(--border-soft);height:26px;position:relative}.dayview-hour-mark{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-faint);border-left:1px solid var(--border-soft);padding-left:var(--space-2);height:100%;font-size:11px;font-weight:600;position:absolute;top:0}.dayview-body{position:relative}.dayview-hour-gridline{background:var(--border-soft);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.dayview-break-band{background:repeating-linear-gradient(45deg, var(--panel-alt), var(--panel-alt) 6px, var(--border-soft) 6px, var(--border-soft) 12px);border-left:1px dashed var(--border);border-right:1px dashed var(--border);z-index:1;pointer-events:none;position:absolute;top:0;bottom:0}.dayview-now-line{background:var(--danger);z-index:3;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.dayview-now-line:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.dayview-row{border-bottom:1px solid var(--border-soft);grid-template-columns:140px 1fr;display:grid}.dayview-row:last-child{border-bottom:none}.dayview-tab{padding:var(--space-7) var(--space-8);color:#fff;text-shadow:-1px -1px 1px #00000080,1px -1px 1px #00000080,-1px 1px 1px #00000080,1px 1px 1px #00000080;-webkit-text-stroke:.4px #00000059;border-right:1px solid var(--border-soft);align-items:center;font-size:13px;font-weight:650;display:flex}.dayview-lane{min-height:72px;padding:var(--space-5) 0;transition:background var(--dur) var(--ease);position:relative}.dayview-absent{padding:var(--space-11) var(--space-8)}.dayview-job{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-6);cursor:grab;box-shadow:var(--shadow-sm);z-index:2;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);touch-action:none;-webkit-user-select:none;user-select:none;border-left:4px solid #999;min-width:60px;font-size:11.5px;position:absolute;top:6px;bottom:6px;overflow:hidden}.dayview-job:active{cursor:grabbing}.dayview-job.dragging-float{z-index:999;box-shadow:var(--shadow-lg);opacity:.94;pointer-events:none;cursor:grabbing;transition:none}.dayview-lane.drop-target{background:var(--accent-soft)}.dayview-job:hover{box-shadow:var(--shadow-md);z-index:4;transform:translateY(-1px)}.dayview-job-time{color:var(--text-faint);font-size:10.5px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:var(--space-1)}.dayview-resize-handle{cursor:ew-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:0}.dayview-resize-handle:after{content:"";background:var(--text-faint);opacity:0;width:2px;height:14px;transition:opacity var(--dur-fast) var(--ease);border-radius:2px;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.dayview-job:hover .dayview-resize-handle:after{opacity:.6}.dayview-job.resizing{z-index:4;box-shadow:var(--shadow-md);transition:none;overflow:visible}.dayview-job.resizing .dayview-resize-handle:after{opacity:1;background:var(--accent)}.dayview-resize-duration{background:var(--accent);color:#fff;font-size:10.5px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);pointer-events:none;padding:2px 6px;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.ticket-hover-card{z-index:600;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-lg);padding:var(--space-9) var(--space-11);pointer-events:none;animation:fade-in var(--dur) var(--ease);font-size:12.5px;line-height:1.45;position:fixed}@media (width<=480px){.ticket-hover-card{width:300px}}.ticket-hover-card-loading{color:var(--text-muted)}.ticket-hover-card-header{align-items:center;gap:var(--space-5);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-soft);display:flex}.ticket-hover-card-titles{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ticket-hover-card-header strong{font-family:var(--mono);font-size:16px}.ticket-hover-card-header .stage-status-badge{flex-shrink:0;margin-left:auto}.ticket-hover-card-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ticket-hover-card-rows{gap:var(--space-4) var(--space-8);grid-template-columns:auto 1fr;margin:0;display:grid}.ticket-hover-card-rows dt{color:var(--text-faint);font-weight:600}.ticket-hover-card-rows dd{color:var(--text);margin:0}.ticket-hover-card-notes{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border-soft);color:var(--text-muted);white-space:pre-wrap}.ticket-hover-card-notes-label{color:var(--text-faint);margin-bottom:var(--space-2);font-weight:600}.dayview-panel.technician-overview{max-width:640px}.dayview-panel.technician-overview.embedded{max-height:none;animation:view-in var(--dur-slow) var(--ease);margin:0 auto}.dayview-panel.embedded{max-width:none;max-height:none;box-shadow:none;animation:view-in var(--dur-slow) var(--ease);margin:0}.technician-overview-body{padding:var(--space-5) var(--space-12) var(--space-12);flex-direction:column;gap:22px;min-height:0;display:flex;overflow-y:auto}.overview-section h3{margin:0 0 var(--space-7);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:13.5px}.overview-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.overview-list li{background:var(--panel-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-5) var(--space-8);cursor:pointer;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease)}.schedule-list-row{justify-content:space-between;align-items:center;gap:var(--space-9);display:flex}.schedule-list-row-main{min-width:0}.overview-list li:hover{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.overview-list.plain li{cursor:default;color:var(--text-muted);font-size:13px}.overview-list.plain li:hover{box-shadow:none;border-color:var(--border-soft);transform:none}.overview-list li.ticket-overview-row{cursor:default;justify-content:space-between;align-items:center;gap:var(--space-9);display:flex}.ticket-row-info{cursor:pointer;flex:1;min-width:0}.ticket-row-timer{align-items:center;gap:var(--space-5);flex-shrink:0;display:flex}.ticket-timer-value.small{font-size:13px}.overview-list-main{gap:var(--space-5);align-items:baseline;font-size:13.5px;display:flex}.overview-list-meta{color:var(--text-faint);margin-top:var(--space-1);font-size:11.5px}.technician-overview.embedded .overview-list li{padding:var(--space-9) var(--space-10)}.technician-overview.embedded .overview-list-main{gap:var(--space-6);font-size:16px}.technician-overview.embedded .job-card-client,.technician-overview.embedded .overview-list-meta{font-size:14px}.technician-overview.embedded .ticket-row-timer{gap:var(--space-6)}.technician-overview.embedded .ticket-timer-value.small{font-size:15px}.technician-overview.embedded .ticket-row-timer .link-btn{padding:var(--space-3) var(--space-5);font-size:14px}@media (width>=700px){.technician-overview.embedded .overview-list-main{font-size:18px}.technician-overview.embedded .job-card-client,.technician-overview.embedded .overview-list-meta{font-size:15px}}.badge-progress{color:var(--accent);font-weight:650}.schedule-list-view{gap:var(--space-11);background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:18px var(--space-11);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.schedule-list-tech-header{align-items:center;gap:var(--space-5);margin:0 0 var(--space-7);color:var(--text);font-size:14px;display:flex}.schedule-list-view .job-card-order,.schedule-list-view .job-card-client{white-space:normal;text-overflow:clip;overflow:visible}.schedule-list-absence{cursor:default}.schedule-list-absence:hover{box-shadow:none;border-color:var(--border-soft);transform:none}.vacation-badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-5);margin-right:var(--space-3);border-radius:999px;font-size:10.5px;font-weight:700;display:inline-block}.vacation-badge.pending{background:var(--warn-soft);color:var(--warn)}.vacation-badge.approved{background:var(--accent-soft);color:var(--accent)}.vacation-badge.denied{background:var(--danger-soft);color:var(--danger)}.maintenance-badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-5);cursor:pointer;border:none;border-radius:999px;font-size:10.5px;font-weight:700;display:inline-block}.maintenance-badge.notTracked{background:var(--panel-alt);color:var(--text-muted)}.maintenance-badge.onSchedule{background:var(--accent-soft);color:var(--accent)}.maintenance-badge.dueSoon{background:var(--warn-soft);color:var(--warn)}.maintenance-badge.overdue{background:var(--danger-soft);color:var(--danger)}.admin-view{gap:var(--space-11);flex-direction:column;max-width:min(1520px,96vw);display:flex}.export-view{gap:var(--space-10);flex-direction:column;max-width:min(1520px,96vw);display:flex}.report-table-wrap{overflow-x:auto}.report-table-wrap.overflow-visible{overflow:visible}.report-table{border-collapse:collapse;width:100%;font-size:13px}.entity-badge{text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-3);white-space:nowrap;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:9.5px;font-weight:700;display:inline-block}.entity-badge.badge-danger{background:var(--danger-soft);color:var(--danger)}.entity-badge.badge-warn{background:var(--warn-soft);color:var(--warn)}.entity-badge.badge-info{background:var(--info-soft);color:var(--info)}.entity-badge.badge-purple{background:var(--purple-soft);color:var(--purple)}.recycle-bin-table,.activity-log-table{table-layout:fixed}.recycle-bin-table th:first-child,.recycle-bin-table td:first-child,.activity-log-table th:first-child,.activity-log-table td:first-child{width:130px}.recycle-bin-table th:not(:last-child),.recycle-bin-table td:not(:last-child),.activity-log-table th,.activity-log-table td{text-overflow:ellipsis;overflow:hidden}.recycle-bin-table th:nth-last-child(3),.recycle-bin-table td:nth-last-child(3){width:190px}.recycle-bin-table th:nth-last-child(2),.recycle-bin-table td:nth-last-child(2),.activity-log-table th:nth-last-child(2),.activity-log-table td:nth-last-child(2){width:170px}.recycle-bin-table th:last-child,.recycle-bin-table td:last-child{width:140px}.activity-log-table th:last-child,.activity-log-table td:last-child{width:160px}.recycle-bin-table tbody tr.clickable,.activity-log-table tbody tr.clickable{cursor:pointer}.recycle-bin-table tbody tr.clickable:hover,.activity-log-table tbody tr.clickable:hover{background:var(--panel-alt)}.detail-modal-fields{gap:var(--space-6);margin:var(--space-9) 0;flex-direction:column;display:flex}.detail-modal-row{justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-soft);display:flex}.detail-modal-row:last-child{border-bottom:none;padding-bottom:0}.detail-modal-row dt{color:var(--text-muted);flex-shrink:0;font-size:12.5px}.detail-modal-row dd{text-align:right;margin:0;font-weight:600}.detail-modal-row dd .clickable{cursor:pointer;color:var(--accent)}.detail-modal-row dd .clickable:hover{text-decoration:underline}.report-table td a,.detail-modal-row dd a{color:var(--accent);text-decoration:none}.report-table td a:hover,.detail-modal-row dd a:hover{text-decoration:underline}.settings-email-list{gap:var(--space-4);margin:0 0 var(--space-8);flex-direction:column;max-width:420px;padding:0;list-style:none;display:flex}.settings-email-row{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);display:flex}.settings-email-row button{padding:var(--space-2)}.report-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border-soft);padding:0 var(--space-7) var(--space-5) 0;white-space:nowrap;font-size:11px}.report-table td{padding:var(--space-5) var(--space-7) var(--space-5) 0;border-bottom:1px solid var(--border-soft);white-space:nowrap}.report-table th.numeric,.report-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.report-table tbody tr{transition:background var(--dur-fast) var(--ease)}.report-table tbody tr:hover{background:var(--panel-alt)}.report-table tr:last-child td{border-bottom:none}.report-order-link{cursor:pointer;color:inherit;text-decoration:none}.report-order-link:hover{color:var(--accent);text-decoration:underline}.report-table td.clickable{cursor:pointer}.report-table td.clickable:hover{color:var(--accent)}.report-table td .clickable{cursor:pointer;color:var(--accent)}.report-table td .clickable:hover{text-decoration:underline}.report-table-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.expand-caret{width:1em;color:var(--text-faint);display:inline-block}.report-table-nested{white-space:normal;background:var(--panel-alt);padding:var(--space-6) var(--space-7)}.report-table tr.hint-row:hover{background:0 0}.orders-table,.orders-tickets-table{table-layout:fixed}.orders-table th,.orders-table td,.orders-tickets-table th,.orders-tickets-table td{text-overflow:ellipsis;overflow:hidden}.orders-table th:nth-child(3),.orders-table td:nth-child(3),.orders-tickets-table th:nth-child(2),.orders-tickets-table td:nth-child(2){width:22%}.orders-table th:nth-child(4),.orders-table td:nth-child(4),.orders-tickets-table th:nth-child(4),.orders-tickets-table td:nth-child(4){width:12%}.orders-table th:nth-child(6),.orders-table td:nth-child(6),.orders-tickets-table th:nth-child(6),.orders-tickets-table td:nth-child(6),.orders-table th:nth-child(7),.orders-table td:nth-child(7),.orders-tickets-table th:nth-child(7),.orders-tickets-table td:nth-child(7){width:11%}.admin-section{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-11) 22px;box-shadow:var(--shadow-sm)}.admin-section h2{align-items:center;gap:var(--space-5);margin-top:0;margin-bottom:var(--space-9);font-size:15px;display:flex}.job-type-icons-section,.service-request-emails-section{margin-top:var(--space-12);padding-top:var(--space-11);border-top:1px solid var(--border-soft)}.job-type-icons-section h3,.service-request-emails-section h3{margin:0 0 var(--space-3);font-size:14px}.job-type-icon-list{margin:var(--space-9) 0 0;gap:var(--space-8);flex-direction:column;padding:0;list-style:none;display:flex}.job-type-icon-row{align-items:center;gap:var(--space-7);flex-wrap:wrap;display:flex}.job-type-icon-current{align-items:center;gap:var(--space-4);min-width:160px;color:var(--text);font-size:13.5px;display:flex}.job-type-icon-palette{gap:var(--space-3);flex-wrap:wrap;display:flex}.job-type-color-field .color-swatch-btn{width:30px;height:30px}.icon-swatch{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:30px;height:30px;color:var(--text-muted);justify-content:center;align-items:center;padding:0;display:flex}.icon-swatch:hover{border-color:var(--accent);color:var(--accent)}.icon-swatch.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.job-type-icon-manage{margin-top:var(--space-9);padding-top:var(--space-9);border-top:1px solid var(--border-soft)}.job-type-icon-catalog{gap:var(--space-5);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.icon-swatch-wrap{position:relative}.icon-swatch-remove{border:1px solid var(--border);background:var(--panel);width:16px;height:16px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.icon-swatch-remove:hover{background:var(--danger-soft);color:var(--danger);border-color:currentColor}.icon-swatch-wrap.selected .icon-swatch{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.icon-swatch-select{margin:0;position:absolute;top:-6px;right:-6px}.job-type-icon-bulk-actions{margin-top:var(--space-7)}.overview-stat-row{gap:var(--space-9);margin-bottom:var(--space-11);flex-wrap:wrap;display:flex}.overview-stat-card{align-items:flex-start;gap:var(--space-3);background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-9) var(--space-10);box-shadow:var(--shadow-sm);text-align:left;flex-direction:column;flex:160px;font-family:inherit;display:flex}button.overview-stat-card{cursor:pointer}button.overview-stat-card:hover{border-color:var(--accent)}button.overview-stat-card:hover .overview-stat-count{color:var(--accent)}.overview-stat-count{font-variant-numeric:tabular-nums;color:var(--text);font-size:32px;font-weight:700;line-height:1}.overview-stat-label{color:var(--text-muted);font-size:13px}.dashboard-grid{columns:320px;column-gap:var(--space-11)}.dashboard-widget{break-inside:avoid;margin-bottom:var(--space-11)}.dashboard-widget h3{margin:0 0 var(--space-9);font-size:14px}.running-timers-table{border-collapse:collapse;width:100%;font-size:13px}.running-timers-table td{width:33.333%;padding:var(--space-5);text-align:center;border-bottom:1px solid var(--border-soft)}.running-timers-table tr:last-child td{border-bottom:none}.running-timers-table tr.clickable{cursor:pointer}.running-timers-table tr.clickable:hover td{color:var(--accent)}.dashboard-widget h3.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-widget h3.clickable:hover{color:var(--accent)}.glance-list,.dashboard-list{margin:0 0 var(--space-8);gap:var(--space-7);flex-direction:column;padding:0;list-style:none;display:flex}.glance-item{align-items:baseline;gap:var(--space-4);color:var(--text-muted);text-align:left;padding:0;font-size:13px;display:inline-flex}button.glance-item{cursor:pointer}button.glance-item:hover strong{color:var(--accent)}.glance-item strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:18px}.dashboard-list{font-size:13px}.dashboard-time{color:var(--text-muted);margin-right:var(--space-5)}.dashboard-list li.clickable{cursor:pointer}.dashboard-list li.clickable:hover,.dashboard-list li.clickable:hover .dashboard-time{color:var(--accent)}.hint-icon{vertical-align:middle;border:1px solid var(--border);background:var(--panel);width:17px;height:17px;color:var(--text-faint);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:700;display:inline-flex}.hint-icon:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.icon-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.icon-btn:disabled{opacity:.5;cursor:default;color:var(--text-muted);background:0 0}.icon-btn.danger-text:hover{background:var(--danger-soft);color:var(--danger)}.admin-list{margin:0 0 var(--space-10);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.admin-list li{align-items:center;gap:var(--space-7);padding:var(--space-3) 0;border-bottom:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease);font-size:13.5px;display:flex}.admin-list li:last-child{border-bottom:none}.permissions-search{width:100%;max-width:360px;margin:0 0 var(--space-8);display:block}.permissions-legend{gap:var(--space-5);margin-bottom:var(--space-9);flex-wrap:wrap;display:flex}.permission-level-chip{padding:var(--space-2) var(--space-6);border-radius:999px;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.permissions-table select.permission-level-select{padding:var(--space-2) var(--space-5);cursor:pointer;border-width:1px;border-radius:999px;font-size:12.5px;font-weight:600}.permission-level-hide{background:var(--bg);color:var(--text-muted);border-color:var(--border)}.permission-level-view{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.permission-level-edit{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.permission-level-full{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.permissions-table{table-layout:fixed;width:100%}.permissions-table th,.permissions-table td{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permissions-table th:first-child,.permissions-table td:first-child{text-align:left;white-space:normal;width:34%}.admin-list button,.report-table-actions button{padding:var(--space-2) var(--space-3);color:var(--text-muted);background:0 0;border:none;font-size:11.5px}.admin-list button{margin-left:auto}.admin-list button:hover,.report-table-actions button:hover{color:var(--accent);background:0 0;text-decoration:underline}.admin-list button+button{margin-left:0}.admin-list button.danger-text,.report-table-actions button.danger-text{color:var(--danger)}.admin-list button.danger-text:hover,.report-table-actions button.danger-text:hover{color:var(--danger);text-decoration:underline}.link-btn{padding:var(--space-2) var(--space-3);color:var(--text-muted);background:0 0;border:none;font-size:12.5px}.link-btn:hover{color:var(--accent);background:0 0;text-decoration:underline}.show-inactive-toggle{text-align:center;margin:var(--space-6) 0}.link-btn.danger-text{color:var(--danger)}.link-btn.danger-text:hover{color:var(--danger);text-decoration:underline}.modal-actions button.link-btn{padding:var(--space-2) var(--space-3);font-size:12.5px}.admin-search{width:100%;margin-bottom:var(--space-8);display:block}.admin-search-with-scan{margin-bottom:var(--space-8)}.admin-search-with-scan .admin-search{margin-bottom:0}.admin-add-row{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.admin-add-row>input:not([type=color]):not([type=checkbox]),.admin-add-row>select{flex:150px;min-width:120px}.field-half{flex:150px}.field-inline{align-items:center;gap:var(--space-5);flex-direction:row;flex:0 auto}.field-inline input{flex:none;width:140px}.field-name-wide{flex:0 280px}.admin-list li{flex-wrap:wrap}.admin-list-info{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.admin-list-info.clickable{cursor:pointer;border-radius:var(--radius-sm)}.admin-list-info.clickable:hover{color:var(--accent)}.admin-list-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.admin-list-actions button{margin-left:0}.split-action{align-items:center;display:inline-flex;position:relative}.split-action-caret{padding:var(--space-2) 3px!important;font-size:9px!important}.split-action-list{min-width:130px;inset:calc(100% + 4px) 0 auto auto}.split-action-portal{position:fixed;bottom:auto;right:auto}.table-filter{display:inline-flex;position:relative}.table-filter-trigger.active{color:var(--accent);background:var(--accent-soft)}.table-filter-panel{width:240px}.table-filter-field{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;font-weight:600;display:flex}.table-filter-field input{color:var(--text);width:100%;font-size:13px;font-weight:400}.table-filter-panel .link-button{margin-top:var(--space-2);align-self:flex-start}.swatch{border-radius:4px;width:13px;height:13px;display:inline-block;box-shadow:0 0 0 1px #0000001f}.weekday-toggle{align-items:center;gap:var(--space-2);margin-right:var(--space-9);color:var(--text);flex-direction:row;font-size:12.5px;font-weight:500;display:inline-flex}@media (width>=1400px){.job-card{padding:var(--space-7) var(--space-8);font-size:14px}.day-cell{min-height:92px}button{padding:var(--space-7) 18px}}@media (width<=860px){.app-main{padding:var(--space-9) var(--space-8)}.modal-tabs{display:none}.modal-tabs-select{display:block}.sidebar-hamburger{display:flex}.app-shell-main{padding-top:56px}.sidebar{z-index:20;transition:transform var(--dur-slow) var(--ease);box-shadow:var(--shadow-md);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-scrim{z-index:19;background:#00000073;position:fixed;inset:0}.sidebar-pin-toggle{display:none}.board-header{row-gap:var(--space-5);flex-wrap:wrap}.export-buttons{flex:100%;order:10;margin-left:0}.export-buttons .new-ticket-btn{flex:1 1 0}.board-grid{touch-action:pan-x pan-y}.board-edge-nav{display:none}.dayview-grid{padding:var(--space-5) var(--space-8) var(--space-10)}.dayview-hourline,.dayview-row{grid-template-columns:112px minmax(560px,1fr);width:max-content;min-width:100%}.dayview-tab{z-index:2;position:sticky;left:0}.dayview-corner{z-index:2;background:var(--panel);position:sticky;left:0}}.manual-view{gap:var(--space-12);grid-template-columns:230px 1fr;max-width:1180px;margin:0 auto;display:grid}.manual-nav{border-right:1px solid var(--border);padding-right:var(--space-11)}.manual-brand{font-family:var(--sans);letter-spacing:-.01em;margin-bottom:2px;font-size:15px;font-weight:700}.manual-brand-sub{font-family:var(--sans);color:var(--text-faint);margin-bottom:var(--space-8);font-size:12px}.manual-search{width:100%;margin-bottom:var(--space-8);padding:6px 10px;font-size:13px}.manual-no-results{color:var(--text-muted);font-family:var(--sans);font-size:14px}.manual-nav-group-label{font-family:var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin:18px 0 6px 8px;font-size:10.5px;font-weight:700}.manual-nav-group-label:first-child{margin-top:0}.manual-nav ul{margin:0;padding:0;list-style:none}.manual-nav li{margin-bottom:2px}.manual-nav a{color:var(--text-muted);font-family:var(--sans);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:baseline;gap:10px;padding:6px 8px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.manual-nav a:hover{background:var(--panel-alt);color:var(--text)}.manual-nav a.active{background:var(--accent-soft);color:var(--accent)}.manual-nav a .manual-num{font-family:var(--mono);color:var(--text-faint);min-width:16px;font-size:11px}.manual-content{min-width:0;font-family:var(--manual-serif);padding-bottom:60px;font-size:17px;line-height:1.65}.manual-content h2,.manual-content h3,.manual-content h4{text-wrap:balance;letter-spacing:-.01em;color:var(--text);font-weight:700;font-family:var(--sans)}.manual-content p{max-width:66ch}.manual-content img{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%;margin:12px 0;display:block}.manual-content a{color:var(--accent)}.manual-content code,.manual-content kbd,.manual-content .ui{font-family:var(--mono);font-size:.86em}.manual-content .ui{background:var(--panel-alt);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:5px;padding:1px 7px;font-weight:500;display:inline-block}.manual-content details{border:1px solid var(--border);border-radius:var(--radius-md);max-width:66ch;margin:10px 0;padding:0 16px}.manual-content details[open]{padding-bottom:12px}.manual-content details summary{cursor:pointer;font-family:var(--sans);color:var(--text);align-items:baseline;gap:8px;padding:12px 0;font-weight:700;list-style:none;display:flex}.manual-content details summary::-webkit-details-marker{display:none}.manual-content details summary:before{content:"+";color:var(--accent);flex-shrink:0;width:1em;font-weight:700}.manual-content details[open] summary:before{content:"−"}.manual-content details summary:hover{color:var(--accent)}.manual-content details p{margin-top:0}.manual-chapter{margin-top:56px;padding-top:8px;scroll-margin-top:24px}.manual-chapter:first-of-type{margin-top:0}.manual-chapter .chapter-head{border-bottom:1px solid var(--border);font-family:var(--sans);align-items:baseline;gap:14px;margin-bottom:22px;padding-bottom:12px;display:flex}.manual-chapter .chapter-num{font-family:var(--mono);color:var(--accent);font-size:14px;font-weight:500}.manual-chapter .chapter-head h2{margin:0;font-size:23px}.manual-content h3{margin-top:30px;margin-bottom:10px;font-size:16.5px}.manual-content h3 .badge{vertical-align:middle;margin-bottom:0;margin-left:8px}.manual-content h4{color:var(--text-muted);margin-top:20px;margin-bottom:8px;font-size:14px}.manual-content ol.steps{counter-reset:manual-step;flex-direction:column;gap:12px;margin:16px 0;padding-left:0;list-style:none;display:flex}.manual-content ol.steps li{counter-increment:manual-step;max-width:66ch;padding-left:34px;position:relative}.manual-content ol.steps li:before{content:counter(manual-step);font-family:var(--sans);color:var(--accent);background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex;position:absolute;top:1px;left:0}.manual-content ul.plain{max-width:66ch;padding-left:22px}.manual-content ul.plain li{margin-bottom:6px}.manual-content .callout{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:66ch;margin:18px 0;padding:12px 16px;font-size:15.5px}.manual-content .callout.tip:before{content:"Tip";font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10.5px;font-weight:700;display:block}.manual-content .callout.warn{border-left-color:var(--warn);background:var(--warn-soft)}.manual-content .callout.warn:before{content:"Careful";font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);margin-bottom:4px;font-size:10.5px;font-weight:700;display:block}.manual-content .callout.admin{border-left-color:var(--danger);background:var(--danger-soft)}.manual-content .callout.admin:before{content:"Admins only";font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--danger);margin-bottom:4px;font-size:10.5px;font-weight:700;display:block}.manual-content .badge{font-family:var(--sans);letter-spacing:.03em;text-transform:uppercase;background:var(--panel-alt);color:var(--text-muted);border-radius:999px;align-items:center;gap:5px;margin-bottom:14px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.manual-content .badge.admin-only{background:var(--danger-soft);color:var(--danger)}.manual-content table.reference{border-collapse:collapse;width:100%;max-width:66ch;font-family:var(--sans);margin:18px 0;font-size:13.5px}.manual-content table.reference th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:0 10px 8px 0;font-size:11px}.manual-content table.reference td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px 9px 0}.manual-content table.reference tr:last-child td{border-bottom:none}.manual-footer{border-top:1px solid var(--border);max-width:66ch;font-family:var(--sans);color:var(--text-faint);margin-top:70px;padding-top:20px;font-size:12.5px}@media (width<=880px){.manual-view{grid-template-columns:1fr}.manual-nav{border-right:none;border-bottom:1px solid var(--border);padding:0 0 var(--space-9);margin-bottom:var(--space-9)}}.display-dashboard{background:var(--bg);min-height:100vh;color:var(--text);padding:var(--space-12);flex-direction:column;display:flex}.display-header{justify-content:space-between;align-items:center;gap:var(--space-11);padding-bottom:var(--space-11);border-bottom:2px solid var(--border);margin-bottom:var(--space-12);flex-shrink:0;display:flex}.display-logo{width:auto;max-width:40%;height:56px}.display-clock{text-align:right}.display-time{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:56px;font-weight:600;line-height:1}.display-date{font-family:var(--sans);color:var(--text-muted);margin-top:var(--space-3);text-transform:capitalize;font-size:18px}.display-split{gap:var(--space-11);flex-direction:column;flex:1;min-height:0;display:flex}.display-half{flex-direction:column;flex:1;min-height:0;display:flex}.display-list{gap:var(--space-9);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.display-row{gap:var(--space-5);background:var(--panel);border-left:10px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-11) var(--space-12);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.display-row-top{justify-content:space-between;align-items:baseline;gap:var(--space-9);display:flex}.display-tech{font-family:var(--sans);font-size:30px;font-weight:700}.display-order{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:24px;font-weight:700}.display-job{font-family:var(--sans);color:var(--text-muted);font-size:26px}.display-phase{color:var(--text-faint)}.display-empty{font-family:var(--sans);color:var(--text-faint);margin:auto;font-size:22px}.display-timers-title{font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-9);flex-shrink:0;font-size:16px;font-weight:700}.display-row-timer{padding:var(--space-9) var(--space-12);border-left-style:dashed}.display-timer-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:28px;font-weight:700}.display-footer{margin-top:var(--space-12);padding-top:var(--space-9);border-top:1px solid var(--border-soft);text-align:center;font-family:var(--sans);color:var(--text-faint);flex-shrink:0;font-size:13px}@media (width<=700px){.display-header{align-items:flex-start;gap:var(--space-7);flex-direction:column}.display-clock{text-align:left}.display-time{font-size:44px}.display-tech{font-size:24px}.display-order{font-size:18px}.display-job{font-size:20px}.display-timer-value{font-size:22px}}@media (width<=860px){.permissions-table{table-layout:auto;width:max-content;min-width:100%}.permissions-table select.permission-level-select{min-width:104px}}
