@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-semibold:600;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3\.5{height:calc(var(--spacing)*3.5)}.w-3\.5{width:calc(var(--spacing)*3.5)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-transparent{background-color:#0000}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-\[var\(--primary\)\]{color:var(--primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}@media(hover:hover){.hover\:bg-\[var\(--control-hover-bg\)\]:hover{background-color:var(--control-hover-bg)}.hover\:text-\[var\(--primary-strong\)\]:hover{color:var(--primary-strong)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--primary\)\]\/30:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-\[var\(--primary\)\]\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)30%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[var\(--panel-bg\)\]:focus-visible{--tw-ring-offset-color:var(--panel-bg)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-fullscreen-bg{z-index:10;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100vw;height:100vh;position:fixed;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.logout-shell{position:fixed;inset:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#0ea5e9 0%,transparent 25%),radial-gradient(circle at 80% 10%,#8b5cf6 0%,transparent 25%),radial-gradient(circle at 10% 70%,#22d3ee 0%,transparent 30%),#0b1224;overflow:hidden;color:#e2e8f0}.logout-blob{position:absolute;width:420px;height:420px;filter:blur(80px);opacity:.35;border-radius:9999px;animation:drift 18s ease-in-out infinite}.blob-a{background:#38bdf8;top:12%;left:8%}.blob-b{background:#a855f7;top:-6%;right:12%;animation-duration:22s}.blob-c{background:#22d3ee;bottom:0%;left:35%;animation-duration:26s}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(20px,-20px,0) scale(1.05)}to{transform:translate3d(-10px,10px,0) scale(1)}}.logout-card{position:relative;background:#0b1224b3;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:36px 40px;width:min(480px,90vw);box-shadow:0 20px 60px #00000059;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center}.logout-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:#67e8f9;margin-bottom:10px}.logout-title{font-size:2rem;margin:0 0 10px;color:#e2e8f0}.logout-copy{color:#cbd5e1;margin:0 0 24px;line-height:1.5}.logout-button{border:none;background:linear-gradient(120deg,#22d3ee,#6366f1);color:#0b1224;padding:12px 22px;border-radius:9999px;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:0 10px 30px #6366f159}.logout-button:hover{transform:translateY(-1px);box-shadow:0 16px 38px #6366f173}.logout-button:active{transform:translateY(0);box-shadow:0 8px 26px #6366f159}.app-shell{--sidebar-width: 260px;display:flex;overflow:hidden;min-height:100vh;width:100%}.sidebar{background:#111827;color:#e5e7eb;width:var(--sidebar-width);max-width:100vw;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .2s ease;z-index:70;overflow-y:auto}.sidebar--open{transform:translate(0)}.sidebar--closed{transform:translate(-100%)}.sidebar-logo{width:100%;display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:4px 8px 4px 4px}.sidebar-logo-mark{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(160deg,#ffffff24,#ffffff0a);border:1px solid rgba(148,163,184,.35);box-shadow:0 8px 18px #02061759,inset 0 1px #ffffff14;flex-shrink:0;padding:7px}.sidebar-logo-icon{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(2,6,23,.45))}.sidebar-logo-img-wrap{width:60px;height:60px;border-radius:12px;overflow:hidden;display:block;flex-shrink:0}.sidebar-logo-img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:scale(2.1);transform-origin:center;display:block;flex-shrink:0}.sidebar-logo-text{font-weight:650;font-size:.97rem;line-height:1.1;letter-spacing:.01em;color:#e5e7eb;white-space:nowrap;padding-right:6px}.sidebar-menu{display:flex;flex-direction:column;gap:8px;flex-grow:1}.sidebar-item{text-align:left;border:none;background:transparent;color:inherit;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.95rem}.sidebar-item:hover{background:#1f2937}.sidebar-item--active{background:#374151;font-weight:600}.sidebar-divider{height:1px;background:#94a3b859;margin:6px 0 2px}.sidebar-section-toggle{width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:6px;border-radius:6px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:flex-start;letter-spacing:.02em;text-transform:uppercase;font-weight:700}.sidebar-section-toggle:hover{background:#1f2937}.chevron{transition:transform .12s ease;font-size:12px}.chevron--closed{transform:rotate(-90deg)}.sidebar-logout{margin-top:16px;padding:8px 10px;border-radius:6px;border:none;background:#b91c1c;color:#fff;cursor:pointer;font-weight:600}.main-area{flex:1;min-width:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}@media(min-width:768px){.shell--sidebar-open .main-area{margin-left:var(--sidebar-width)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);position:relative;z-index:50}.burger{border:none;background:transparent;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.16rem;line-height:1;border-radius:8px;cursor:pointer;margin-right:0;position:relative;z-index:60;color:var(--text)}.topbar-left{display:flex;align-items:center;gap:6px}.topbar-app-name{font-weight:700;font-size:1.24rem;line-height:1;letter-spacing:.01em;color:var(--text)}.topbar-app-name--hero{font-size:1.24rem;font-weight:700;line-height:1;letter-spacing:.01em;padding:0;border-radius:0;background:none;box-shadow:none}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-welcome-text{font-size:.85rem;color:var(--muted)}.user-pill{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:9999px;background:var(--pill-bg);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text)}.user-name{font-size:.9rem;color:var(--text)}.user-avatar{width:28px;height:28px;border-radius:9999px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;position:relative;overflow:hidden}.user-menu{position:absolute;top:100%;right:16px;margin-top:8px;background:var(--menu-bg);border-radius:8px;box-shadow:var(--menu-shadow);padding:4px;min-width:150px;z-index:80}.user-menu-item{width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:6px;font-size:.9rem;cursor:pointer;color:var(--text)}.user-menu-item:hover{background:var(--menu-hover)}.user-menu-item--danger{color:var(--danger-text)}.panel-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.panel{background:var(--panel-bg);border-radius:10px;padding:20px;box-shadow:var(--panel-shadow);border:1px solid var(--border);color:var(--text)}.panel h1{margin-top:0;margin-bottom:12px}@media(max-width:640px){.sidebar-logo{gap:8px;padding-right:6px}.sidebar-logo-img-wrap{width:52px;height:52px}.sidebar-logo-img{transform:scale(2.05)}.sidebar-logo-text{font-size:.92rem}.topbar{padding:8px 10px}.panel-container{padding:12px}.panel{padding:16px}}.users-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.9rem}.users-table th,.users-table td{padding:8px 10px;border-bottom:1px solid var(--dt-border);text-align:left;color:var(--text)}.users-table th{background:var(--dt-header-bg);font-weight:600}.users-table tbody tr:hover{background:var(--dt-hover)}.users-row{cursor:pointer}.users-row:hover{background:var(--dt-highlight)}.user-details{margin-top:20px;padding:16px;border-radius:8px;background:var(--panel-bg);border:1px solid var(--border);font-size:.9rem;color:var(--text)}.user-details h2{margin-top:0;margin-bottom:10px;font-size:1rem}.user-assignments{margin:4px 0 0;padding-left:18px}.user-assignments li{margin-bottom:2px}.md-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:24px}.md-tile{background:var(--panel-bg);border-radius:12px;padding:20px 24px;box-shadow:var(--panel-shadow);border:1px solid var(--border);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease,background-color .15s ease}.md-tile:hover{box-shadow:0 4px 10px #0f172a1f;transform:translateY(-2px);border-color:#2563eb}.md-tile h3{margin:0 0 8px;font-size:1rem;font-weight:600}.md-tile p{margin:0;font-size:.875rem;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:90}.modal{background:var(--panel-bg);color:var(--text);border-radius:12px;width:min(640px,95vw);max-height:80vh;padding:20px 24px;box-shadow:0 20px 50px #00000073;border:1px solid var(--border);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-close-btn{border:none;background:transparent;font-size:1.5rem;cursor:pointer;line-height:1}.modal-body{overflow-y:auto;padding-right:4px}.notification-wrapper{position:relative;margin-right:12px}.notification-bell{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;border:1px solid var(--control-border);background:var(--control-bg);cursor:pointer;font-size:13px;color:var(--text)}.notification-bell:hover{background:var(--control-hover-bg)}.notification-icon{font-size:14px}.notification-count{font-weight:600;font-size:12px}.notification-menu{top:110%;right:0;left:auto;width:320px;max-height:360px;overflow-y:auto}.user-menu-item--header{font-weight:600;cursor:default}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:9999px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;-webkit-user-select:none;user-select:none;transition:background .12s ease,transform .12s ease,border-color .12s ease}.btn:hover{background:var(--control-hover-bg)}.btn:active{transform:translateY(1px)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid var(--action);background:var(--action);color:var(--on-action);cursor:pointer;font-size:.9rem;font-weight:700;transition:background .12s ease,border-color .12s ease,transform .12s ease}.btn-primary:hover{background:var(--action-strong);border-color:var(--action-strong)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);cursor:pointer;font-size:.9rem;font-weight:700;transition:background .12s ease,border-color .12s ease}.btn-secondary:hover{background:var(--control-hover-bg);border-color:var(--control-border)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);cursor:pointer;font-size:.9rem;font-weight:700;transition:background .12s ease,border-color .12s ease}.btn-danger:hover{background:var(--danger-hover)}:root{color-scheme:light;--bg: #f8fafc;--panel-bg: #ffffff;--panel-shadow: 0 1px 3px rgba(15, 23, 42, .08);--text: #0f172a;--border: #e2e8f0;--muted: #475569;--capture-bg: #fff7f7;--capture-border: #f3f4f6;--capture-track: #ffe4e6;--capture-fill: linear-gradient(90deg, #fca5a5, #fb7185);--capture-pct: #b91c1c;--topbar-bg: #ffffff;--topbar-border: #e5e7eb;--pill-bg: #f3f4f6;--menu-bg: #ffffff;--menu-hover: #f3f4f6;--menu-shadow: 0 10px 25px rgba(15, 23, 42, .18);--control-bg: #f8fafc;--control-hover-bg: #eef2f7;--control-border: #cbd5e1;--control-disabled-bg: #f8fafc;--focus-ring: rgba(2, 132, 199, .16);--primary: #0284c7;--primary-strong: #0369a1;--action: #0f172a;--action-strong: #111f3a;--on-action: #f8fafc;--success-soft-bg: #e9f9ef;--success-soft-border: #34d39955;--success-soft-text: #166534;--success-strong: #16a34a;--success-strong-hover: #15803d;--on-success-strong: #f8fafc;--danger-soft-bg: #fff1f2;--danger-soft-border: #fca5a555;--danger-soft-text: #b91c1c;--warning-soft-bg: #fff7ed;--warning-soft-border: #f59e0b55;--warning-soft-text: #92400e;--warning-strong: #f59e0b;--warning-strong-hover: #d97706;--on-warning-strong: #0f172a;--info-soft-bg: #e0f2fe;--info-soft-border: #38bdf855;--info-soft-text: #0b4f8a;--info-strong: #2563eb;--info-strong-hover: #1d4ed8;--on-info-strong: #f8fafc;--danger-bg: #fff1f2;--danger-border: #fecaca;--danger-hover: #ffe4e6;--danger-text: #be123c;--danger-solid: #dc2626;--danger-solid-hover: #b91c1c;--on-danger: #ffffff;--dt-group-details-bg: #dbeafe;--dt-group-source-bg: #cffafe;--dt-group-destination-bg: #fef3c7;--dt-group-readings-bg: #e4e1ff;--dt-group-notes-bg: #bbf7d0;--dt-group-border: #cbd5e1;--dt-group-separator: #94a3b8;--dt-band-details-bg: #f8fbff;--dt-band-source-bg: #f5feff;--dt-band-destination-bg: #fffbea;--dt-band-readings-bg: #f8f7ff;--dt-band-notes-bg: #f1fdf5;--dt-header-bg: #f8fafc;--dt-hover: #f1f5f9;--dt-highlight: #eef6ff;--dt-border: #e5e7eb;--dt-font-size: 15px;--dt-cell-padding: 12px 14px}:root[data-theme=dark]{color-scheme:dark;--bg: #0f172a;--panel-bg: #111827;--panel-shadow: 0 1px 4px rgba(0, 0, 0, .55);--text: #e2e8f0;--border: #1f2937;--muted: #cbd5e1;--capture-bg: #0f172a;--capture-border: #1f2937;--capture-track: #1f2937;--capture-fill: linear-gradient(90deg, #fb7185, #f97316);--capture-pct: #fca5a5;--topbar-bg: #0f172a;--topbar-border: #1f2937;--pill-bg: #1f2937;--menu-bg: #111827;--menu-hover: #1f2937;--menu-shadow: 0 12px 30px rgba(0, 0, 0, .55);--control-bg: #0f172a;--control-hover-bg: #1b2433;--control-border: #1f2937;--control-disabled-bg: #1f2937;--focus-ring: rgba(56, 189, 248, .22);--primary: #0ea5e9;--primary-strong: #0284c7;--action: #0ea5e9;--action-strong: #0284c7;--on-action: #0b1224;--success-soft-bg: #0f2d1c;--success-soft-border: #22c55e55;--success-soft-text: #86efac;--success-strong: #16a34a;--success-strong-hover: #15803d;--on-success-strong: #f8fafc;--danger-soft-bg: #3f1d2e;--danger-soft-border: #fda4af55;--danger-soft-text: #fecdd3;--warning-soft-bg: #2c1f0f;--warning-soft-border: #f59e0b55;--warning-soft-text: #fcd34d;--warning-strong: #b45309;--warning-strong-hover: #92400e;--on-warning-strong: #f8fafc;--info-soft-bg: #0f1f35;--info-soft-border: #38bdf855;--info-soft-text: #bae6fd;--info-strong: #0ea5e9;--info-strong-hover: #38bdf8;--on-info-strong: #0b1224;--danger-bg: #3f1d2e;--danger-border: #be123c;--danger-hover: #4c1f31;--danger-text: #fecdd3;--danger-solid: #be123c;--danger-solid-hover: #f97373;--on-danger: #ffffff;--dt-group-details-bg: #1b263f;--dt-group-source-bg: #0f2a32;--dt-group-destination-bg: #2f2414;--dt-group-readings-bg: #1f1c3f;--dt-group-notes-bg: #0f2d1f;--dt-group-border: #233044;--dt-group-separator: #111827;--dt-band-details-bg: #111827;--dt-band-source-bg: #0b1f27;--dt-band-destination-bg: #1f150b;--dt-band-readings-bg: #161432;--dt-band-notes-bg: #0c1f15;--dt-header-bg: #1f2937;--dt-hover: #1e293b;--dt-highlight: #0ea5e933;--dt-border: #1f2937}:root[data-density=compact]{--dt-font-size: 13px;--dt-cell-padding: 8px 10px}:root[data-density=spacious]{--dt-font-size: 16px;--dt-cell-padding: 14px 16px}body{background:var(--bg);color:var(--text)}.home-panel{display:flex;flex-direction:column;gap:14px}.home-hero{background:linear-gradient(120deg,var(--panel-bg),var(--control-bg));border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.home-hero h1{margin:0}.home-greeting{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}.home-hero p{margin:0;color:var(--muted)}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.capture-widget-stack{display:flex;flex-direction:column;gap:14px}.capture-card{border:1px solid var(--capture-border, var(--border));border-radius:14px;padding:14px 16px;background:var(--capture-bg, var(--panel-bg));box-shadow:var(--panel-shadow)}.capture-card-header{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.capture-kicker{margin:0;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700;color:#fb7185}.capture-title{margin:2px 0 6px;font-size:18px}.capture-subtext{margin:0;color:var(--muted);font-size:13px}.capture-meta{margin:6px 0 0;color:var(--text);font-size:12px}.capture-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.capture-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.capture-filters input,.capture-filters select{padding:8px 10px;border-radius:10px;border:1px solid var(--control-border);font-size:13px;background:var(--control-bg);min-width:150px;color:var(--text)}.capture-toggle-group{display:inline-flex;border:1px solid var(--control-border);border-radius:10px;overflow:hidden;background:var(--control-bg);flex-shrink:0}.capture-toggle-row{display:inline-flex;gap:10px;align-items:center}.capture-toggle{border:none;background:transparent;padding:8px 12px;font-size:13px;cursor:pointer;color:var(--muted);white-space:nowrap;flex-shrink:0}.capture-toggle.active{background:var(--panel-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--control-border)}.capture-filters .refresh-btn{background:linear-gradient(120deg,#fb7185,#f97316);border:none;color:#fff;padding:8px 10px;border-radius:10px;font-weight:700;min-width:84px;cursor:pointer;box-shadow:0 8px 18px #f9731640}.capture-filters .capture-refresh-btn{width:auto;min-width:84px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap}.capture-filters .refresh-btn:hover{filter:brightness(1.05)}.capture-filters .refresh-btn:focus-visible{outline:2px solid rgba(249,115,22,.45);outline-offset:2px}.capture-filters .refresh-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.capture-error{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:13px}.capture-loading{margin-top:12px;display:flex;align-items:center;gap:10px;color:var(--text);font-weight:600}.capture-loading .spinner{width:16px;height:16px;border:2px solid #fecaca;border-top-color:#fb7185;border-radius:50%;animation:spin 1s linear infinite}.capture-empty{margin:12px 0 0;color:var(--muted)}.capture-bar-list{margin-top:12px;display:flex;flex-direction:column;gap:10px;max-height:480px;overflow-y:auto;padding-right:4px}.capture-plot-wrap{margin-top:10px}.capture-row{display:grid;grid-template-columns:minmax(160px,1.2fr) 1fr auto;gap:10px;align-items:center}.capture-row-titles{min-width:0}.capture-row-label{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capture-row-sub{color:var(--muted);font-size:12px}.capture-bar{width:100%}.capture-bar-track{width:100%;height:12px;background:var(--capture-track, #ffe4e6);border-radius:999px;overflow:hidden;position:relative}.capture-bar-fill{position:absolute;inset:0;background:var(--capture-fill, linear-gradient(90deg, #fca5a5, #fb7185));border-radius:999px;transition:width .3s ease}.capture-row-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:90px}.capture-row-pct{font-weight:700;color:var(--capture-pct, #b91c1c)}.capture-row-denom{color:var(--muted);font-size:12px}.capture-row-denom.subtle{color:var(--muted);opacity:.85}.capture-pagination{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.capture-page-summary{margin:0;color:var(--muted);font-size:12px}.capture-page-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.capture-page-size{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.capture-page-size select{padding:6px 8px;border-radius:8px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);font-size:12px}.capture-page-button{border:1px solid var(--control-border);border-radius:8px;background:var(--control-bg);color:var(--text);font-size:12px;padding:6px 10px;cursor:pointer}.capture-page-button:disabled{opacity:.55;cursor:not-allowed}.capture-page-indicator{color:var(--text);font-size:12px}.capture-more{margin:2px 0 0;color:var(--muted);font-size:12px}.capture-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.capture-section-title{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--text)}.capture-gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.capture-gauge-card{border:1px solid var(--border);border-radius:12px;padding:10px 10px 12px;background:color-mix(in srgb,var(--panel-bg) 92%,var(--control-bg) 8%);display:flex;flex-direction:column;align-items:center;gap:2px}.capture-gauge{width:100%;max-width:250px;height:auto}.capture-gauge-threshold{fill:none;stroke-width:6;stroke-linecap:round;opacity:.95}.capture-gauge-threshold.bad{stroke:#e53935}.capture-gauge-threshold.warn{stroke:#f57c00}.capture-gauge-threshold.good{stroke:#4caf50}.capture-gauge-track{fill:none;stroke:color-mix(in srgb,var(--border) 65%,transparent 35%);stroke-width:24;stroke-linecap:round}.capture-gauge-value{fill:none;stroke-width:24;stroke-linecap:round;transition:stroke .2s ease}.capture-gauge-value-text{font-size:30px;font-weight:800;fill:#4caf50}.capture-gauge-title{margin:0;text-align:center;font-size:16px;color:var(--text)}.capture-gauge-meta{margin:0;text-align:center;color:var(--muted);font-size:12px}.rain-card{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--panel-bg);box-shadow:var(--panel-shadow);display:flex;flex-direction:column;gap:12px}.rain-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.rain-kicker{margin:0;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700;color:#22c55e}.rain-title{margin:2px 0 6px;font-size:18px}.rain-subtext{margin:0;font-size:13px;color:var(--muted)}.rain-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.rain-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.rain-controls select,.rain-controls input[type=date]{padding:8px 10px;border-radius:10px;border:1px solid var(--control-border);font-size:13px;background:var(--control-bg);color:var(--text);min-width:160px}.rain-fetch-btn{--rain-accent: #22c55e;--rain-accent-strong: #16a34a;--rain-accent-text: #ffffff;background:linear-gradient(120deg,var(--rain-accent),var(--rain-accent-strong));color:var(--rain-accent-text);border:1px solid rgba(34,197,94,.45);font-weight:800;padding:10px 16px;border-radius:12px;min-width:120px;background-size:180% 180%;background-position:0% 50%;box-shadow:0 10px 24px #16a34a38,0 0 0 1px #22c55e2e;transition:transform .15s ease,box-shadow .18s ease,filter .15s ease,background-position .28s ease,outline-color .18s ease}.rain-fetch-btn:hover:not(:disabled){background-position:100% 50%;filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 14px 30px #22c55e42,0 0 0 1px #22c55e47}.rain-fetch-btn:focus-visible{outline:2px solid rgba(34,197,94,.65);outline-offset:2px;box-shadow:0 0 0 4px #22c55e47,0 12px 28px #16a34a3d}.rain-fetch-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.98);box-shadow:0 9px 20px #16a34a38}.rain-fetch-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;filter:grayscale(.15)}:root[data-theme=dark] .rain-fetch-btn{--rain-accent-text: #ffffff;border-color:#22c55e8c;box-shadow:0 12px 30px #22c55e54,0 0 0 1px #22c55e52}:root[data-theme=dark] .rain-fetch-btn:hover:not(:disabled){box-shadow:0 16px 36px #22c55e6b,0 0 0 1px #22c55e6b}:root[data-theme=dark] .rain-fetch-btn:focus-visible{outline-color:#22c55ebf;box-shadow:0 0 0 4px #22c55e61,0 14px 34px #16a34a59}.btn.rain-fetch-btn{background:linear-gradient(120deg,var(--rain-accent),var(--rain-accent-strong));background-color:var(--rain-accent);color:#fff;border-color:#22c55e8c}.btn.rain-fetch-btn:disabled{background:linear-gradient(120deg,var(--rain-accent),var(--rain-accent-strong));background-color:var(--rain-accent);color:#ffffffe6;opacity:.8;filter:none}.rain-error{padding:10px 12px;border-radius:10px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:13px}.rain-body{display:flex;flex-direction:column;gap:10px}.rain-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rain-badge{padding:4px 10px;border-radius:999px;background:var(--pill-bg);color:var(--text);border:1px solid var(--border);font-size:12px;font-weight:700}.rain-meta-text{font-size:12px;color:var(--muted)}.rain-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.rain-value{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--control-bg)}.rain-label{margin:0 0 6px;color:var(--muted);font-size:12px}.rain-number{margin:0;font-size:22px;font-weight:800;color:var(--text)}.rain-note{margin:0;font-size:12px;color:var(--muted)}.rain-placeholder{margin:0;color:var(--muted);font-size:13px}@media(max-width:720px){.capture-row{grid-template-columns:1fr}.capture-row-metrics{flex-direction:row;justify-content:space-between;align-items:center}}.datatable-wrapper{width:100%;margin-top:1rem;overflow:visible}.datatable-scroll{width:100%;overflow-x:auto;overflow-y:auto;max-height:70vh}.datatable-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:var(--dt-font-size, 15px);table-layout:auto;--dt-group-row-height: 48px;--dt-header-row-height: 48px}.datatable-table.has-header-groups thead .datatable-group-row th{background:var(--dt-header-bg, #f1f5f9);font-weight:700;border:2px solid var(--dt-group-border, #cbd5e1);border-bottom:3px solid var(--dt-group-separator, #94a3b8);text-transform:uppercase;letter-spacing:.02em;font-size:12px;box-shadow:inset 0 -1px 0 var(--dt-group-separator, #94a3b8)}.header-group-label{display:block;padding:10px 8px}.datatable-table.has-header-groups thead .datatable-group-row th.hg-details{background:var(--dt-group-details-bg)}.datatable-table.has-header-groups thead .datatable-group-row th.hg-source{background:var(--dt-group-source-bg)}.datatable-table.has-header-groups thead .datatable-group-row th.hg-destination{background:var(--dt-group-destination-bg)}.datatable-table.has-header-groups thead .datatable-group-row th.hg-readings{background:var(--dt-group-readings-bg)}.datatable-table.has-header-groups thead .datatable-group-row th.hg-notes{background:var(--dt-group-notes-bg)}.hg-source,.hg-destination,.hg-readings,.hg-notes{border-left:3px solid var(--dt-group-separator, #94a3b8)}.hg-details{background:var(--dt-group-details-bg)}.hg-source{background:var(--dt-group-source-bg)}.hg-destination{background:var(--dt-group-destination-bg)}.hg-readings{background:var(--dt-group-readings-bg)}.hg-notes{background:var(--dt-group-notes-bg)}.dt-band-details{background:var(--dt-band-details-bg)}.dt-band-source{background:var(--dt-band-source-bg)}.dt-band-destination{background:var(--dt-band-destination-bg)}.dt-band-readings{background:var(--dt-band-readings-bg)}.dt-band-notes{background:var(--dt-band-notes-bg)}.dt-group-start{position:relative;border-left:3px solid var(--dt-group-separator, #94a3b8)}.dt-head-details{background:var(--dt-group-details-bg)!important}.dt-head-source{background:var(--dt-group-source-bg)!important;border-left:3px solid var(--dt-group-separator, #94a3b8)}.dt-head-destination{background:var(--dt-group-destination-bg)!important;border-left:3px solid var(--dt-group-separator, #94a3b8)}.dt-head-readings{background:var(--dt-group-readings-bg)!important;border-left:3px solid var(--dt-group-separator, #94a3b8)}.dt-head-notes{background:var(--dt-group-notes-bg)!important;border-left:3px solid var(--dt-group-separator, #94a3b8)}.datatable-table th,.datatable-table td{border:1px solid var(--dt-border, #e5e7eb);padding:var(--dt-cell-padding, 12px 14px);text-align:left;white-space:nowrap;text-overflow:unset}.datatable-table td{overflow:visible}.datatable-table th.dt-col-select,.datatable-table td.dt-col-select{text-align:center}.datatable-table th.dt-col-select .header-content{justify-content:center}.datatable-table th{overflow:visible}.datatable-table thead th{background:var(--dt-header-bg, #f8fafc);font-weight:600;position:sticky;z-index:5;top:0}.datatable-table th.pinned-col{background:var(--dt-header-bg, #f8fafc);box-shadow:2px 0 6px #0000000f}.datatable-table td.pinned-col{background:var(--panel-bg, #fff);box-shadow:2px 0 6px #0000000f;z-index:2}.datatable-table td.dt-band-details.pinned-col{background:var(--dt-band-details-bg)}.datatable-table td.dt-band-source.pinned-col{background:var(--dt-band-source-bg)}.datatable-table td.dt-band-destination.pinned-col{background:var(--dt-band-destination-bg)}.datatable-table td.dt-band-readings.pinned-col{background:var(--dt-band-readings-bg)}.datatable-table td.dt-band-notes.pinned-col{background:var(--dt-band-notes-bg)}.datatable-table:not(.has-header-groups) thead th{top:0}.datatable-table.has-header-groups thead .datatable-group-row th{position:sticky;top:0;z-index:6;height:var(--dt-group-row-height, 48px)}.datatable-table.has-header-groups thead tr:not(.datatable-group-row) th{position:sticky;top:var(--dt-group-row-height, 48px);z-index:7;height:var(--dt-header-row-height, 48px)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.header-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.header-actions{display:inline-flex;align-items:center;gap:8px}.sortable{cursor:pointer}.sort-arrow{font-size:11px;color:var(--muted)}.filter-btn{border:1px solid var(--dt-border, #d1d5db);background:var(--panel-bg, #fff);border-radius:8px;padding:2px 8px;font-size:12px;cursor:pointer;line-height:18px;color:var(--text)}.filter-btn.active{border-color:var(--primary);color:var(--primary);font-weight:700}.filter-icon{width:14px;height:14px;display:block}.filter-popover{position:absolute;top:calc(100% + 6px);right:10px;width:240px;background:var(--panel-bg, #fff);border:1px solid var(--dt-border, #e5e7eb);border-radius:12px;box-shadow:0 10px 24px #0000001f;padding:12px;z-index:50}.filter-popover-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:10px}.filter-input{width:100%;border:1px solid var(--dt-border, #d1d5db);border-radius:10px;padding:8px 10px;font-size:13px;box-sizing:border-box}.filter-popover-actions{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.filter-action{flex:1;border:1px solid var(--dt-border, #d1d5db);background:var(--panel-bg, #fff);border-radius:10px;padding:8px 10px;font-size:13px;cursor:pointer;color:var(--text)}.filter-action.primary{border-color:var(--primary);color:var(--primary);font-weight:700}.filter-action:disabled{opacity:.5;cursor:not-allowed}.datatable-row:hover{background:var(--dt-hover, #f1f5f9);cursor:pointer}.datatable-row.highlight{background:var(--dt-highlight, #eef6ff)!important}.datatable-empty{text-align:center;padding:16px;color:var(--muted)}.col-resizer{position:absolute;top:0;right:0;width:10px;height:100%;cursor:col-resize}body.datatable-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.datatable-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.datatable-page-left,.datatable-page-right{display:flex;align-items:center;gap:8px}.datatable-page-mid{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text)}.datatable-page-btn{border:1px solid var(--dt-border, #d1d5db);background:var(--panel-bg, #fff);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;color:var(--text)}.datatable-page-btn:disabled{opacity:.5;cursor:not-allowed}.datatable-page-size{border:1px solid var(--dt-border, #d1d5db);background:var(--panel-bg, #fff);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--text)}.datatable-clear-filters{border:1px solid var(--dt-border, #d1d5db);background:var(--panel-bg, #fff);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;color:var(--text)}.datatable-clear-filters:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:50}.modal-card{background:var(--panel-bg);border-radius:18px;padding:24px 28px 22px;max-width:720px;width:100%;box-shadow:0 24px 60px #0006;display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);position:relative}.modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-title{font-size:1.25rem;font-weight:600;margin:0;color:var(--text)}.modal-subtitle{margin:4px 0 0;font-size:.875rem;color:var(--muted)}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;border:1px solid var(--danger-border);background:var(--danger-solid);color:var(--on-danger);font-size:17px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px #be123c40;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.modal-close:hover{background:var(--danger-solid-hover);border-color:var(--danger-solid-hover);transform:translateY(-1px)}.modal-close:active{transform:translateY(0);box-shadow:0 6px 14px #be123c38}.modal-body{display:flex;flex-direction:column;gap:20px}.modal-section{border-top:1px solid var(--border);padding-top:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-title{font-size:.95rem;font-weight:600;margin:0 0 10px;color:var(--text)}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 16px}@media(min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-size:.8rem;font-weight:500;color:var(--muted)}.form-input{border-radius:8px;border:1px solid var(--control-border);padding:6px 10px;font-size:.9rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;background:var(--control-bg);color:var(--text)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.form-input:disabled{background:var(--control-disabled-bg);color:var(--muted)}.toggle-row{display:flex;justify-content:flex-start;gap:16px;margin-top:12px}.toggle-label{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text)}.muted-text{font-size:.85rem;color:var(--muted);margin:4px 0 0}.role-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.role-card{position:relative;border:1px solid var(--border);border-radius:12px;padding:10px 12px 12px;background:var(--control-bg);display:grid;gap:6px}.role-name{font-weight:600;color:var(--text);font-size:.95rem;display:inline-flex;align-items:center;gap:6px}.scope-badges{display:inline-flex;flex-wrap:wrap;gap:6px}.badge{border-radius:999px;padding:2px 10px;font-size:.78rem;border:1px solid var(--control-border);background:var(--panel-bg);color:var(--muted)}.badge.primary{border-color:var(--primary);color:var(--primary-strong);background:#0284c71f}.badge.global{border-color:var(--primary);background:#0ea5e91f;color:var(--primary-strong)}.role-remove{position:absolute;top:8px;right:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px}.role-remove:hover{color:var(--danger-text);background:var(--control-hover-bg)}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.footer-actions{display:flex;gap:8px}.btn{border-radius:999px;border:1px solid var(--control-border);padding:6px 14px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn.primary{background:var(--primary);color:#f8fafc;border-color:var(--primary)}.btn.primary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.btn.secondary{background:var(--control-bg);color:var(--text)}.btn.secondary:hover{background:var(--control-hover-bg)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn.ghost:hover{background:var(--control-hover-bg)}.btn.danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.btn.danger:hover{background:var(--danger-hover)}.ms-modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:80;padding:18px}.ms-modal-card{background:var(--panel-bg);border-radius:18px;width:100%;box-shadow:0 24px 60px #0006;display:flex;flex-direction:column;max-height:min(86vh,900px);overflow:hidden;border:1px solid var(--border)}.ms-modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--border)}.ms-modal-title{font-size:1.15rem;font-weight:700;margin:0;color:var(--text)}.ms-modal-subtitle{margin:4px 0 0;font-size:.875rem;color:var(--muted)}.ms-modal-close{border:none;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;background:transparent;color:var(--text)}.ms-modal-close.danger-box{width:32px;height:32px;border-radius:8px;background:#dc2626;color:#fff;display:grid;place-items:center;font-weight:900}.ms-modal-close.danger-box:hover{background:#b91c1c}.ms-modal-close.neutral-box{min-width:44px;height:38px;padding:0 12px;border-radius:10px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.ms-modal-close.neutral-box:hover{background:#dbeafe;border-color:#60a5fa}.ms-modal-body{padding:18px 20px;overflow:auto}.ms-modal-header-actions{display:flex;align-items:center;gap:10px}.eqm-modal{display:grid;gap:14px}.eqm-modal-actions{display:flex;justify-content:flex-end}.eqm-modal-actions.inline{margin-right:42px}.eqm-action-group{display:flex;gap:10px}.eqm-action-group .eqm-btn{min-width:84px}.eqm-btn{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer}.eqm-btn:hover{background:var(--control-hover-bg)}.eqm-btn.primary{border-color:var(--primary);background:var(--primary);color:#f8fafc}.eqm-btn.primary:hover{background:var(--primary-strong)}.eqm-btn.secondary{background:var(--control-bg)}.eqm-btn.danger{background:var(--control-bg);border-color:#fca5a5;color:#b91c1c}.eqm-btn.danger:hover{background:#fee2e2}.eqm-btn:disabled{opacity:.6;cursor:not-allowed}.eqm-btn-sm{padding:6px 10px;border-radius:8px;font-size:.8rem}.eqm-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);padding:10px 12px;border-radius:12px;font-size:.9rem;white-space:pre-wrap}.eqm-modal-grid{display:grid;grid-template-columns:340px 1fr;gap:16px}@media(max-width:920px){.eqm-modal-grid{grid-template-columns:1fr}}.eqm-image-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--panel-bg);display:grid;gap:12px;align-content:start}.eqm-image-frame{width:100%;aspect-ratio:16 / 10;background:var(--control-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:grid;place-items:center}.eqm-image{width:100%;height:100%;object-fit:cover}.eqm-image-placeholder{color:var(--muted);font-weight:600}.eqm-image-controls{display:grid;gap:8px}.eqm-file-label{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--control-border);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:600;color:var(--text);background:var(--control-bg)}.eqm-file-label input{display:none}.eqm-file-meta{font-size:.85rem;color:var(--muted)}.eqm-kv{display:grid;gap:8px;font-size:.95rem}.eqm-kv-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.eqm-k{color:var(--muted);font-weight:600}.eqm-v{color:var(--text);font-weight:600;text-align:right;max-width:62%;white-space:normal;overflow-wrap:anywhere}.eqm-status-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:500;line-height:1.2;padding:3px 8px}.eqm-status-pill.available{background:var(--success-soft-bg);color:var(--success-soft-text)}.eqm-status-pill.maintenance{background:var(--warning-soft-bg);color:var(--warning-soft-text)}.eqm-status-pill.assigned{background:var(--info-soft-bg);color:var(--info-soft-text)}.eqm-status-pill.unknown{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border)}.eqm-fields{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel-bg)}.eqm-section-title{font-weight:800;color:var(--text);margin-bottom:10px}.eqm-loading{color:var(--muted);font-weight:600}.eqm-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.eqm-form.eqm-form-3col{grid-template-columns:repeat(3,minmax(0,1fr))}.eqm-hours-top-row{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(260px,1.15fr);gap:12px 14px}@media(max-width:920px){.eqm-form,.eqm-form.eqm-form-3col,.eqm-hours-top-row{grid-template-columns:1fr}}.eqm-field{display:grid;gap:6px}.eqm-field-span-2{grid-column:1 / span 2}@media(max-width:920px){.eqm-field-span-2{grid-column:1}}.eqm-label{font-size:.85rem;font-weight:700;color:var(--text)}.eqm-input{border:1px solid var(--control-border);border-radius:10px;padding:10px;background:var(--control-bg);outline:none;color:var(--text)}.eqm-input:disabled{background:var(--control-disabled-bg);color:var(--muted)}.eqm-readonly{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--control-bg);color:var(--text);font-weight:700}.eqm-balance-ok{border-color:#10b98166;background:#10b9811a;color:#047857}.eqm-balance-warn{border-color:#f59e0b66;background:#f59e0b1a;color:#92400e}.eqm-hint{font-size:.8rem;color:var(--muted)}.eqm-toggle-row{display:flex;align-items:center;gap:10px}.eqm-fleet-status{min-height:44px;display:flex;align-items:center;gap:10px}.eqm-toggle-row-inline{margin-left:auto;justify-content:flex-end}.eqm-label-inline{display:flex;align-items:center;gap:12px;justify-content:space-between}.eqm-help{font-weight:700;color:var(--text)}.eqm-quick-actions{border:1px solid var(--border);border-radius:10px;background:var(--control-bg);padding:10px;display:grid;gap:8px}.eqm-quick-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.eqm-quick-buttons{display:flex;align-items:center;gap:8px}.eqm-quick-value{display:grid;justify-items:end;gap:2px;color:var(--text);font-weight:600;text-align:right}.eqm-quick-meta{color:var(--muted);font-size:.78rem;font-weight:700}.eqm-quick-value-inline{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;font-size:.82rem;line-height:1.25;font-weight:500}.eqm-quick-meta-inline{white-space:nowrap}@media(max-width:560px){.eqm-quick-row{flex-wrap:wrap;align-items:flex-start}.eqm-quick-buttons{justify-content:flex-start}.eqm-quick-value{justify-items:start;text-align:left;width:100%}.eqm-quick-value-inline{justify-content:flex-start}.eqm-quick-meta-inline{white-space:normal}}.eqm-submodal{display:grid;gap:12px}.eqm-hours-list-modal{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;overflow-x:hidden}.eqm-hours-list-modal .datatable-wrapper{margin-top:0;width:100%;min-width:0;max-width:100%}.eqm-hours-list-modal .datatable-scroll{width:100%;min-width:0;max-width:100%;max-height:min(44vh,420px)}.eqm-subsection{display:grid;gap:10px}.eqm-subsection-head{display:flex;justify-content:space-between;align-items:center}.eqm-subsection-head h4{margin:0;font-size:.95rem;color:var(--text)}.eqm-submodal-actions{display:flex;justify-content:flex-end;gap:10px}.eqm-history-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto;max-height:min(52vh,520px)}.eqm-history-table{width:100%;border-collapse:collapse;font-size:.88rem}.eqm-history-table th,.eqm-history-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top;white-space:nowrap}.eqm-history-table thead th{background:var(--control-bg);position:sticky;top:0;z-index:1}.eqm-history-table tbody tr:last-child td{border-bottom:none}.eqm-history-table .eqm-input{min-width:140px}.eqm-table-empty{text-align:center!important;color:var(--muted);font-style:italic;padding:18px!important}.eqm-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:2px 8px;border-radius:999px;font-size:.76rem;font-weight:700}.eqm-pill-ok{background:var(--success-soft-bg);color:var(--success-soft-text)}.eqm-pill-bad{background:var(--danger-soft-bg);color:var(--danger-soft-text)}.eqm-history-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eqm-history-toolbar .eqm-input{flex:1 1 260px;min-width:220px}.eqm-history-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.eqm-history-pager-sticky{position:sticky;bottom:0;left:0;right:0;z-index:12;padding:10px 0;background:var(--panel-bg);border-top:1px solid var(--border);box-shadow:0 -8px 20px #0f172a14}.eqm-hours-list-modal .eqm-history-pager,.eqm-hours-list-modal .eqm-history-pager-sticky{width:100%;max-width:100%;box-sizing:border-box}.eqm-history-pager-meta{color:var(--muted);font-size:.82rem;font-weight:700}.eqm-history-pager-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eqm-page-size{min-width:112px;padding:6px 10px;font-size:.82rem}.new-eq{display:grid;gap:12px}.new-eq-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);padding:10px 12px;border-radius:12px;font-size:.9rem;white-space:pre-wrap}.new-eq-grid{display:grid;grid-template-columns:320px 1fr;gap:16px}@media(max-width:920px){.new-eq-grid{grid-template-columns:1fr}}.new-eq-image{border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--panel-bg);display:grid;gap:10px;align-content:start}.new-eq-image-frame{width:100%;aspect-ratio:16 / 10;background:var(--control-bg);border-radius:12px;overflow:hidden;display:grid;place-items:center}.new-eq-img{width:100%;height:100%;object-fit:cover}.new-eq-placeholder{color:var(--muted);font-weight:700}.new-eq-file{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--control-border);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700;background:var(--control-bg);color:var(--text)}.new-eq-file input{display:none}.new-eq-note{font-size:.8rem;color:var(--muted)}.new-eq-form{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel-bg);display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;align-content:start}@media(max-width:920px){.new-eq-form{grid-template-columns:1fr}}.new-eq-field{display:grid;gap:6px;align-content:start}.new-eq-label{font-size:.85rem;font-weight:800;color:var(--text)}.new-eq-input{width:100%;min-height:42px;box-sizing:border-box;font:inherit;line-height:1.25;border:1px solid var(--control-border);border-radius:10px;padding:10px 12px;background:var(--control-bg);color:var(--text)}.new-eq-input:disabled{background:var(--control-disabled-bg);color:var(--muted)}.new-eq-readonly{grid-column:1 / -1;font-size:.85rem;color:var(--muted)}.new-eq-quick-card{grid-column:1 / -1;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);padding:12px;display:grid;gap:10px}.new-eq-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--text)}.new-eq-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}@media(max-width:920px){.new-eq-inline-grid{grid-template-columns:1fr}}.card-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.card-page-left,.card-page-right{display:flex;align-items:center;gap:8px}.card-page-mid{font-size:13px;color:var(--muted)}.equipment-picker{position:relative;min-width:220px}.equipment-picker-input-wrap{position:relative}.equipment-picker-input{padding-right:30px}.equipment-picker-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0}.equipment-picker-clear:hover{color:var(--text)}.equipment-picker-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);box-shadow:0 12px 24px #0f172a24;max-height:280px;overflow:auto;z-index:60}.equipment-picker-option{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;text-align:left;padding:8px 10px;display:grid;gap:3px;cursor:pointer}.equipment-picker-option:last-child{border-bottom:none}.equipment-picker-option:hover{background:var(--control-hover-bg)}.equipment-picker-option-label{color:var(--text);font-weight:700}.equipment-picker-option-details{color:var(--muted);font-size:12px;line-height:1.3;white-space:normal}.equipment-picker-state{padding:10px;color:var(--muted);font-size:13px}.equipment-picker-error{color:var(--danger-text)}.ownership-topbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.ownership-topbar .site-filter{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.ownership-topbar select{padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);color:var(--text)}.ownership-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.ownership-search{width:260px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;font-size:14px;background:var(--control-bg);color:var(--text)}.properties-tab{margin-top:12px}.dt-inherited-text{display:inline-block;padding:0 4px;color:var(--text-secondary, #888);font-style:italic;cursor:default;-webkit-user-select:none;user-select:none}.dt-inline-select{width:100%;height:34px;padding:0 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);font-size:13px;color:var(--text)}.pp-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}.pp-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;flex:1}.pp-filter-group{display:flex;flex-direction:column;gap:4px}.pp-filter-label{font-size:13px;color:var(--muted);font-weight:600}.pp-filter-input{height:36px;padding:0 10px;border:1px solid var(--control-border);border-radius:8px;font-size:13px;background:var(--control-bg);color:var(--text);min-width:140px}.pp-filter-input:focus{outline:none;border-color:var(--primary)}.pp-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:0}.btn.pp-btn-edit{background:var(--control-bg);color:var(--text);border:1px solid var(--control-border)}.btn.pp-btn-edit:hover:not(:disabled){background:var(--control-hover-bg, var(--border))}.pp-bcm-input{width:120px}.pp-readonly-val{font-variant-numeric:tabular-nums;font-size:13px}.pp-no-entry{color:var(--muted)}.pp-date-cell{font-size:13px;white-space:nowrap}.datatable-row.pp-row-dirty td{background:color-mix(in srgb,#f59e0b 8%,transparent)!important}.datatable-row.pp-row-new td{color:var(--muted)}.datatable-row.pp-row-new .pp-readonly-val,.datatable-row.pp-row-new .pp-bcm-input{color:var(--text)}.pp-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.pp-badge--saved{background:var(--success-soft-bg, #dcfce7);color:var(--success-soft-text, #166534)}.pp-badge--unsaved{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#92400e}.pp-badge--empty{background:var(--control-bg);color:var(--muted);border:1px solid var(--border)}.planning-toast{position:fixed;top:18px;right:18px;z-index:999;min-width:240px;max-width:400px;padding:12px 32px 12px 14px;border-radius:10px;box-shadow:var(--panel-shadow);border:1px solid var(--border);background:var(--panel-bg)}.planning-toast--success{border-color:var(--success-soft-border);background:var(--success-soft-bg)}.planning-toast--error{border-color:var(--danger-soft-border);background:var(--danger-soft-bg)}.planning-toast--success .planning-toast__title,.planning-toast--success .planning-toast__body{color:var(--success-soft-text)}.planning-toast--error .planning-toast__title,.planning-toast--error .planning-toast__body{color:var(--danger-soft-text)}.planning-toast__body{font-size:.88rem}.planning-toast__close{position:absolute;top:6px;right:10px;border:none;background:transparent;font-size:16px;cursor:pointer;color:var(--text);line-height:1}.equipment-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap}.view-toggle{display:flex;gap:8px}.toggle-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--control-border);background:var(--control-bg);font-size:13px;cursor:pointer;color:var(--text)}.toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#f8fafc}.toggle-btn:disabled{opacity:.55;cursor:not-allowed}.toolbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.site-filter label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.site-filter select{padding:6px 10px;border-radius:6px;border:1px solid var(--control-border);font-size:13px;background:var(--control-bg);color:var(--text)}.segmented{display:inline-flex;border:1px solid var(--control-border);border-radius:10px;overflow:hidden;background:var(--control-bg)}.segmented-btn{border:none;background:transparent;padding:6px 10px;font-size:13px;cursor:pointer;color:var(--muted)}.segmented-btn.active{background:var(--primary);color:#f8fafc}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:8px}.equipment-card{display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--border);background:var(--panel-bg);cursor:pointer;padding:10px;text-align:left;box-shadow:var(--panel-shadow)}.equipment-card:hover{box-shadow:0 6px 14px #0f172a14;transform:translateY(-1px)}.equipment-image{width:100%;height:140px;border-radius:10px;overflow:hidden;background:var(--control-bg);margin-bottom:10px}.equipment-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--muted)}.equipment-body{display:flex;flex-direction:column;gap:6px}.equipment-header{display:flex;justify-content:space-between;align-items:center;gap:6px}.fleet-code{font-weight:600;font-size:14px;color:var(--text)}.status-pill{font-size:11px;padding:3px 8px;border-radius:999px;font-weight:500}.status-pill.available{background:var(--success-soft-bg);color:var(--success-soft-text)}.status-pill.maintenance{background:var(--warning-soft-bg);color:var(--warning-soft-text)}.status-pill.assigned{background:var(--info-soft-bg);color:var(--info-soft-text)}.history-tab .status-pill{font-size:12px;padding:4px 9px}.description{font-size:13px;color:var(--text)}.meta-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.meta-label{font-weight:500}.meta-value{font-style:italic}.equipment-site-groups{display:flex;flex-direction:column;gap:12px;margin-top:8px}.site-group{border-radius:12px;border:1px solid var(--border);background:var(--panel-bg);padding:10px 10px 12px}.site-group-header{width:100%;display:flex;justify-content:space-between;align-items:center;border:none;background:none;cursor:pointer;padding:4px 2px 6px}.site-name{font-size:14px;font-weight:600;color:var(--text)}.site-subtitle,.chevron{font-size:12px;color:var(--muted)}.empty-state{margin-top:12px;font-size:14px;color:var(--muted)}.table-preview{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel-bg)}.table-preview-row{display:grid;grid-template-columns:140px 1.6fr 1fr 140px 1fr;gap:12px;padding:10px 12px;font-size:13px;border-top:1px solid var(--dt-border);color:var(--text)}.table-preview-head{background:var(--dt-header-bg);font-weight:600;border-top:none;color:var(--text)}.equipment-top-strip{background:var(--control-bg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:6px 0 14px}.equipment-top-subnav{display:flex;gap:8px;flex-wrap:wrap}.equipment-controls{margin-bottom:12px}.equipment-controls-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.controls-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}.site-filter{flex:0 0 auto}.equipment-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.equipment-toolbar .view-toggle{display:flex;gap:8px;align-items:center}.equipment-toolbar .segmented{display:inline-flex}.add-equipment-primary{padding:10px 16px;border-radius:10px;border:none;background:var(--action);color:var(--on-action);font-weight:700;font-size:.95rem;cursor:pointer;line-height:1.2}.hours-tab{margin-top:10px}.roster-summary{border:1px solid var(--border);background:linear-gradient(180deg,var(--panel-bg) 0%,var(--control-bg) 100%);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13px;color:var(--text);display:flex;gap:10px;flex-wrap:wrap;align-items:center}.roster-summary strong{color:var(--text)}.separator-dot{opacity:.55}.row-select{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);padding:9px 12px;border-radius:12px;font-size:13px;box-shadow:var(--panel-shadow)}.row-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.01em;border:1px solid transparent}.mode-pill-select{background:var(--info-soft-bg);color:var(--info-soft-text);border-color:var(--info-soft-border)}.mode-pill-edit{background:var(--warning-soft-bg);color:var(--warning-soft-text);border-color:var(--warning-soft-border)}.mode-tip{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 12px;border-radius:12px;background:var(--control-bg);border:1px dashed var(--border)}.mode-tip__text{color:var(--text)}.mode-tip__count{font-weight:700;color:var(--text)}.hours-tab.is-edit-mode .mode-tip{border-color:var(--warning-soft-border);background:var(--warning-soft-bg)}.hours-tab.is-select-mode .mode-tip{border-color:var(--info-soft-border);background:var(--info-soft-bg)}.hours-tab.is-edit-mode .mode-pill-edit{box-shadow:0 0 0 2px var(--warning-soft-border)}.hours-tab .hours-table-scroll{width:100%;max-width:100%}.hours-tab .hours-table-scroll .datatable-wrapper{position:relative;max-height:620px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);box-shadow:var(--panel-shadow);padding:0}.hours-tab .hours-table-scroll .datatable-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-x:auto;overflow-y:auto}.hours-tab .hours-table-scroll .datatable-table{display:table;width:max-content;min-width:1200px;border-collapse:separate;border-spacing:0}.hours-tab .hours-table-scroll .datatable-table thead{display:table-header-group}.hours-tab .hours-table-scroll .datatable-table tbody{display:table-row-group}.hours-tab .hours-table-scroll .datatable-table th{white-space:normal;min-width:140px;line-height:1.35;table-layout:auto}.hours-tab .hours-table-scroll .datatable-table td{white-space:normal;word-break:break-word}.hours-tab .datatable-table th,.hours-tab .datatable-table td{white-space:normal!important;word-break:break-word}.hours-tab .hours-table-scroll .datatable-table th .header-label{white-space:normal;overflow:visible;text-overflow:unset}.hours-tab .hours-table-scroll .datatable-table th .header-content{align-items:flex-start;gap:6px;flex-wrap:wrap}.hours-tab .hours-table-scroll .datatable-table th,.hours-tab .hours-table-scroll .datatable-table td{background-clip:padding-box}.hours-tab .hours-table-scroll .datatable-table td{background:var(--panel-bg)}.hours-tab .hours-table-scroll td.col-editable{background:var(--warning-soft-bg);box-shadow:inset 0 0 0 1px var(--warning-soft-border)}.hours-tab .hours-table-scroll .datatable-table thead th{position:sticky;top:0;z-index:3;background:var(--dt-header-bg);box-shadow:inset 0 -1px 0 var(--dt-border)}.hours-tab .hours-table-scroll .datatable-pagination{flex:0 0 auto;background:var(--control-bg);border-top:1px solid var(--border);padding:10px 12px;box-shadow:0 -4px 12px #0000002e}.hours-tab .hours-table-scroll .datatable-row.highlight td{background:var(--dt-highlight)!important}.hours-tab .hours-table-scroll td.cell-clicktoedit{cursor:pointer;position:relative;background:var(--control-bg);box-shadow:inset 0 0 0 1px var(--border);transition:background .12s ease,box-shadow .12s ease}.hours-tab .hours-table-scroll td.cell-clicktoedit:hover{background:var(--control-hover-bg);box-shadow:inset 0 0 0 1px var(--border)}.hours-tab .hours-table-scroll td.cell-clicktoedit:after{content:"✎";position:absolute;top:6px;right:8px;font-size:11px;color:var(--muted);opacity:0;transition:opacity .12s ease}.hours-tab .hours-table-scroll td.cell-clicktoedit:hover:after{opacity:1}.hours-tab .hours-table-scroll td.cell-editable{background:#e8fff3;box-shadow:inset 0 0 0 2px #10b98180;transition:box-shadow .12s ease,background .12s ease;position:relative}.hours-tab.is-edit-mode .hours-table-scroll td.cell-editable{background:#fff7e2;box-shadow:inset 0 0 0 2px #ca8a0473}.hours-tab .hours-table-scroll td.col-editable.cell-editable{background:#ffe8a3;box-shadow:inset 0 0 0 2px #ca8a04a6}.hours-tab .hours-table-scroll td.dt-eng{background:#e0f2fe}.hours-tab .hours-table-scroll td.dt-ops{background:#fff6d4}.hours-tab .badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em}.hours-tab .badge-yes{background:#ecfdf3;color:#0f5132;border:1px solid #16a34a}.hours-tab .badge-no{background:#fef2f2;color:#7f1d1d;border:1px solid #dc2626}.hours-tab .badge-delta{font-weight:600;margin-left:4px}.hours-tab .metric-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;border:1px solid transparent}.hours-tab .metric-good{background:#ecfdf3;color:#166534;border-color:#16a34a}.hours-tab .metric-bad{background:#fef2f2;color:#7f1d1d;border-color:#dc2626}.hours-tab .metric-na{background:#f8fafc;color:var(--muted);border-color:#e2e8f0}.hours-tab .hours-table-scroll td.cell-editable:focus-within{background:#c7f2de;box-shadow:inset 0 0 0 2px #10b981cc,0 0 0 4px #10b98138}.hours-tab .hours-table-scroll td.cell-editable input,.hours-tab .hours-table-scroll td.cell-editable select,.hours-tab .hours-table-scroll td.cell-editable textarea{background:#fafffb;border:1px solid rgba(16,185,129,.75);border-radius:10px;padding:8px 10px;outline:none;box-shadow:inset 0 0 0 1px #10b9813d}.hours-tab .hours-table-scroll td.cell-editable input:focus,.hours-tab .hours-table-scroll td.cell-editable select:focus,.hours-tab .hours-table-scroll td.cell-editable textarea:focus{border-color:#0ea768;box-shadow:0 0 0 2px #10b9818c}.hours-tab .hours-table-scroll td.cell-editable:before{content:"";position:absolute;inset:6px;border:1px dashed rgba(16,185,129,.5);border-radius:8px;pointer-events:none}.row-btn.cancel{background:#fff7ed;border-color:#fdba74;color:#b45309}.row-btn.cancel:hover{background:#ffedd5}.row-btn:disabled{opacity:.55;cursor:not-allowed}.downtime-total-cell{display:inline-flex;align-items:center;gap:6px}.icon-btn{border:1px solid var(--control-border);background:var(--control-bg);border-radius:8px;padding:4px 6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.icon-btn:hover:not(:disabled){background:var(--control-hover-bg)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-ghost{background:transparent;border-color:var(--control-border)}.icon-pencil{width:14px;height:14px}.downtime-modal{display:flex;flex-direction:column;gap:12px}.downtime-modal-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted)}.downtime-modal-table{border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);padding:10px;display:flex;flex-direction:column;gap:8px}.downtime-modal-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;padding:8px 10px;font-size:13px;color:#1e3a8a}.downtime-modal-summary strong{color:#1d4ed8;font-variant-numeric:tabular-nums}.downtime-modal-row{display:grid;grid-template-columns:190px minmax(170px,1fr) minmax(170px,1fr) 120px 1fr auto;gap:8px;align-items:center}.downtime-modal-row select,.downtime-modal-row input{width:100%;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg)}.downtime-modal-head{font-weight:700;color:var(--muted)}.downtime-modal-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.downtime-delete-btn{border-color:#fecaca;background:#fff1f2;color:#b42318;padding:6px 10px;font-weight:600;gap:6px}.downtime-delete-btn:hover:not(:disabled){border-color:#fca5a5;background:#ffe4e6;color:#9f1239}.icon-trash{width:12px;height:12px}@media(max-width:960px){.downtime-modal-row{grid-template-columns:1fr;align-items:flex-start}}.shifts-tab{display:block}.filters-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}.search-input{height:36px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);outline:none;font-size:14px;color:var(--text)}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.filter-select{height:36px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);outline:none;font-size:14px;color:var(--text)}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.empty-state{color:var(--muted);padding:14px 2px}.error-text{color:#b91c1c;margin:8px 0 12px}.actions.align-right{margin-left:auto;display:flex;gap:8px;align-items:center}.shifts-tab .hours-table-scroll{width:100%;max-width:100%}.shifts-tab .hours-table-scroll .datatable-wrapper{position:relative;max-height:620px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);box-shadow:var(--panel-shadow);padding:0}.shifts-tab .hours-table-scroll .datatable-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow-x:auto;overflow-y:auto}.shifts-tab .hours-table-scroll .datatable-table{display:table;width:max-content;min-width:1200px;border-collapse:separate;border-spacing:0}.shifts-tab .hours-table-scroll .datatable-table thead{display:table-header-group}.shifts-tab .hours-table-scroll .datatable-table tbody{display:table-row-group}.shifts-tab .hours-table-scroll .datatable-table th{white-space:normal;min-width:140px;line-height:1.35;table-layout:auto}.shifts-tab .hours-table-scroll .datatable-table th .header-label{white-space:normal;overflow:visible;text-overflow:unset}.shifts-tab .hours-table-scroll .datatable-table th .header-content{align-items:flex-start;gap:6px;flex-wrap:wrap}.shifts-tab .hours-table-scroll .datatable-table th,.shifts-tab .hours-table-scroll .datatable-table td{background-clip:padding-box}.shifts-tab .shifts-roster-cell{white-space:normal!important;overflow-wrap:break-word;max-width:320px}.shifts-tab .hours-table-scroll .datatable-table thead th{position:sticky;top:0;z-index:3;background:var(--dt-header-bg);box-shadow:inset 0 -1px 0 var(--dt-border)}.shifts-tab .hours-table-scroll .datatable-pagination{flex:0 0 auto;background:var(--control-bg);border-top:1px solid var(--border);padding:10px 12px;box-shadow:0 -4px 12px #0000002e}.rainfall-tab{display:block}.rainfall-widget-container{margin:0 0 14px}.rainfall-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;padding:14px;margin:10px 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);box-shadow:var(--panel-shadow)}.rainfall-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.rainfall-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:8px 0 12px}.rainfall-toolbar .toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hint{font-size:12px;color:var(--muted)}.rainfall-table-scroll .datatable-wrapper{position:relative;overflow:visible;border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);box-shadow:var(--panel-shadow);padding:0}.rainfall-table-scroll .datatable-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}.rainfall-table-scroll .datatable-table th,.rainfall-table-scroll .datatable-table td{white-space:normal;word-break:break-word}.rainfall-table-scroll .datatable-table thead th{background:var(--dt-header-bg);box-shadow:inset 0 -1px 0 var(--dt-border)}.rainfall-table-scroll .datatable-pagination{background:var(--control-bg);border-top:1px solid var(--border);padding:10px 12px;box-shadow:none;z-index:1}.rainfall-input{width:100%;padding:10px 12px;border-radius:10px;border:2px solid var(--control-border);background:var(--control-bg);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;color:var(--text)}.rainfall-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus-ring)}.rainfall-actual{background:#e8fff3!important;box-shadow:inset 0 0 0 1px #10b98159}.rainfall-forecast{background:var(--control-disabled-bg);color:var(--muted)}@media(max-width:768px){.rainfall-toolbar{flex-direction:column;align-items:stretch}.rainfall-toolbar .toolbar-left{width:100%;justify-content:space-between}}.production-tab{display:flex;flex-direction:column;gap:16px}.production-controls,.production-card{border:1px solid var(--border);background:var(--panel-bg);border-radius:14px;padding:14px}.production-controls{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:12px;align-items:end}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.field-input,.field-select{height:38px;border:1px solid var(--control-border);border-radius:10px;padding:0 12px;font-size:14px;background:var(--control-bg);color:var(--text);width:100%}.field-error{color:#b91c1c;font-size:13px}.field-grow{min-width:280px}.field-with-placeholder{position:relative}.field-placeholder{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:13px}.field-input[disabled]::placeholder{color:transparent}.inline-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.member-grid{display:flex;flex-direction:column;gap:10px;margin-top:10px}.member-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.production-roster-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;border:1px dashed var(--border);padding:10px 12px;border-radius:12px;background:var(--control-bg)}.summary-label{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.4px}.summary-value{font-weight:700;font-size:13px}.production-table-wrapper{position:relative;overflow:auto;border:1px solid var(--border);border-radius:12px;max-height:70vh;box-shadow:0 10px 30px #0f172a1f;background:var(--panel-bg)}.lock-overlay{position:absolute;top:0;left:0;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;background:#0f172a12;color:var(--text);font-weight:600;pointer-events:auto;z-index:2}.production-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;background:#fff;box-shadow:0 -1px #0000000a}.production-table thead th{position:sticky;top:0;background:var(--dt-header-bg);z-index:3;padding:8px 10px;border-bottom:1px solid var(--dt-border);vertical-align:middle}.production-table thead th.time-col{left:0;z-index:6}.production-table thead th .field-select{background:#f8fafc}.production-table tbody td{padding:6px 8px;border-bottom:1px solid var(--dt-border);background:var(--panel-bg);vertical-align:middle}.time-col{background:var(--control-bg);position:sticky;left:0;z-index:4;font-weight:700;min-width:84px;color:#0f172a}.col-header{display:flex;flex-direction:column;gap:6px}.col-label{font-size:12px;color:var(--muted)}.cell-wrapper{position:relative;display:flex;align-items:center}.cell-wrapper input{width:100%;min-width:90px;padding:8px 10px;border:1px solid var(--control-border);border-radius:8px;background:#fffaf0}.cell-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:4px}.cell-delete{width:28px;height:28px;border:1px solid #ef4444;background:#ef4444;color:#fff;cursor:pointer;border-radius:6px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #ef444459}.cell-delete:hover{background:#dc2626;border-color:#dc2626}.cell-validate{width:28px;height:28px;border:1px solid #16a34a;background:#ecfdf3;color:#166534;cursor:pointer;border-radius:6px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #16a34a40}.cell-validate:hover{background:#d1fae5;border-color:#16a34a}.cell-validate.on{background:#16a34a;border-color:#15803d;color:#fff;box-shadow:0 2px 6px #16a34a59}.cell-deleted input{text-decoration:line-through;opacity:.6}.sticky-header{position:sticky;top:0;background:var(--panel-bg);z-index:5}:root[data-theme=dark] .production-tab .card-actions .row-btn:not(.primary):not(.danger){background:#1e293b;border-color:#334155;color:#f1f5f9}:root[data-theme=dark] .production-tab .card-actions .row-btn:not(.primary):not(.danger):hover:not(:disabled){background:#334155;border-color:#475569}:root[data-theme=dark] .production-tab .card-actions .row-btn:not(.primary):not(.danger):focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}:root[data-theme=dark] .production-tab .card-actions .row-btn:not(.primary):not(.danger):disabled{opacity:1;background:#172031;border-color:#2b3445;color:#94a3b8}@media(max-width:1100px){.production-controls,.member-row{grid-template-columns:1fr}}.production-survey{display:flex;flex-direction:column;gap:14px}.capture-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;align-items:end}.production-card .card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.production-card .card-title{font-weight:700;font-size:16px}.production-card .card-subtitle{font-size:13px;color:var(--muted)}.info-text{color:var(--muted);font-size:13px}.survey-table-wrapper{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg);margin-top:10px}.survey-table{width:100%;border-collapse:collapse}.survey-table th,.survey-table td{padding:8px 10px;border-bottom:1px solid var(--dt-border);text-align:left;font-size:13px}.survey-table th{background:var(--dt-header-bg);font-weight:700}.production-controls.slim{grid-template-columns:1fr;max-width:520px}.existing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.table-inline-input{width:100%;padding:6px 8px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-bg);color:var(--text);caret-color:var(--text);font-size:13px}.table-inline-select{width:100%;padding:6px 8px;border:1px solid var(--control-border);border-radius:8px;background:var(--control-bg);color:var(--text);font-size:13px}.table-inline-input::placeholder{color:var(--muted);opacity:1}.table-inline-input:focus,.table-inline-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}:root[data-theme=dark] .table-inline-input[type=date]{color-scheme:dark}.production-dozing{display:flex;flex-direction:column;gap:14px}.dozing-toast{position:fixed;top:18px;right:18px;z-index:999;min-width:240px;max-width:380px;padding:12px 14px;border-radius:10px;box-shadow:var(--panel-shadow);border:1px solid var(--border);background:var(--panel-bg)}.dozing-toast--success{border-color:var(--success-soft-border);background:var(--success-soft-bg);color:var(--success-soft-text)}.dozing-toast--error{border-color:var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--danger-soft-text)}.dozing-toast__title{font-weight:800;margin-bottom:4px}.dozing-toast__body{font-size:.92rem;color:var(--text)}.dozing-toast--success .dozing-toast__body,.dozing-toast--success .dozing-toast__title{color:var(--success-soft-text)}.dozing-toast--error .dozing-toast__body,.dozing-toast--error .dozing-toast__title{color:var(--danger-soft-text)}.dozing-toast__close{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:16px;cursor:pointer;color:var(--text)}.production-card{border:1px solid var(--border);background:var(--panel-bg);border-radius:14px;padding:14px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.card-title{font-weight:700;font-size:16px}.card-subtitle{font-size:13px;color:var(--muted)}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dozing-split-add{position:relative;display:inline-flex;align-items:stretch}.dozing-split-add .split-main{border-top-right-radius:0;border-bottom-right-radius:0}.dozing-split-add .split-toggle{position:relative}.dozing-split-add .split-toggle-btn{min-width:36px;padding:8px 10px;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.dozing-split-add .split-menu{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;min-width:150px;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);box-shadow:var(--panel-shadow);z-index:20;overflow:hidden}.dozing-split-add .split-menu button{border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;padding:8px 10px;cursor:pointer;font-size:13px}.dozing-split-add .split-menu button:last-child{border-bottom:0}.dozing-split-add .split-menu button:hover,.dozing-split-add .split-menu button.active{background:#f8fafc}.dozing-controls{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;align-items:end;margin-top:12px}.field-label{font-size:12px;color:var(--muted);font-weight:700}.field-select,.field-input{height:38px;border:1px solid var(--control-border);border-radius:10px;padding:0 12px;font-size:14px;background:var(--control-bg);color:var(--text)}.dozing-table-wrapper{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:auto;position:relative}.dozing-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0}.dozing-table th,.dozing-table td{padding:10px 12px;border-bottom:1px solid var(--dt-border)}.dozing-table th{position:sticky;top:0;background:var(--dt-header-bg);z-index:2;text-align:left}.dozing-table td select,.dozing-table td input{width:100%}.row-btn.ghost{background:transparent;border:1px solid var(--control-border);color:var(--text)}.dozing-summary-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 4px 0}.summary-chip{background:#f5f7fb;border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600}.summary-chip.subtle{color:var(--muted);font-weight:500}.dozing-table-wrapper .lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a12;color:var(--text);font-weight:600;pointer-events:auto;z-index:2}.empty-state{margin:14px 4px 0;padding:16px;border:1px dashed var(--border);border-radius:12px;background:var(--panel-bg);color:var(--muted);text-align:center;font-size:14px}.dozing-datatable .datatable-table th:first-child,.dozing-datatable .datatable-table td:first-child{position:sticky;left:0;z-index:4;background:var(--panel-bg, #fff);box-shadow:1px 0 #0000000a}:root[data-theme=dark] .production-dozing .dozing-split-add .row-btn{background:#1e293b;border-color:#334155;color:#f1f5f9}:root[data-theme=dark] .production-dozing .dozing-split-add .row-btn:hover:not(:disabled){background:#334155;border-color:#475569}:root[data-theme=dark] .production-dozing .dozing-split-add .row-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}:root[data-theme=dark] .production-dozing .dozing-split-add .row-btn:disabled{opacity:1;background:#172031;border-color:#2b3445;color:#94a3b8}:root[data-theme=dark] .production-dozing .dozing-split-add .split-menu{background:#0f172a;border-color:#334155}:root[data-theme=dark] .production-dozing .dozing-split-add .split-menu button{border-bottom-color:#334155}:root[data-theme=dark] .production-dozing .dozing-split-add .split-menu button:hover,:root[data-theme=dark] .production-dozing .dozing-split-add .split-menu button.active{background:#1e293b}.reported-production-tab{display:flex;flex-direction:column;gap:14px}.reported-capture-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.reported-filter-grid{grid-template-columns:repeat(5,minmax(180px,1fr))}.actions-row{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.reported-table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.notice{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:13px;border:1px solid transparent}.notice.success{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.notice.error{background:#fef2f2;border-color:#fecdd3;color:#b91c1c}@media(max-width:1200px){.reported-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:900px){.reported-capture-grid,.reported-filter-grid{grid-template-columns:1fr}}.mining-top-strip{background:var(--control-bg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:6px 0 14px}.mining-top-subnav{display:flex;gap:8px;flex-wrap:wrap}.page-title{margin:0;font-size:34px;font-weight:800;color:var(--text)}.mining-controls{border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);padding:14px;margin-bottom:14px}.mining-controls-grid{display:grid;grid-template-columns:220px 220px 1fr;gap:12px;align-items:end}.mining-field{display:flex;flex-direction:column;gap:6px}.mining-field--grow{min-width:280px}.mining-label{font-size:12px;font-weight:700;color:var(--muted)}.mining-controls select,.mining-controls input[type=date]{height:40px;border-radius:10px;border:1px solid var(--control-border);padding:0 12px;font-size:14px;color:var(--text);background:var(--control-bg);outline:none}.mining-controls select:disabled,.mining-controls input[type=date]:disabled{background:var(--control-disabled-bg);color:var(--muted);cursor:not-allowed}.empty-state{margin:10px 0 0;font-size:13px;color:var(--muted)}@media(max-width:1100px){.mining-controls-grid{grid-template-columns:1fr}.mining-field--grow{min-width:0}}.hours-sheet{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.hours-sheet-wrapper{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:12px;background:var(--panel-bg)}.hours-sheet th,.hours-sheet td{border-bottom:1px solid var(--dt-border);padding:8px 10px;font-size:13px;vertical-align:middle;white-space:nowrap}.hours-sheet th{position:sticky;top:0;background:var(--dt-header-bg);z-index:3;text-align:left;font-weight:600;color:var(--text)}.hours-sheet td input,.hours-sheet td select{width:100%;min-width:90px;padding:6px 8px;border:1px solid var(--control-border);border-radius:8px;font-size:13px;background:var(--control-bg);color:var(--text)}.hours-sheet td select{min-width:140px}.btn{padding:8px 12px;border:1px solid var(--control-border);background:var(--control-bg);border-radius:10px;cursor:pointer;font-size:13px}.mining-controls-bar{display:flex;gap:14px;align-items:end;padding:14px;border:1px solid var(--border);background:var(--panel-bg);border-radius:14px;margin:14px 0 18px}.field{display:flex;flex-direction:column;gap:6px;min-width:220px}.field-grow{flex:1;min-width:320px}.field-label{font-size:12px;color:var(--muted);font-weight:600}.field-select{height:38px;border:1px solid var(--control-border);border-radius:10px;padding:0 12px;font-size:14px;background:var(--control-bg);color:var(--text)}.field-select:disabled{background:var(--control-disabled-bg);color:var(--muted);cursor:not-allowed}.field-input{height:38px;border:1px solid var(--control-border);border-radius:10px;padding:0 12px;font-size:14px;background:var(--control-bg);color:var(--text)}.field-input:disabled{background:var(--control-disabled-bg);color:var(--muted);cursor:not-allowed}.hours-table-scroll .datatable-wrapper{max-height:520px;display:flex;flex-direction:column;overflow:hidden;border-radius:12px}.hours-table-scroll .datatable-table{display:table}.hours-table-scroll .datatable-pagination{flex:0 0 auto;border-top:1px solid var(--border);background:var(--control-bg)}.hours-table-scroll .datatable-row.highlight td{background:#3b82f61a}.hours-table-scroll td.cell-editable{background:#10b9810f}.hours-table-scroll td.cell-editable input,.hours-table-scroll td.cell-editable select,.hours-table-scroll td.cell-editable textarea{background:#10b9811a;border:1px solid rgba(16,185,129,.45);border-radius:10px;padding:8px 10px;outline:none}.hours-table-scroll td.cell-editable input:focus,.hours-table-scroll td.cell-editable select:focus,.hours-table-scroll td.cell-editable textarea:focus{border-color:#10b981d9;box-shadow:0 0 0 3px #10b9812e}.hours-table-scroll td.cell-clicktoedit{cursor:pointer}.hours-table-scroll td.cell-clicktoedit:hover{background:#94a3b81f}.row-btn{padding:8px 12px;border-radius:10px;border:1px solid #d1d5db;background:#fff;font-size:13px;cursor:pointer;color:var(--text)}.row-btn:hover{background:#f8fafc}.row-btn:disabled{opacity:.6;cursor:not-allowed}.row-btn.primary{background:var(--action);border-color:var(--action);color:var(--on-action)}.row-btn.primary:hover{background:var(--action-strong)}.row-btn.danger{background:#ef4444;border-color:#ef4444;color:#fff}.row-btn.danger:hover{background:#dc2626}.row-btn.neutral{background:#fff;border-color:#d1d5db;color:var(--text)}.search-and-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px;flex-wrap:wrap}.search-input{width:260px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.btn.save{background:var(--success-strong);color:var(--on-success-strong)}.btn.cancel{background:var(--warning-strong);color:var(--on-warning-strong)}.btn.delete{background:var(--danger-solid);color:var(--on-danger)}.btn:disabled{opacity:.6;cursor:not-allowed}.table-shell{margin-top:8px}.active-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.2}.active-pill--yes{background:#dcfce7;border:1px solid #86efac;color:#166534}.active-pill--no{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.dozing-plan-topbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.dozing-plan-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.dozing-plan-search{width:260px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;font-size:14px;background:var(--control-bg);color:var(--text)}.planning-toast{position:fixed;top:18px;right:18px;z-index:999;min-width:240px;max-width:360px;padding:12px 14px;border-radius:10px;box-shadow:var(--panel-shadow);border:1px solid var(--border);background:var(--panel-bg)}.planning-toast--success{border-color:var(--success-soft-border);background:var(--success-soft-bg);color:var(--success-soft-text)}.planning-toast--error{border-color:var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--danger-soft-text)}.planning-toast__title{font-weight:800;margin-bottom:4px}.planning-toast__body{font-size:.92rem;color:var(--text)}.planning-toast--success .planning-toast__body,.planning-toast--success .planning-toast__title{color:var(--success-soft-text)}.planning-toast--error .planning-toast__body,.planning-toast--error .planning-toast__title{color:var(--danger-soft-text)}.planning-toast__close{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:16px;cursor:pointer;color:var(--text)}.planning-top-strip{background:var(--control-bg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:6px 0 14px}.planning-top-subnav{display:flex;gap:8px;flex-wrap:wrap}.planning-subnav-btn{padding:6px 12px;border-radius:999px;border:1px solid var(--control-border);background:var(--control-bg);font-size:13px;cursor:pointer;color:var(--text)}.planning-subnav-btn:hover{background:var(--control-hover-bg)}.planning-subnav-btn.active{background:var(--primary);border-color:var(--primary);color:#f8fafc}.planning-controls{margin-bottom:12px}.planning-controls .site-filter label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.planning-controls .site-filter select{padding:6px 10px;border-radius:6px;border:1px solid var(--control-border);font-size:13px;background:var(--control-bg);color:var(--text)}.planning-empty-state{margin-top:12px;font-size:14px;color:var(--muted)}.dt-inline-input{width:100%;padding:10px 12px;border-radius:10px;border:2px solid var(--control-border);background:var(--control-bg);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;color:var(--text)}.dt-inline-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus-ring)}.dt-inline-input.editing{background:var(--control-hover-bg)}.dt-searchable-select{position:relative;width:100%}.dt-searchable-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box}.dt-searchable-trigger:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus-ring)}.dt-searchable-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dt-searchable-placeholder .dt-searchable-trigger-label{color:var(--muted, #888)}.dt-searchable-arrow{font-size:10px;margin-left:6px;flex-shrink:0;color:var(--muted, #888)}.dt-searchable-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:var(--control-bg);border:2px solid var(--primary);border-radius:10px;box-shadow:0 8px 24px #0000002e;overflow:hidden}.dt-searchable-search{width:100%;box-sizing:border-box;padding:8px 12px;border:none;border-bottom:1px solid var(--control-border);background:var(--control-bg);font-size:13px;color:var(--text);outline:none}.dt-searchable-search::placeholder{color:var(--muted, #888)}.dt-searchable-options{max-height:220px;overflow-y:auto}.dt-searchable-option{padding:8px 12px;font-size:13px;cursor:pointer;color:var(--text);transition:background .1s}.dt-searchable-option:hover{background:var(--control-hover-bg, rgba(0,0,0,.06))}.dt-searchable-option--selected{background:var(--primary-light, rgba(59,130,246,.12));font-weight:600}.dt-searchable-option--none{color:var(--muted, #888);cursor:default;font-style:italic}.dt-searchable-option--empty-val{color:var(--muted, #888);font-style:italic;border-bottom:1px solid var(--control-border)}.fuel-top-strip{background:var(--control-bg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:6px 0 14px}.fuel-top-subnav{display:flex;gap:8px;flex-wrap:wrap}.fuel-subnav-group{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--panel-bg)}.fuel-subnav-group-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.split-add{display:inline-flex;align-items:stretch;--split-add-bg: var(--action, #2563eb);--split-add-bg-strong: var(--action-strong, #1d4ed8);border:1px solid var(--split-add-bg);border-radius:8px;overflow:visible;position:relative;box-shadow:0 4px 10px #2563eb2e;background:var(--split-add-bg)}.split-add .split-main{position:relative;min-height:38px;padding:0 14px;border:none;border-right:1px solid rgba(255,255,255,.65);border-radius:8px 0 0 8px;color:#fff;font-weight:700;letter-spacing:.01em}.split-add .split-main:after{content:"";position:absolute;top:6px;bottom:6px;right:-1px;width:1px;background:#fff;opacity:.95;pointer-events:none}.split-add .btn.add.split-main,.split-add .split-toggle .btn{border:none;background:var(--split-add-bg);color:#fff}.split-add .split-toggle .btn{border-radius:0 8px 8px 0;width:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;font-size:16px;line-height:1}.split-add .btn.add.split-main:hover,.split-add .split-toggle .btn:hover{background:var(--split-add-bg)}.split-add.open{border-color:var(--split-add-bg-strong);box-shadow:0 6px 14px #1d4ed83d}.split-add.open .btn.add.split-main,.split-add.open .split-toggle .btn,.split-add.open .btn.add.split-main:hover,.split-add.open .split-toggle .btn:hover{background:var(--split-add-bg-strong);border-color:var(--split-add-bg-strong)}.split-add:hover{box-shadow:0 6px 18px #2563eb47}.split-add .split-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--panel-bg, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 16px #00000014;display:grid;min-width:150px;z-index:60;padding:6px 0}.split-add .split-menu button{padding:10px 14px;text-align:left;border:none;background:transparent;font-weight:600;color:var(--text)}.split-add .split-menu button:hover{background:var(--control-hover-bg)}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--control-bg);border:1px solid var(--control-border);font-size:12px;color:var(--muted)}.subnav-btn{padding:6px 12px;border-radius:999px;border:1px solid var(--control-border);background:var(--control-bg);font-size:13px;cursor:pointer;color:var(--text)}.subnav-btn:hover{background:var(--control-hover-bg)}.subnav-btn.active{background:var(--primary);border-color:var(--primary);color:#f8fafc}.page-title{margin:0;font-size:32px;font-weight:800;color:var(--text)}.page-description{margin:6px 0 18px;color:var(--muted)}@media(max-width:1100px){.fuel-top-subnav{gap:6px}.fuel-subnav-group{width:100%;justify-content:flex-start;flex-wrap:wrap}}.settings-page-title{margin:0 0 6px;font-size:2.8rem;font-weight:800;color:var(--text)}.settings-toast{position:fixed;top:18px;right:18px;z-index:999;min-width:240px;max-width:360px;padding:12px 14px;border-radius:10px;box-shadow:var(--panel-shadow);border:1px solid var(--border);background:var(--panel-bg)}.settings-toast--success{border-color:var(--success-soft-border);background:var(--success-soft-bg);color:var(--success-soft-text)}.settings-toast--error{border-color:var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--danger-soft-text)}.settings-toast__title{font-weight:800;margin-bottom:4px}.settings-toast__body{font-size:.92rem;color:var(--text)}.settings-toast--success .settings-toast__body,.settings-toast--success .settings-toast__title{color:var(--success-soft-text)}.settings-toast--error .settings-toast__body,.settings-toast--error .settings-toast__title{color:var(--danger-soft-text)}.settings-toast__close{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:16px;cursor:pointer;color:var(--text)}.settings-page-subtitle{margin:0 0 18px;color:var(--muted);font-size:.95rem}.settings-section{background:var(--panel-bg);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--panel-shadow);margin-top:16px}.settings-card{background:var(--control-bg);border:1px solid var(--border);border-radius:12px;padding:14px}.settings-section-title{margin:0 0 4px;font-size:1.05rem;font-weight:800;color:var(--text)}.settings-section-subtitle{margin:0 0 14px;font-size:.9rem;color:var(--muted)}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-edit-btn{white-space:nowrap}.settings-profile-row{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:start}.settings-avatar-col{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:0}.settings-avatar-circle{position:relative;width:88px;height:88px;border-radius:9999px;background:var(--control-hover-bg);display:grid;place-items:center;overflow:hidden}.settings-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.settings-avatar-initials{font-weight:700;color:var(--text)}.settings-avatar-remove-x{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:9999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--text);font-size:16px;line-height:18px;font-weight:900;display:grid;place-items:center;cursor:pointer;z-index:5;padding:0}.settings-avatar-actions{width:100%;display:flex;justify-content:center}.settings-avatar-actions label{width:auto}.settings-avatar-actions .btn{min-width:140px;display:inline-flex;justify-content:center}.settings-avatar-remove-x:hover{background:var(--control-hover-bg);border-color:var(--control-border)}.settings-avatar-remove-x:active{transform:scale(.98)}.settings-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.settings-field label{display:block;font-size:.78rem;font-weight:800;color:var(--muted);margin-bottom:6px;text-transform:none}.settings-input,.settings-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--control-border);outline:none;background:var(--control-bg);font-size:.95rem;color:var(--text)}.settings-input:focus,.settings-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.settings-input:disabled{background:var(--control-disabled-bg);color:var(--muted);cursor:not-allowed}.settings-input--error{border-color:var(--danger, #e53e3e)}.settings-input--error:focus{box-shadow:0 0 0 3px #e53e3e40}.settings-actions-row{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.settings-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px 18px}.settings-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.settings-session-table{display:grid;gap:6px}.settings-session-row{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 1.2fr .8fr;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;align-items:center}.settings-session-table--mine .settings-session-row{grid-template-columns:1.2fr 1fr 1.2fr 1.2fr}.settings-session-table--admin .settings-session-row{grid-template-columns:1.1fr 1fr 1fr 1.2fr .8fr}.settings-session-row--head{font-weight:800;background:var(--control-bg)}.settings-radio-list,.settings-check-list{display:flex;flex-direction:column;gap:10px;font-size:.95rem;color:var(--text)}.settings-radio-item,.settings-check-item{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.settings-help{margin-top:8px;font-size:.82rem;color:var(--muted)}.settings-help--error{color:var(--danger, #e53e3e);font-weight:500}@media(max-width:900px){.settings-profile-row,.settings-fields-grid,.settings-grid-3,.settings-grid-2{grid-template-columns:1fr}.settings-session-row{grid-template-columns:1fr;gap:4px}.settings-actions-row{justify-content:stretch}.settings-actions-row .btn-primary,.settings-actions-row .btn-secondary{width:100%}}.search-lhs{display:inline-flex;align-items:center;gap:8px}.filter-select{padding:7px 10px;border:1px solid var(--control-border);border-radius:6px;font-size:13px;background:var(--control-bg);color:var(--text);max-width:180px}.btn.add{background:#2563eb;color:#fff}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1}.mode-pill--edit{background:color-mix(in srgb,var(--primary) 14%,var(--panel-bg) 86%);color:var(--primary-strong);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border) 65%)}.mode-pill--select{background:color-mix(in srgb,var(--info-soft-bg) 70%,var(--panel-bg) 30%);color:var(--info-soft-text);border:1px solid color-mix(in srgb,var(--info-strong) 30%,var(--border) 70%)}.dt-group-start{border-left:3px solid var(--dt-group-separator)}.dt-success-banner{background:var(--success-soft-bg);border:1px solid var(--success-soft-border);color:var(--success-soft-text);padding:10px 12px;border-radius:10px;font-size:13px}.selector-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.selector-label{font-weight:600;min-width:44px;color:var(--text)}.inline-form-box{margin-bottom:1rem;padding:1rem;border:1px solid var(--control-border, #ddd);border-radius:6px;max-width:480px}.inline-form-box-title{font-weight:600;margin:0 0 .75rem;font-size:14px;color:var(--text)}.inline-form-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.select-with-action{display:flex;align-items:center;gap:.4rem;width:100%}.select-with-action select{flex:1;min-width:0}.btn.sm{padding:3px 10px;font-size:.8em;white-space:nowrap}.text-muted{color:var(--muted, #9ca3af)}.error-message{color:var(--danger-soft-text);font-size:.88em;margin-bottom:.75rem;padding:6px 10px;background:var(--danger-soft-bg);border:1px solid var(--danger-soft-border);border-radius:6px}.table-loading{display:inline-flex;align-items:center;gap:10px;padding:12px 0;color:var(--muted, #6b7280);font-size:14px}.table-loading-spinner{width:14px;height:14px;border:2px solid var(--control-border, #cbd5e1);border-top-color:var(--primary, #2563eb);border-radius:999px;animation:table-loading-spin .75s linear infinite;flex:0 0 14px}@keyframes table-loading-spin{to{transform:rotate(360deg)}}.diesel-transactions-table{border-collapse:separate!important;border-spacing:0}.diesel-transactions-table th,.diesel-transactions-table td{background-clip:padding-box}.diesel-transactions-table th.pinned-col,.diesel-transactions-table td.pinned-col{box-shadow:inset -1px 0 0 var(--dt-border, #e5e7eb),2px 0 6px #0000000f}.diesel-system-mirror-row td{background-image:linear-gradient(to right,color-mix(in srgb,var(--info-soft-bg, #e0f2fe) 22%,transparent 78%),transparent 75%)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.generate-controls{display:flex;align-items:center;gap:10px}.generate-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.generate-date{padding:8px 12px;border:1px solid var(--control-border);border-radius:6px;font-size:14px;background:var(--control-bg);color:var(--text);caret-color:var(--text)}.cell-input{width:100%;padding:7px 10px;border:1px solid var(--control-border);border-radius:6px;font-size:14px;box-sizing:border-box;background:var(--control-bg);color:var(--text);caret-color:var(--text)}.checkbox-wrap{display:inline-flex;gap:8px;align-items:center;-webkit-user-select:none;user-select:none;color:var(--text)}.checkbox-wrap input[type=checkbox]{accent-color:var(--primary)}.generate-date:focus,.cell-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.roster-apply-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:flex-start;gap:12px 16px;width:100%;max-width:1080px;margin-top:4px}.roster-apply-bar .field{display:flex;flex-direction:column;gap:6px}.roster-apply-bar .field label{font-size:12px;color:var(--muted)}.roster-apply-bar .field input,.roster-apply-bar .field select{padding:8px 10px;border-radius:8px;border:1px solid var(--control-border);width:100%;box-sizing:border-box;background:var(--control-bg);color:var(--text)}.roster-apply-bar .teams-field{grid-column:1 / span 3}.roster-apply-bar .hint{font-size:12px;color:var(--muted);line-height:1.4}.roster-apply-bar .actions{display:flex;align-items:center;gap:12px;justify-self:start;grid-column:4;align-self:center}.roster-apply-bar .actions label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text);white-space:nowrap}.page-title{font-size:32px;font-weight:700;margin:8px 0 4px;color:var(--text)}.page-description{font-size:15px;color:var(--muted);margin-bottom:20px}.search-and-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.search-input{width:260px;padding:8px 12px;border:1px solid var(--control-border);border-radius:6px;font-size:14px;background:var(--control-bg);color:var(--text)}.actions{display:flex;align-items:center;gap:10px}.btn{padding:8px 15px;border-radius:6px;font-size:14px;border:none;cursor:pointer}.btn.add{background:var(--action);color:var(--on-action)}.btn.save{background:#16a34a;color:#fff}.btn.cancel{background:#f59e0b;color:#fff}.btn.delete{background:#b91c1c;color:#fff}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.page-info{font-size:14px;color:var(--muted)}.btn.paging{background:var(--control-bg);border:1px solid var(--control-border);padding:6px 12px}.btn.paging:disabled{opacity:.35;cursor:not-allowed}.datatable-row.highlight td{background:var(--dt-highlight)!important;color:var(--text)}.schedule-exception-panel .filters-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 16px}.schedule-exception-panel .filter-input,.schedule-exception-panel .search-input{height:36px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);color:var(--text);font-size:14px}.schedule-exception-panel .filter-input{width:180px}.schedule-exception-panel .actions.align-right{margin-left:auto;display:flex;gap:8px}.schedule-exception-panel .btn{padding:8px 12px;border-radius:10px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);font-size:13px;cursor:pointer}.schedule-exception-panel .btn.add{background:var(--info-strong);color:var(--on-info-strong);border-color:var(--info-strong)}.schedule-exception-panel .btn.save{background:var(--success-strong);color:var(--on-success-strong);border-color:var(--success-strong)}.schedule-exception-panel .btn.cancel{background:var(--control-hover-bg);border-color:var(--control-border);color:var(--text)}.schedule-exception-panel .btn.delete{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.schedule-exception-panel .btn:hover{filter:brightness(.98)}.sc-section{border:1px solid var(--border);border-radius:14px;background:var(--panel-bg);overflow:hidden;box-shadow:var(--panel-shadow)}.sc-header{width:100%;text-align:left;background:var(--control-bg);border:none;padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.sc-header:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:12px}.sc-header-title{font-weight:800;color:var(--text)}.sc-header-subtitle{margin-top:2px;font-size:13px;color:var(--muted)}.sc-header-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.sc-icon-plate{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--panel-bg);border:1px solid var(--border);color:var(--text);flex:0 0 auto;box-shadow:inset 0 1px #ffffff0a}.sc-chevron{display:inline-block;color:var(--muted);font-size:14px;transition:transform .2s ease}.sc-chevron.open{transform:rotate(90deg)}.sc-body{overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .28s ease,opacity .2s ease,transform .22s ease}.sc-body.open{max-height:700px;opacity:1;transform:translateY(0)}.sc-body-inner{padding:14px}@keyframes scFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sc-tile-anim{animation:scFadeUp .22s ease both}.md-tile:hover:not(.md-tile-disabled){transform:translateY(-1px);transition:transform .14s ease,box-shadow .14s ease}.md-tile.md-tile-disabled{cursor:not-allowed;opacity:.55;background:var(--control-bg);border-color:var(--border);box-shadow:none;filter:grayscale(.4)}.md-tile.md-tile-disabled:hover{transform:none;border-color:var(--border);box-shadow:none}.md-tile.md-tile-disabled h3,.md-tile.md-tile-disabled p{color:var(--muted)}.changelog-panel{display:flex;flex-direction:column;gap:16px}.changelog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}.changelog-actions{display:flex;gap:8px}.changelog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;background:var(--card);padding:14px;border-radius:12px;border:1px solid var(--border-subtle);box-shadow:0 6px 18px #0000000a}.changelog-filters .field{display:flex;flex-direction:column;gap:4px;min-width:0}.changelog-filters .field input,.changelog-filters .field select{border:1px solid var(--control-border, var(--border-subtle, #dce1e8));border-radius:10px;padding:10px 12px;font-size:14px;background:var(--control-bg, #fff);color:var(--text, #111);caret-color:var(--text, #111);width:100%;min-width:0}.changelog-filters .field input::placeholder{color:var(--muted, #64748b);opacity:1}:root[data-theme=dark] .changelog-filters .field input[type=datetime-local]{color-scheme:dark}.changelog-filters .field input:focus,.changelog-filters .field select:focus{outline:2px solid var(--primary, #0b74d4);outline-offset:1px;border-color:var(--primary, #0b74d4)}.changelog-filters .actions{align-self:end;display:flex;gap:8px;justify-content:flex-end}.btn-row{display:flex;gap:10px;flex-wrap:nowrap}.json-cell{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}.ts-cell{display:flex;flex-direction:column;gap:2px}.error-box{padding:10px 12px;border-radius:8px;background:#c8000014;color:#a10000;border:1px solid rgba(200,0,0,.25)}.changelog-detail{display:flex;flex-direction:column;gap:12px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.detail-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.detail-value{font-weight:600}.detail-block{display:flex;flex-direction:column;gap:6px}.detail-block pre{background:var(--surface-subtle, #f6f7f9);padding:10px;border-radius:8px;border:1px solid var(--border-subtle, #e2e5eb);max-height:240px;overflow:auto}@media(max-width:900px){.changelog-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:640px){.changelog-filters{grid-template-columns:1fr}.changelog-filters .actions{width:100%;justify-content:stretch}.changelog-filters .btn-row{width:100%;flex-wrap:wrap}.changelog-filters .btn-row .btn{flex:1 1 140px}}.dashboards-panel{display:flex;flex-direction:column;gap:18px;max-width:1120px}.dashboards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;margin:0}.dash-card{position:relative;border:1px solid var(--border);border-radius:16px;padding:18px 20px 20px;background:linear-gradient(180deg,var(--panel-bg) 0%,var(--control-bg) 100%);box-shadow:var(--panel-shadow),0 12px 28px #0f172a0f;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.dash-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--border) 70%,var(--primary) 30%);box-shadow:var(--panel-shadow),0 16px 34px #0f172a1a}.dash-card h3{margin:0;font-size:20px;line-height:1.35;letter-spacing:-.01em}.dash-card .muted{margin:0;color:var(--muted);line-height:1.55}.dash-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:linear-gradient(120deg,#0ea5e929,#0ea5e914);color:var(--primary-strong);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border) 70%);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.dash-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}.dash-actions .btn{min-width:140px;font-weight:700}.dash-actions .btn.ghost{border:1px solid var(--control-border);background:var(--control-bg);color:var(--text)}.dash-actions .btn.ghost:hover{border-color:var(--primary);background:var(--control-hover-bg);color:var(--action)}.refresh-block{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:linear-gradient(180deg,rgba(14,165,233,.05),rgba(14,165,233,.02),var(--panel-bg));display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px #fff6}.refresh-row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:flex-start;font-size:14px;padding:6px 0;border-top:1px solid rgba(148,163,184,.3)}.refresh-row:first-of-type{border-top:none;padding-top:0}.refresh-row .label{color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.refresh-row .value{color:var(--text);line-height:1.55;word-break:break-word}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}.refresh-control{display:inline-flex;align-items:center;gap:10px}.refresh-now-btn{min-width:120px;font-weight:700}.refresh-now-btn.is-refreshing,.refresh-now-btn:disabled{cursor:not-allowed;background:var(--muted-bg, #e5e7eb);border-color:color-mix(in srgb,var(--control-border) 65%,var(--muted) 35%);color:var(--muted-text, #6b7280);opacity:1}.refresh-spinner{width:14px;height:14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--muted) 35%,transparent);border-top-color:currentColor;animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.interval-select{display:inline-flex;align-items:center;padding:8px 34px 8px 12px;border-radius:9999px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;min-width:120px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.interval-select:hover{background:var(--control-hover-bg)}.interval-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.interval-select:disabled{opacity:.6;cursor:not-allowed}.refresh-success{color:var(--success-text, #16a34a);font-size:13px;font-weight:600}.refresh-error{color:var(--danger-soft-text);font-size:13px;font-weight:600}@media(max-width:720px){.dash-card{padding:16px}.refresh-row{grid-template-columns:1fr;gap:6px}.refresh-row .label{font-size:11px}}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.status-success{background:var(--success-soft-bg, #d1fae5);color:var(--success-soft-text, #065f46)}.status-failed{background:var(--danger-soft-bg, #fee2e2);color:var(--danger-soft-text, #991b1b)}.status-running{background:var(--warning-soft-bg, #fef3c7);color:var(--warning-soft-text, #92400e)}.status-unknown{background:var(--muted-bg, #f3f4f6);color:var(--muted-text, #6b7280)}.reports-panel{display:flex;flex-direction:column;gap:16px;max-width:1220px}.report-toast{position:fixed;top:18px;right:18px;z-index:999;min-width:240px;max-width:360px;padding:12px 14px;border-radius:10px;box-shadow:var(--panel-shadow);border:1px solid var(--border);background:var(--panel-bg)}.report-toast--success{border-color:var(--success-soft-border);background:var(--success-soft-bg);color:var(--success-soft-text)}.report-toast--error{border-color:var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--danger-soft-text)}.report-toast--warning{border-color:#f59e0b;background:#fffbeb;color:#92400e}.report-toast__title{font-weight:800;margin-bottom:4px}.report-toast__body{font-size:.92rem;color:inherit;padding-right:20px}.report-toast__close{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:16px;cursor:pointer;color:inherit}.reports-panel .page-title{margin-bottom:4px}.reports-panel .page-description{margin:0 0 6px;color:var(--muted)}.reports-loading{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--panel-bg);color:var(--muted)}.reports-error{border:1px solid var(--danger-soft-border, #fecaca);background:var(--danger-soft-bg, #fff1f2);color:var(--danger-soft-text, #9f1239);border-radius:12px;padding:12px 14px;font-size:14px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.report-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:linear-gradient(180deg,var(--panel-bg) 0%,var(--control-bg) 100%);box-shadow:var(--panel-shadow),0 10px 22px #0f172a0f;display:flex;flex-direction:column;gap:12px}.report-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border) 72%);background:linear-gradient(120deg,#0ea5e929,#0ea5e90d);color:var(--primary-strong);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;width:fit-content}.report-card h3{margin:0;font-size:20px}.report-text{margin:0;color:var(--muted);line-height:1.45}.report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.report-field{display:flex;flex-direction:column;gap:6px;position:relative}.report-field>span{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.report-field select,.report-field input[type=date],.report-field input[type=text]{border:1px solid var(--control-border);border-radius:10px;background:var(--panel-bg);padding:8px 10px;color:var(--text)}.report-field select[multiple]{min-height:104px;padding:8px}.report-field select:focus,.report-field input[type=date]:focus,.report-field input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.report-search{position:relative}.report-search-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);box-shadow:var(--panel-shadow);max-height:220px;overflow:auto}.report-search-item{width:100%;border:none;background:transparent;padding:8px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.report-search-item:hover{background:var(--control-bg)}.report-search-item--meta{color:var(--muted);cursor:default}.report-search-code{font-weight:700;color:var(--text)}.report-search-label{color:var(--muted);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.report-pending-entry{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:center;margin-top:6px}.report-pending-site-label{grid-column:2;grid-row:1;font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.report-pending-code{grid-column:1;grid-row:2;font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}.report-pending-entry select{grid-column:2;grid-row:2;border:1px solid var(--control-border);border-radius:8px;background:var(--panel-bg);padding:4px 8px;color:var(--text);font-size:13px;width:100%}.report-pending-entry select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.report-add-match{grid-column:3;grid-row:2;align-self:center;border:1px solid var(--control-border);background:var(--panel-bg);color:var(--text);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.report-add-match:hover{background:var(--control-bg)}.report-selected-codes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;max-height:88px;overflow:auto;padding-right:2px}.report-selected-code{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border) 68%);background:linear-gradient(120deg,color-mix(in srgb,var(--focus-ring) 30%,var(--panel-bg) 70%),var(--panel-bg));color:var(--text);border-radius:999px;padding:3px 4px 3px 10px;font-size:12px;line-height:1.2}.report-selected-code__value{font-weight:800;letter-spacing:.02em}.report-selected-code__remove{inline-size:20px;block-size:20px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border) 60%);border-radius:999px;background:var(--panel-bg);color:var(--text);font-size:0;line-height:0;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;padding:0;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.report-selected-code__remove:before,.report-selected-code__remove:after{content:"";position:absolute;left:50%;top:50%;inline-size:10px;block-size:1.6px;border-radius:999px;background:currentColor}.report-selected-code__remove:before{transform:translate(-50%,-50%) rotate(45deg)}.report-selected-code__remove:after{transform:translate(-50%,-50%) rotate(-45deg)}.report-selected-code__remove:hover{border-color:var(--primary);background:color-mix(in srgb,var(--focus-ring) 38%,var(--panel-bg) 62%);color:var(--primary-strong);transform:scale(1.04)}.report-selected-code__remove:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.report-field--wide{grid-column:1 / -1}.report-field--checkbox{justify-content:flex-start}.report-field--checkbox .report-check-row{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;min-height:38px;padding:8px 10px;border:1px solid var(--control-border);border-radius:10px;background:var(--panel-bg);-webkit-user-select:none;user-select:none}.report-field--checkbox .report-check-row:has(input:focus-visible){outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.report-field--checkbox input[type=checkbox]{inline-size:15px;block-size:15px;flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.report-check{grid-column:1 / -1;display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:600}.report-check input[type=checkbox]{inline-size:16px;block-size:16px}.report-actions{display:flex;justify-content:flex-end}.report-actions .btn{min-width:130px;font-weight:700}.report-actions .btn:disabled{cursor:not-allowed;opacity:.65;background:var(--control-disabled-bg);border-color:var(--control-border);color:var(--muted)}.report-notice{border:1px solid var(--border);background:var(--control-bg);border-radius:10px;padding:8px 10px;color:var(--muted);font-size:13px}.report-search-help{font-size:12px;color:var(--muted);margin-top:2px}.report-search-help--total{color:var(--text);font-weight:600}.report-site-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--control-border);border-radius:10px;background:var(--panel-bg);padding:8px 10px;color:var(--text);font-size:14px;text-align:left;cursor:pointer}.report-site-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.report-site-trigger__chevron{font-size:10px;color:var(--muted);flex-shrink:0}.report-site-dropdown{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);box-shadow:var(--panel-shadow);max-height:220px;overflow-y:auto;padding:4px}.report-site-check{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);width:100%}.report-site-check:hover{background:var(--control-bg)}.report-site-check input[type=checkbox]{inline-size:15px;block-size:15px;flex-shrink:0;cursor:pointer}@media(max-width:640px){.reports-grid{grid-template-columns:1fr}.report-card{padding:14px}.report-fields{grid-template-columns:1fr}.report-actions{justify-content:stretch}.report-actions .btn{width:100%}}.imports-panel{display:flex;flex-direction:column;gap:16px;max-width:1100px}.imports-panel .page-title{margin-bottom:4px}.imports-panel .page-description{margin:0 0 6px;color:var(--muted)}.imports-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}.imports-card{border:1px solid var(--border);border-radius:14px;padding:20px 22px;background:linear-gradient(180deg,var(--panel-bg) 0%,var(--control-bg) 100%);box-shadow:var(--panel-shadow),0 10px 22px #0f172a0f;display:flex;flex-direction:column;gap:16px}.imports-card--disabled{opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.imports-step-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border) 72%);background:linear-gradient(120deg,#0ea5e929,#0ea5e90d);color:var(--primary-strong);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;width:fit-content}.imports-card-title{margin:0;font-size:17px;font-weight:700;color:var(--text);line-height:1.2}.imports-card-header{display:flex;flex-direction:column;gap:6px}.imports-select{width:100%;border:1px solid var(--control-border);border-radius:10px;background:var(--panel-bg);padding:9px 10px;color:var(--text);font-size:14px;appearance:auto}.imports-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.imports-loading{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--control-bg);color:var(--muted);font-size:13px}.imports-inline-error{padding:10px 12px;border:1px solid var(--danger-soft-border, #fecaca);background:var(--danger-soft-bg, #fff1f2);color:var(--danger-soft-text, #9f1239);border-radius:10px;font-size:13px}.imports-fields-scroll{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.imports-fields-table{width:100%;border-collapse:collapse;font-size:13px}.imports-fields-table thead{position:sticky;top:0;z-index:1}.imports-fields-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--control-bg);border-bottom:1px solid var(--border);white-space:nowrap}.imports-fields-table th:last-child{text-align:center}.imports-fields-table td{padding:7px 12px;vertical-align:middle;border-bottom:1px solid var(--border)}.imports-fields-table tbody tr:last-child td{border-bottom:none}.imports-fields-table tbody tr:hover td{background:var(--control-hover-bg)}.imports-field-name{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:var(--text);font-weight:600}.imports-field-fk-hint{display:block;font-size:10px;color:var(--muted);font-family:inherit;margin-top:1px;font-weight:400}.imports-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--pill-bg, #f3f4f6);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.imports-required-yes{display:block;text-align:center;color:var(--danger-solid, #dc2626);font-weight:700;font-size:14px}.imports-required-no{display:block;text-align:center;color:var(--muted);font-size:13px}.imports-btn{width:100%;padding:11px 16px;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;background:var(--action, #0f172a);color:var(--on-action, #f8fafc);transition:background .14s ease,opacity .14s ease;letter-spacing:.01em}.imports-btn:hover:not(:disabled){background:var(--action-strong, #111f3a)}.imports-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.imports-btn:disabled{opacity:.45;cursor:not-allowed}.imports-dropzone{border:2px dashed var(--control-border);border-radius:12px;padding:36px 20px;text-align:center;cursor:pointer;background:var(--control-bg);transition:border-color .15s ease,background .15s ease;display:flex;flex-direction:column;align-items:center;gap:6px}.imports-dropzone:hover{border-color:var(--primary);background:color-mix(in srgb,var(--focus-ring) 22%,var(--panel-bg) 78%)}.imports-dropzone--dragging{border-color:var(--primary);background:color-mix(in srgb,var(--focus-ring) 38%,var(--panel-bg) 62%);border-style:solid}.imports-dropzone--has-file{border-style:solid;border-color:var(--success-strong, #16a34a);background:var(--success-soft-bg, #e9f9ef)}.imports-dropzone__icon{font-size:32px;line-height:1}.imports-dropzone__title{font-size:14px;font-weight:600;color:var(--text)}.imports-dropzone__hint{font-size:12px;color:var(--muted)}.imports-dropzone__filename{font-size:14px;font-weight:700;color:var(--text)}.imports-dropzone__meta{font-size:12px;color:var(--muted)}.imports-result{border-radius:12px;border:1px solid var(--border);overflow:hidden}.imports-result--success{border-color:var(--success-soft-border, rgba(52, 211, 153, .55));background:var(--success-soft-bg, #e9f9ef)}.imports-result--error{border-color:var(--danger-soft-border, rgba(252, 165, 165, .55));background:var(--danger-soft-bg, #fff1f2)}.imports-result__header{display:flex;align-items:flex-start;gap:10px;padding:14px 16px}.imports-result__icon{font-size:18px;flex-shrink:0;line-height:1.4}.imports-result__message{font-size:14px;font-weight:700;line-height:1.45}.imports-result--success .imports-result__message{color:var(--success-soft-text, #166534)}.imports-result--error .imports-result__message{color:var(--danger-soft-text, #b91c1c)}.imports-result__errors{max-height:360px;overflow-y:auto;padding:0 12px 14px;display:flex;flex-direction:column;gap:6px}.imports-result__row-error{background:var(--panel-bg);border:1px solid var(--danger-soft-border, #fecaca);border-radius:8px;padding:10px 12px;font-size:13px}.imports-result__row-label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--danger-soft-text, #b91c1c);margin:0 0 6px}.imports-result__field-error{color:var(--danger-soft-text, #b91c1c);line-height:1.55}.imports-result__field-error code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--danger-solid, #dc2626) 10%,var(--panel-bg) 90%);padding:1px 5px;border-radius:4px}.imports-result__error-summary{padding:0 16px 12px;font-size:12px;color:var(--danger-soft-text, #b91c1c);font-weight:600}:root[data-theme=dark] .imports-fields-table th{background:var(--control-bg)}:root[data-theme=dark] .imports-type-badge{background:var(--control-bg)}:root[data-theme=dark] .imports-result__row-error{background:var(--panel-bg)}@media(max-width:800px){.imports-layout{grid-template-columns:1fr}.imports-card{padding:16px 18px}.imports-dropzone{padding:28px 16px}}@media(max-width:480px){.imports-card{padding:14px;border-radius:12px}}.dashboard-page{overflow-y:auto!important;display:block;min-height:100vh;background:var(--bg);padding-bottom:120px}.dashboard-shell{background:var(--bg);color:var(--text);min-height:100vh;padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:none;--grid-color: var(--control-border);--metric-good-bg: var(--success-strong);--metric-good-text: var(--on-success-strong);--metric-bad-bg: var(--danger-soft-bg);--metric-bad-text: var(--danger-soft-text)}.dashboard-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.dashboard-header-simple{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.dashboard-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;overflow-x:auto}.btn,.btn.ghost{box-shadow:0 1px 2px #00000014}.btn{background:var(--primary);border:1px solid var(--primary);color:#fff}.btn:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.btn.ghost{background:var(--control-bg);border:1px solid var(--control-border);color:var(--action)}.btn.ghost:hover{border-color:var(--primary);color:var(--primary-strong);background:var(--control-hover-bg)}.dashboard-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--panel-shadow);padding:16px;overflow:visible}body{overflow-y:auto!important}.loading-strip{padding:10px 12px;color:var(--text);font-weight:700;background:var(--pill-bg);border:1px solid var(--border);border-radius:10px}.loading-strip.below{margin-top:10px}.loading-overlay{margin-top:16px;padding:16px;border:1px dashed var(--border);border-radius:12px;text-align:center;font-weight:700;color:var(--text);background:var(--panel-bg)}.loading-overlay:after{content:"";display:inline-block;margin-left:8px;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.section-loader{padding:12px 14px;border-radius:10px;background:#0ea5e914;border:1px solid rgba(14,165,233,.25);color:var(--text);font-weight:700}.error-box{padding:10px 12px;border-radius:10px;border:1px solid var(--danger-soft-border);background:var(--danger-soft-bg);color:var(--danger-soft-text)}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.filters-card{padding:16px}.filters-row{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;width:100%}.filters-row .field{min-width:230px;flex:1 1 0}.filters-row .inline-action{flex:0 0 180px}.date-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px}.date-row .field{min-width:180px}.refresh-field{display:flex;align-items:flex-end}.refresh-btn{width:100%;background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:.95rem}.refresh-btn .refresh-icon{width:16px;height:16px;filter:brightness(0) invert(1)}.refresh-btn.spinning{position:relative}.refresh-btn.spinning:after{content:"";position:absolute;right:14px;width:16px;height:16px;border:2px solid rgba(255,255,255,.65);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.refresh-btn:disabled{opacity:.8;cursor:wait}@keyframes spin{to{transform:rotate(360deg)}}.refresh-btn:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.chart-title{text-align:center;font-weight:700;margin-bottom:8px}.metric-good{color:var(--metric-good-text);font-weight:700;background:var(--metric-good-bg);padding:4px 6px;border-radius:6px}.metric-bad{color:var(--metric-bad-text);font-weight:700;background:var(--metric-bad-bg);padding:4px 6px;border-radius:6px}:root[data-theme=dark] .dashboard-shell,.dark .dashboard-shell{--grid-color: rgba(148, 163, 184, .25);--metric-good-bg: #15803d;--metric-good-text: #e8ffe8;--metric-bad-bg: #7f1d1d;--metric-bad-text: #ffe4e4}.multiselect{position:relative;border:1px solid var(--control-border);border-radius:8px;padding:8px 34px 8px 10px;background:var(--control-bg);cursor:pointer}.multiselect-display{font-size:14px;color:var(--text)}.multiselect-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--panel-shadow);max-height:220px;overflow:auto;z-index:10}.multiselect-option{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer}.multiselect-chevron{position:absolute;right:12px;top:50%;width:14px;height:14px;display:inline-block;transform:translateY(-50%);font-size:0;color:transparent;pointer-events:none}.multiselect-chevron:before{content:"";position:absolute;left:50%;top:45%;width:6px;height:6px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:translate(-50%,-50%) rotate(45deg)}.trend-chart{width:100%;height:260px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field select,.field input[type=date]{border-radius:10px;border:1px solid var(--control-border);padding:9px 10px;background:var(--control-bg);color:var(--text);font-size:14px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.select-with-chevron{position:relative}.select-with-chevron select{width:100%;background-image:none;padding-right:34px}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--muted);margin-bottom:4px}.page-title{margin:0;font-size:28px;font-weight:800;color:var(--text)}.page-description{margin:6px 0 8px;color:var(--muted)}.range-label{font-weight:700;color:var(--text)}.range-line{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 0}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--info-soft-bg);color:var(--info-soft-text);font-weight:600;font-size:13px}.diesel-summary-table-wrap{width:100%;overflow-x:auto}.diesel-summary-table{width:100%;border-collapse:collapse;min-width:860px}.diesel-summary-table th,.diesel-summary-table td{border:1px solid var(--border);padding:10px 12px;text-align:right;background:var(--panel-bg)}.diesel-summary-table th:first-child,.diesel-summary-table td:first-child{text-align:left}.diesel-summary-table thead th{font-weight:800;background:var(--control-bg)}.diesel-summary-table .diesel-total-row td{font-weight:800;background:color-mix(in srgb,var(--control-bg) 82%,var(--panel-bg) 18%)}.pill.subtle{background:#94a3b833;color:var(--muted)}.muted{color:var(--muted);margin:0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.card-title{margin:0;font-size:18px;font-weight:700}.total-row td{background:#94a3b824;font-weight:700}.metric-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px}.metric-pill--good{background:var(--success-soft-bg);color:var(--success-soft-text)}.metric-pill--bad{background:var(--danger-soft-bg);color:var(--danger-soft-text)}.metric-pill-target{color:var(--muted);font-weight:600}.availability-chart{width:100%;height:240px;background:linear-gradient(180deg,rgba(148,163,184,.08),transparent);border:1px solid var(--border);border-radius:12px;padding:10px}.empty-state{padding:14px;color:var(--muted)}.availability-chart svg{width:100%;height:100%}.chart-legend{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block;background:var(--muted)}.legend-dot.primary{background:var(--primary)}.legend-line{width:24px;height:2px;display:inline-block;background:var(--muted)}.legend-line.red{background:var(--danger-solid)}.ps-map-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px 18px;margin-top:14px}.ps-table-wrap{margin-top:0}.performance-summary-table{width:max-content;min-width:100%;table-layout:auto}.performance-summary-table td.ps-site-cell{font-weight:700;text-align:center}.performance-summary-table td.ps-category-cell{font-weight:700}.performance-summary-table td.ps-empty-cell{color:transparent}.performance-summary-table td.ps-merged-production-cell{background:#94a3b824}.performance-summary-table td.metric-good{background:var(--metric-good-bg);color:var(--metric-good-text);font-weight:700}.performance-summary-table td.metric-bad{background:var(--metric-bad-bg);color:var(--metric-bad-text);font-weight:700}@media(max-width:960px){.dashboard-header{flex-direction:column}.dashboard-actions{justify-content:flex-start}.ps-map-grid{grid-template-columns:1fr}}.dashboard-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 0 8px;background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--panel-shadow)}.dash-left{display:inline-flex;align-items:center;gap:10px;position:relative}.dash-title{font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-switch-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer}.dash-chevron{position:relative;width:14px;height:14px;display:inline-block;flex:0 0 14px;font-size:0;color:transparent}.dash-chevron:before{content:"";position:absolute;left:50%;top:45%;width:6px;height:6px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:translate(-50%,-50%) rotate(45deg)}.dash-switch-trigger:hover{border-color:var(--primary);background:var(--control-hover-bg)}.dash-switch-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--panel-shadow);padding:6px;display:flex;flex-direction:column;gap:4px}.dash-switch-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--text);text-align:left}.dash-switch-item:hover{background:var(--control-hover-bg)}.dash-switch-item.active{background:var(--dt-highlight);border:1px solid var(--control-border)}.dash-switch-pill{background:var(--pill-bg);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.dash-actions-row{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-actions-row .btn,.dash-actions-row .btn.ghost{min-width:110px}@media(max-width:860px){.dashboard-topbar{position:static;flex-direction:column;align-items:stretch;gap:10px}.dash-actions-row{width:100%;justify-content:flex-start}}.app-message-stack{position:fixed;top:16px;right:16px;z-index:999;width:min(420px,calc(100vw - 24px));pointer-events:none}.app-message{border-radius:12px;border:1px solid var(--border);padding:14px}.app-message-toast{position:relative;box-shadow:var(--panel-shadow);pointer-events:auto}.app-message--success{background:var(--success-soft-bg);border-color:var(--success-soft-border);color:var(--success-soft-text)}.app-message--error{background:var(--danger-soft-bg);border-color:var(--danger-soft-border);color:var(--danger-soft-text)}.app-message--warning{background:var(--warning-soft-bg);border-color:var(--warning-soft-border);color:var(--warning-soft-text)}.app-message--info{background:color-mix(in srgb,var(--control-bg) 86%,var(--primary) 14%);border-color:var(--control-border);color:var(--text)}.app-message__body{margin:0;font-size:.95rem;line-height:1.45;font-weight:600}.app-message__details{margin:10px 0 0;font-size:.88rem;line-height:1.45;color:var(--muted)}.app-message-toast__title{margin:0 28px 8px 0;font-size:.92rem;font-weight:800}.app-message-toast__close{position:absolute;top:8px;right:8px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);font-size:1rem;font-weight:800;width:26px;height:26px;padding:0;line-height:1;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.app-message-toast__close:hover{background:var(--control-hover-bg)}.app-message--error .app-message-toast__close{border-color:#dc2626;background:#dc2626;color:#fff}.app-message--error .app-message-toast__close:hover{border-color:#b91c1c;background:#b91c1c}.app-message--success .app-message-toast__close{border-color:#16a34a;background:#16a34a;color:#fff}.app-message--success .app-message-toast__close:hover{border-color:#15803d;background:#15803d}.app-message__actions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.app-message-btn{border-radius:10px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text);padding:9px 14px;font-size:.9rem;font-weight:700;cursor:pointer}.app-message-btn:hover{background:var(--control-hover-bg)}.app-message-btn--primary{border-color:var(--action);background:var(--action);color:var(--on-action)}.app-message-btn--primary:hover{background:var(--action-strong);border-color:var(--action-strong)}
