@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@layer components;@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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@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-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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 utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-header-group{display:table-header-group}.border-collapse{border-collapse:collapse}.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}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,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))}}:root{--background:#f9fafb;--foreground:#1f2c3d;--card:#fff;--muted:#f3f5f7;--muted-foreground:#65758b;--border:#e0e5eb;--brand-50:#eef3f8;--brand-100:#d5e3f0;--brand-400:#347cb7;--brand-600:#1d3a5d;--brand-700:#16304d;--brand-900:#0e2038;--sidebar-bg:#1d3a5d;--sidebar-fg:#e2ebf3;--sidebar-active:#2a496f;--status-ok:#36a162;--status-ok-bg:#e7f5ec;--status-warn:#e88c30;--status-warn-bg:#fdf0e0;--status-bad:#e24b40;--status-bad-bg:#fce9e7;--status-trend:#7c3aed;--status-trend-bg:#f1eaff;--status-idle:#65758b;--chart-1:#2e86c1;--chart-2:#e74c3c;--chart-3:#27ae60;--chart-4:#7c3aed;--chart-grid:#e0e5eb;--chart-ref:#e74c3c;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--font-display:"Inter", ui-sans-serif, system-ui, sans-serif;--page-gradient:#f9fafb;--shadow-card:0 1px 2px #0000000d;--shadow-card-hover:0 4px 14px -4px #10223a1f;--shadow-pop:0 12px 30px -12px #0f1e3738;color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);background:#fff}textarea{resize:vertical;width:100%;padding:10px 12px}input,select,textarea{transition:border-color .15s,box-shadow .15s,background .15s}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--brand-400) 40%, var(--border))}}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-400);outline:none}@supports (color:color-mix(in lab, red, red)){input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-400) 18%, transparent)}}input::placeholder,textarea::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted-foreground) 72%, transparent)}}button:focus-visible,a:focus-visible{outline:3px solid var(--brand-600)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-600) 45%, transparent)}}button:focus-visible,a:focus-visible{outline-offset:3px}#root{min-height:100vh}.tnum{font-variant-numeric:tabular-nums}.app-shell{--sidebar-w:224px;--sidebar-w-collapsed:72px;--topbar-h:56px;background:var(--page-gradient);flex-direction:column;height:100vh;min-height:100vh;max-height:100dvh;display:flex;overflow:hidden}.app-shell.sidebar-collapsed{--sidebar-w:var(--sidebar-w-collapsed)}.shell-backdrop{display:none}.topbar{z-index:40;min-height:var(--topbar-h);height:var(--topbar-h);border-bottom:1px solid var(--border);background:#fff;flex-wrap:nowrap;flex:none;justify-content:space-between;align-items:center;gap:12px 16px;padding:0 24px;transition:height .2s,min-height .2s;display:flex;position:sticky;top:0}.topbar-left{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.topbar-brand{min-width:0;color:var(--foreground);align-items:center;gap:8px;display:flex}.topbar-brand-logo{flex:none;width:auto;max-width:100%;height:34px}@media (width<=640px){.topbar-brand-logo{height:26px}}.topbar-right{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:16px;min-width:0;margin-left:auto;display:flex}.topbar-user{min-width:0;color:var(--muted-foreground);flex-wrap:nowrap;align-items:center;gap:6px 8px;font-size:.9rem;display:flex}.topbar-user-label{white-space:nowrap;flex:none}.topbar-user-name{color:var(--foreground);white-space:nowrap;font-size:.875rem;font-weight:700}.topbar-logout-label{white-space:nowrap}.topbar .topbar-logout{min-height:auto;color:var(--muted-foreground);background:0 0;border:0;padding:0;font-size:.875rem;font-weight:400}.topbar .topbar-logout:hover{color:var(--status-bad);background:0 0;border:0}@media (width<=640px){.topbar{padding:0 24px}.topbar-brand-text span{display:none}}@media (width<=400px){.topbar-logout-label{display:none}}.shell-menu-toggle{display:none}@media (width<=800px){.app-shell.layout-side .shell-menu-toggle{flex:none;display:inline-flex}.app-shell.layout-side .sidebar{top:var(--topbar-h);z-index:50;width:min(280px,86vw);height:auto;transition:transform .2s;position:fixed;bottom:0;left:0;transform:translate(-100%)}.app-shell.layout-side.mobile-nav-open .sidebar{transform:translate(0)}.app-shell.layout-side.mobile-nav-open .shell-backdrop{inset:var(--topbar-h) 0 0;z-index:45;background:#0f172a73;border:0;display:block;position:fixed}}.badge-active,.role-badge.badge-active{letter-spacing:0;text-transform:capitalize;color:var(--brand-400);background:var(--brand-400);border-radius:9999px;flex:none;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.badge-active,.role-badge.badge-active{background:color-mix(in srgb, var(--brand-400) 10%, white)}}.badge-active,.role-badge.badge-active{white-space:nowrap;border:0}.brand-mark{letter-spacing:0;color:var(--brand-900);align-items:center;gap:10px;font-weight:800;display:inline-flex}.shell-body{flex:1;align-items:stretch;min-width:0;min-height:0;display:flex;overflow:hidden}.sidebar{z-index:30;flex-direction:column;flex:0 0 var(--sidebar-w);width:var(--sidebar-w);background:var(--sidebar-bg,#1d3a5d);border-right:none;gap:8px;height:100%;max-height:100%;padding:16px 0 12px;transition:width .2s,flex-basis .2s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-nav{overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;padding:0 0 8px;display:flex;overflow-y:auto}.sidebar .nav-link{color:#e2ebf3cc;border-radius:0;align-items:center;gap:12px;min-height:40px;padding:10px 16px;font-size:.875rem;font-weight:400;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar .nav-link:hover{color:#fff;background:#ffffff14}.sidebar .nav-link[aria-current=page],.sidebar .nav-link.active{color:#fff;background:var(--sidebar-active,#2a496f);box-shadow:none;font-weight:500}.sidebar .nav-link svg{flex:none}.sidebar-collapse{color:#ffffffb3;width:100%;min-height:40px;font:inherit;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff26;border-radius:0;justify-content:center;align-items:center;margin-top:auto;padding:12px;font-weight:500;display:inline-flex}.sidebar-collapse:hover{color:#fff;background:#ffffff14}.app-shell.sidebar-collapsed .nav-link-label{display:none}.app-shell.sidebar-collapsed .sidebar .nav-link,.app-shell.sidebar-collapsed .sidebar-collapse{justify-content:center;padding-left:0;padding-right:0}.sidebar-buildings{border-top:1px solid #ffffff1f;flex-direction:column;gap:4px;min-height:0;margin-top:12px;padding-top:12px;display:flex}.sidebar-section-label{color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;padding:6px 16px 8px;font-size:.7rem;font-weight:700;display:flex}.sidebar-section-label svg{opacity:.85;flex:none}.sidebar-building-list{overscroll-behavior:contain;flex-direction:column;gap:1px;max-height:min(40vh,280px);display:flex;overflow-y:auto}.sidebar-building-link{gap:10px!important;padding-left:18px!important;font-size:.82rem!important}.sidebar-building-dot{background:#4ade80;border-radius:999px;flex:none;width:8px;height:8px}.sidebar-building-dot.flagged{background:#fbbf24}.sidebar-building-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-buildings-empty{color:#ffffff73;margin:0;padding:6px 16px 10px;font-size:.78rem}.app-shell.sidebar-collapsed .sidebar-section-label{justify-content:center;padding-left:0;padding-right:0}.app-shell.sidebar-collapsed .sidebar-building-link{justify-content:center;padding-left:0!important;padding-right:0!important}.app-shell.sidebar-collapsed .sidebar-building-name,.app-shell.sidebar-collapsed .sidebar-buildings-empty{display:none}.app-shell.layout-top .shell-body{display:block}.app-shell.layout-top .main-content{width:100%;margin:0}.main-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;width:100%;min-width:0;min-height:0;margin:0;padding:24px;overflow:auto}.app-shell.layout-side .main-content{flex:1;width:auto;max-width:none}.tech-submit-page .table .compact-input{width:100%;min-width:4.5rem;max-width:7rem}.tech-submit-page .table th,.tech-submit-page .table td{white-space:nowrap}.tech-submit-page .table-card .responsive-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.topnav{border-bottom:1px solid var(--border);overscroll-behavior-x:contain;background:#fff;flex-wrap:nowrap;align-items:stretch;gap:4px;height:47px;margin:-24px -24px 24px;padding:0 24px;display:flex;overflow-x:auto}.topnav .nav-link{color:#65758b;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;height:100%;padding:12px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.topnav .nav-link:hover{color:var(--foreground);background:0 0}.topnav .nav-link[aria-current=page],.topnav .nav-link.active{color:#347cb7;box-shadow:none;background:0 0;border-bottom-color:#347cb7}.shell-grid{display:contents}.page-kicker{color:var(--muted-foreground);margin:0 0 6px;font-size:.9rem}.page-head{margin-bottom:8px}.page-sub{color:var(--muted-foreground);margin:8px 0 0;font-size:.98rem}.breadcrumb{color:var(--muted-foreground);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:.78rem;font-weight:800;display:flex}.breadcrumb span+span:before{content:"/";color:var(--muted-foreground);margin-right:8px}@supports (color:color-mix(in lab, red, red)){.breadcrumb span+span:before{color:color-mix(in srgb, var(--muted-foreground) 55%, transparent)}}.page-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.9rem;font-weight:700;line-height:1.15}.section-title{font-family:var(--font-display);margin:0 0 14px;font-size:1.02rem;font-weight:600}.card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-card);transition:box-shadow .18s,border-color .18s}a.card:hover,button.card:hover,.card.interactive:hover{box-shadow:var(--shadow-card-hover);border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){a.card:hover,button.card:hover,.card.interactive:hover{border-color:color-mix(in srgb, var(--brand-400) 32%, var(--border))}}.icon-badge{width:40px;height:40px;color:var(--brand-400);background:var(--brand-400);border-radius:8px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.icon-badge{background:color-mix(in srgb, var(--brand-400) 10%, white)}}.icon-badge{box-shadow:none;flex:none}.icon-badge.sm{border-radius:8px;width:40px;height:40px}.icon-badge.ok{color:var(--status-ok);background:var(--status-ok-bg)}.icon-badge.warn{color:var(--status-warn);background:var(--status-warn-bg)}.icon-badge.bad{color:var(--status-bad);background:var(--status-bad-bg)}.icon-badge.trend{color:var(--status-trend);background:var(--status-trend-bg)}.grad-num{font-family:var(--font-display);color:var(--foreground);font-weight:700}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.stat-card{border-radius:var(--radius-sm);padding:20px}.stat-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.stat-card-button{width:100%;color:inherit;text-align:left;cursor:pointer;appearance:none}.stat-card-button:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.stat-card-button:focus-visible{box-shadow:var(--shadow-card), 0 0 0 3px var(--brand-400);outline:none}@supports (color:color-mix(in lab, red, red)){.stat-card-button:focus-visible{box-shadow:var(--shadow-card), 0 0 0 3px color-mix(in srgb, var(--brand-400) 28%, transparent)}}.stat-label{color:var(--muted-foreground);margin:0;font-size:.875rem;font-weight:500}.stat-value{font-family:var(--font-display);letter-spacing:-.01em;color:var(--foreground);margin:0;font-size:1.5rem;font-weight:700;line-height:2rem}.status-pill,.trend-chip{width:max-content;box-shadow:none;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.status-ok{color:#15803d;background:#dcfce7}.status-warn{color:#c2410c;background:#ffedd5}.status-bad{color:#b91c1c;background:#fee2e2}.status-pill.solid{gap:0}.status-pill.solid.status-ok{color:#fff;background:var(--status-ok)}.status-pill.solid.status-warn{color:#fff;background:var(--status-warn)}.status-pill.solid.status-bad{color:#fff;background:var(--status-bad)}.lifecycle-chip{white-space:nowrap;border-radius:9999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.lifecycle-draft{color:#4b5563;background:#f3f4f6}.lifecycle-pending{color:#c2410c;background:#ffedd5}.lifecycle-finalized,.lifecycle-published{color:#15803d;background:#dcfce7}.lifecycle-sent-back{color:#dc2626;background:#fee2e2}.link-action{color:var(--brand-400);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.875rem;font-weight:500}.link-action:hover{color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.link-action:hover{color:color-mix(in srgb, var(--brand-400) 80%, black)}}.report-id-link{color:var(--brand-400);font-weight:600}.status-trend{color:var(--status-trend);background:var(--status-trend-bg)}.status-idle{color:var(--status-idle);background:var(--muted)}.trend-chip{color:var(--status-trend);background:var(--status-trend-bg)}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 16px}.table th{letter-spacing:0;text-transform:none;color:var(--muted-foreground);background:var(--muted);font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.table th{background:color-mix(in srgb, var(--muted) 50%, transparent)}}.table th{border-bottom:1px solid var(--border)}.table th:first-child{border-top-left-radius:8px;padding-left:16px}.table th:last-child{border-top-right-radius:8px;padding-right:16px}.table td{color:var(--foreground)}.table td:first-child{padding-left:16px}.table tbody tr:nth-child(2n){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--muted) 20%, transparent)}}.table tbody tr:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.table tbody tr:hover{background:color-mix(in srgb, var(--muted) 30%, transparent)}}.table td .mono,.table a,.table .linkish{color:var(--brand-400)}.table td:last-child{padding-right:16px}.table tbody tr:last-child td{border-bottom:0}.button{border-radius:var(--radius-sm);color:#fff;background:var(--brand-400,#347cb7);min-height:32px;box-shadow:none;border:0;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-size:.875rem;font-weight:500;transition:background .14s,filter .14s;display:inline-flex}.button:hover{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.button:hover{background:color-mix(in srgb, var(--brand-400) 88%, black)}}.button:active{filter:brightness(.96)}.button.review{background:#f97316}.button.review:hover{background:#ea6a0e}.button.success,.button.success:hover{background:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.button.success:hover{background:color-mix(in srgb, var(--status-ok) 88%, black)}}.button.secondary{color:var(--foreground);background:var(--card);box-shadow:inset 0 0 0 1px var(--border)}.button.secondary:hover{filter:none;background:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}.button.full-width{width:100%}.landing{grid-template-columns:minmax(0,1fr) minmax(360px,480px);min-height:100vh;display:grid}.landing-hero{color:#fff;background:linear-gradient(135deg,#0e2038f0,#1d3a5de6),radial-gradient(circle at 35% 30%,#347cb780,#0000 32%);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,60px);display:flex}.landing-hero h1{letter-spacing:0;max-width:760px;margin:28px 0 18px;font-size:clamp(2.8rem,7vw,6.2rem);line-height:.95}.landing-hero p{color:#ffffffd1;max-width:680px;font-size:1.1rem}.login-panel{background:var(--card);flex-direction:column;justify-content:center;padding:clamp(22px,4vw,44px);display:flex}.role-list{gap:12px;margin-top:28px;display:grid}.role-card{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:74px;color:var(--foreground);background:var(--card);text-align:left;align-items:center;gap:14px;padding:14px;display:flex}.role-card:hover:not(:disabled){border-color:var(--brand-600);background:var(--brand-50)}.auth-form{gap:14px;margin-top:24px;display:grid}.auth-form .button{justify-content:center;margin-top:4px}.auth-error{border-radius:var(--radius-sm);color:var(--status-bad);background:var(--status-bad-bg);margin:0;padding:10px 12px;font-size:.88rem;font-weight:600}.auth-notice{border-radius:var(--radius-sm);color:var(--status-ok);background:var(--status-ok-bg);margin:0;padding:10px 12px;font-size:.88rem;font-weight:600}.link-button{color:var(--brand-400);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 2px;font-size:.86rem;font-weight:600}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default}.auth-divider{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;margin:26px 0 4px;font-size:.76rem;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-splash{background:var(--page-gradient);place-items:center;gap:16px;min-height:100vh;display:grid}.auth-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:20px;height:20px;animation:.7s linear infinite auth-spin;display:block}@keyframes auth-spin{to{transform:rotate(360deg)}}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.content-grid>*{min-width:0}.panel{padding:18px}.stack{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.stack>*{min-width:0}.due-card{gap:10px;padding:16px 16px 16px 20px;display:grid;position:relative;overflow:hidden}.due-card:before{content:"";background:var(--brand-600);width:4px;position:absolute;inset:0 auto 0 0}.due-card.warn:before{background:var(--status-warn)}.due-card strong{font-family:var(--font-display);font-size:1.02rem;font-weight:600}.reading-groups{gap:18px;display:grid}.reading-station-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);overflow:hidden}.reading-station-head{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:13px 16px;display:flex}.reading-station-icon{width:34px;height:34px;color:var(--brand-400);background:var(--brand-400);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.reading-station-icon{background:color-mix(in srgb, var(--brand-400) 12%, white)}}.reading-station-head strong{font-size:15px;font-weight:700}table.reading-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}table.reading-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);text-align:left;background:var(--background);padding:10px 16px;font-size:10.5px;font-weight:700}@supports (color:color-mix(in lab, red, red)){table.reading-table th{background:color-mix(in srgb, var(--background) 60%, white)}}table.reading-table th{border-bottom:1px solid var(--border)}.table-empty{color:var(--muted-foreground);text-align:center;background:var(--background);padding:18px 20px;font-size:13px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.table-empty{background:color-mix(in srgb, var(--background) 55%, white)}}table.reading-table th.col-status,table.reading-table td.col-status{text-align:center}table.reading-table td{border-bottom:1px solid var(--border);padding:12px 16px}@supports (color:color-mix(in lab, red, red)){table.reading-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, white)}}table.reading-table td{vertical-align:middle}table.reading-table tr:last-child td{border-bottom:none}.reading-table .col-param strong{font-weight:700}.reading-table .col-param .page-kicker{margin-top:2px}.reading-table .col-reading .input-with-unit{max-width:150px}.reading-table .col-reading select{max-width:170px}.reading-table .col-reading .trend-chip{margin-top:7px}.reading-table .col-range{min-width:220px}.reading-table .range-text{color:var(--muted-foreground);font-size:12.5px}.reading-row.status-row-warn>td{background:var(--status-warn-bg)}@supports (color:color-mix(in lab, red, red)){.reading-row.status-row-warn>td{background:color-mix(in srgb, var(--status-warn-bg) 30%, white)}}.reading-row.status-row-bad>td{background:var(--status-bad-bg)}@supports (color:color-mix(in lab, red, red)){.reading-row.status-row-bad>td{background:color-mix(in srgb, var(--status-bad-bg) 30%, white)}}.reading-row.status-row-warn>td:first-child{box-shadow:inset 3px 0 0 var(--status-warn)}.reading-row.status-row-bad>td:first-child{box-shadow:inset 3px 0 0 var(--status-bad)}.reading-note-row>td{background:var(--status-bad-bg)}@supports (color:color-mix(in lab, red, red)){.reading-note-row>td{background:color-mix(in srgb, var(--status-bad-bg) 22%, white)}}.reading-note-row>td{padding-top:0}.reading-note-row .field-stack{max-width:520px}.status-dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.status-dot.status-ok{background:var(--status-ok)}.status-dot.status-warn{background:var(--status-warn)}.status-dot.status-bad{background:var(--status-bad)}.range-gauge{gap:4px;max-width:260px;display:grid}.range-gauge-caption{color:var(--muted-foreground);text-align:center;font-size:11.5px;font-weight:600}.range-gauge-track{background:linear-gradient(90deg, var(--status-bad) 0 7%, var(--status-warn) 7% 18%, var(--status-ok) 18% 82%, var(--status-warn) 82% 93%, var(--status-bad) 93% 100%);border-radius:999px;height:8px;position:relative}.range-gauge-mark{background:var(--card);border:3px solid var(--foreground);border-radius:50%;width:15px;height:15px;transition:left .3s;position:absolute;top:50%;transform:translate(-50%,-50%)}.range-gauge-bounds{color:var(--muted-foreground);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:10.5px;display:flex}.history-popover.inline{margin-top:8px}.history-popover.inline summary{font-size:12px}@media (width<=720px){.reading-table,.reading-table thead,.reading-table tbody,.reading-table tr,.reading-table td{width:100%;display:block}.reading-table thead{display:none}.reading-row{border-bottom:6px solid var(--background);position:relative}.reading-table .reading-row>td{border-bottom:none;padding:6px 16px}.reading-table .reading-row>td.col-param{padding-top:14px}.reading-table .reading-row>td.col-status{text-align:left;padding-bottom:14px}.reading-row.status-row-warn>td:first-child,.reading-row.status-row-bad>td:first-child{box-shadow:none}.reading-row.status-row-warn{box-shadow:inset 4px 0 0 var(--status-warn)}.reading-row.status-row-bad{box-shadow:inset 4px 0 0 var(--status-bad)}.range-gauge{max-width:none}}.reading-topline,.section-heading,.button-row,.visit-summary,.report-footer{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading{margin-bottom:14px}.button-row{flex-wrap:wrap;justify-content:flex-start}.compact-action{min-height:32px;padding-inline:10px;font-size:.78rem}.report-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-returned-callout{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-returned-callout p{margin:4px 0 0}.report-returned-callout .button{flex:none}@media (width<=640px){.report-returned-callout{flex-direction:column;align-items:stretch}.report-returned-callout .button{justify-content:center;width:100%}}.visit-summary{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(130px,.6fr));padding:14px;display:grid}.field-label{color:var(--muted-foreground);text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}.field-stack{gap:6px;display:grid}.checkbox-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox-row input{margin-top:3px}.checkbox-row span{gap:2px;display:grid}.checkbox-row small{color:var(--muted-foreground)}.input-with-unit{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.input-with-unit:focus-within{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-600)}@supports (color:color-mix(in lab, red, red)){.input-with-unit:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-600) 18%, transparent)}}.input-with-unit input:focus,.input-with-unit input:focus-visible{box-shadow:none}.input-with-unit input{border:0;width:100%;min-width:0;padding:10px 12px;font-size:1.35rem;font-weight:800}.input-with-unit span{color:var(--muted-foreground);padding:0 12px 0 6px;font-size:.86rem;font-weight:750}.compact-input{width:min(110px,100%);min-width:5.25rem;padding:8px 10px}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-sm);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:inline-grid;overflow:hidden}.segmented-control button{min-height:40px;color:var(--muted-foreground);background:#fff;border:0;padding:0 14px;font-weight:750;transition:background .15s,color .15s}.segmented-control button:hover:not([aria-pressed=true]){background:var(--brand-50);color:var(--brand-700)}.segmented-control button:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-600);outline:none}.segmented-control button[aria-pressed=true]{color:#fff;background:var(--brand-600)}.callout{border-radius:var(--radius-sm);color:var(--brand-900);background:var(--brand-50);align-items:center;gap:10px;padding:12px;display:flex}.callout code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field-group{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 16px;padding:14px}.field-group legend{padding:0 6px;font-weight:800}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.check-row{color:var(--foreground);align-items:center;gap:8px;display:flex}.responsive-table{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;margin-top:14px;overflow-x:auto}.tank-card{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);background:#fff;gap:10px;padding:20px;display:grid}.tank-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tank-card-header strong{color:var(--foreground);font-size:1rem;font-weight:700}.tank-card-header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tank-card-stats{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;font-size:.875rem;display:flex}.tank-card-stats .page-kicker{margin:0}.tank-bar{background:#e5e7eb;border-radius:9999px;width:100%;height:16px;overflow:hidden}.tank-bar-fill{background:var(--status-ok);border-radius:9999px;height:100%;transition:width .2s}.tank-bar-fill.low{background:#fb923c}.tank-card-chart-label{color:var(--muted-foreground);margin:4px 0 0;font-size:.78rem;font-weight:600}.tank-card .sparkline{aspect-ratio:100/60;width:100%;height:auto;margin:0;display:block}.tank-submit-card{gap:0;display:grid}.tank-submit-card .tank-card{box-shadow:none;border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.tank-submit-card .tank-card-controls{border:1px solid var(--border);border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-card);background:#fff;padding:12px 20px 16px}.tank-card-controls{gap:10px;display:grid}.meter-bar{background:var(--muted);border-radius:999px;height:8px;overflow:hidden}.meter-bar span{border-radius:inherit;background:var(--status-ok);height:100%;display:block}.meter-bar span.low{background:var(--status-warn)}.file-drop{border:1px dashed var(--brand-600);border-radius:var(--radius-sm);min-height:88px;color:var(--brand-700);background:var(--brand-50);justify-content:center;align-items:center;gap:10px;font-weight:800;transition:background .15s,border-color .15s;display:flex;position:relative}.file-drop:hover,.file-drop:focus-within{background:var(--brand-100)}@supports (color:color-mix(in lab, red, red)){.file-drop:hover,.file-drop:focus-within{background:color-mix(in srgb, var(--brand-100) 60%, white)}}.file-drop:hover,.file-drop:focus-within{border-color:var(--brand-700)}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-list,.summary-list{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.summary-list span,.report-footer span{color:var(--muted-foreground);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.form-error{color:var(--status-bad);margin:12px 0;font-weight:750}.history-popover{position:relative}.history-popover summary{color:var(--brand-700);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;font-weight:750;display:inline-flex}.history-popover summary::-webkit-details-marker{display:none}.history-popover summary.icon-eye{width:30px;height:30px;color:var(--brand-700);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.history-popover summary.icon-eye:hover,.history-popover[open] summary.icon-eye{background:var(--brand-50,var(--muted))}.history-popover-body{z-index:20;border:1px solid var(--border);background:var(--card);border-radius:10px;min-width:180px;padding:10px 12px;position:absolute;top:calc(100% + 6px);left:auto;right:0;box-shadow:0 12px 28px #0f172a29}.history-popover-body .history-values{flex-wrap:wrap}.tag-pill.uppercase{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.last3-pop{min-width:230px;padding:12px 14px}.last3-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.last3-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem;font-weight:800}.last3-close{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.last3-close:hover{background:var(--muted);color:var(--foreground)}.last3-sample{margin:4px 0 10px;font-weight:750}.last3-rows{gap:8px;margin:0;display:grid}.last3-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.last3-row dt{color:var(--muted-foreground);font-size:.85rem}.last3-row dd{margin:0;font-weight:750}.history-values{gap:8px;margin-top:8px;display:flex}.history-values span{color:var(--muted-foreground);background:var(--muted);border-radius:999px;padding:5px 8px;font-size:.8rem}.report-preview{margin-top:18px}.report-footer{flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.reading-value{font-family:var(--font-display);margin:8px 0 6px;font-size:1.8rem;font-weight:700}@media (width<=900px){.landing,.content-grid,.stat-grid,.reading-grid,.visit-summary,.checkbox-grid{grid-template-columns:1fr}.sticky-submit{position:static}}.compliance-trend{flex-direction:column;gap:14px;margin-top:10px;display:flex}.chart-chips{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.chart-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.chart-chip-label{color:var(--muted-foreground);align-items:center;gap:6px;font-size:.78rem;display:flex}.chart-chip-value{align-items:baseline;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.chart-swatch{border-radius:3px;flex:none;width:9px;height:9px}.chart-delta{align-items:center;gap:3px;font-size:.72rem;font-weight:600;display:inline-flex}.chart-delta.up{color:var(--status-ok)}.chart-delta.down{color:var(--status-bad)}.chart-frame{width:100%}.chart-frame .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.chart-frame .recharts-legend-item-text{fill:var(--muted-foreground);color:var(--muted-foreground)!important}.chart-frame .recharts-default-legend{flex-wrap:wrap;justify-content:center;gap:4px 12px;display:flex}.client-trend-card{border-radius:var(--radius-sm);padding:20px}.client-parameter-chart{margin-top:8px}.client-report-meta{border-radius:var(--radius-sm);background:var(--muted);margin-bottom:6px;padding:12px}.chart-tooltip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);min-width:220px;padding:10px 12px;box-shadow:0 8px 24px #0738471f}.chart-tooltip-title{color:var(--muted-foreground);margin:0 0 6px;font-size:.78rem;font-weight:600}.chart-tooltip-row{justify-content:space-between;align-items:center;gap:12px;padding:2px 0;font-size:.82rem;display:flex}.chart-tooltip-name{align-items:center;gap:6px;display:flex}.today-snapshot{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);gap:18px;margin:18px 0 22px;padding:20px;display:grid}.snapshot-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.snapshot-title h2{margin:0;font-size:1.25rem}.snapshot-title p{color:var(--muted-foreground);margin:2px 0 0;font-weight:650}.snapshot-health{color:#10623e;background:#e4f8ee;border-radius:999px;padding:9px 18px;font-weight:800}.snapshot-health.warn{color:var(--status-warn);background:var(--status-warn-bg)}.snapshot-grid{grid-template-columns:minmax(280px,.78fr) minmax(360px,1.2fr);gap:18px;display:grid}.snapshot-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:22px}.compliance-summary{align-content:center;justify-items:center;gap:10px;min-height:180px;display:grid}.snapshot-eyebrow{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.08em;margin:0;font-weight:800}.snapshot-compliance{color:var(--brand-700);font-size:clamp(2.4rem,4vw,3.4rem);line-height:1}.snapshot-delta{align-items:center;gap:10px;font-weight:800;display:inline-flex}.snapshot-delta.up{color:var(--status-ok)}.snapshot-delta.down{color:var(--status-bad)}.snapshot-mini-stats{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px;display:grid}.snapshot-mini-stats span{color:var(--muted-foreground);background:var(--muted);border-radius:14px;justify-items:center;gap:2px;padding:13px;font-weight:700;display:grid}.snapshot-mini-stats strong{color:var(--status-bad);font-size:1.45rem;line-height:1}.snapshot-mini-stats span:last-child strong{color:var(--status-warn)}.stock-summary h3,.ph-snapshot h3{margin:0;font-size:1.25rem}.snapshot-low{color:var(--status-bad);align-items:center;gap:6px;font-weight:800;display:inline-flex}.stock-level-grid{grid-template-columns:repeat(4,minmax(92px,1fr));align-items:end;gap:18px;margin-top:18px;display:grid}.stock-level{justify-items:center;gap:5px;display:grid}.stock-level strong{color:var(--brand-700);font-size:1.25rem}.stock-level strong.low{color:var(--status-bad)}.stock-level span{color:var(--muted-foreground);font-weight:750}.ph-snapshot{padding-bottom:16px}.ph-snapshot-chart{width:100%;height:150px;margin-top:10px;overflow:visible}.ph-target{stroke:#e0ad4f;stroke-width:2px;stroke-dasharray:8 8}.ph-fill{fill:var(--brand-100)}@supports (color:color-mix(in lab, red, red)){.ph-fill{fill:color-mix(in srgb, var(--brand-100) 70%, transparent)}}.ph-fill{opacity:.6}.ph-line{fill:none;stroke:var(--brand-700);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.ph-latest{fill:var(--brand-700);stroke:var(--brand-700);stroke-width:4px}.ph-dip{fill:var(--card);stroke:var(--status-bad);stroke-width:5px}.queue-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.queue-tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);text-align:left;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:15px 16px;transition:box-shadow .18s,transform .18s;display:grid;position:relative}.queue-tile:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.queue-icon{color:#fff;background:var(--brand-400);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.queue-tile.warn .queue-icon{color:#fff;background:var(--status-warn)}.queue-tile.ok .queue-icon{color:#fff;background:var(--status-ok)}.queue-value{font-family:var(--font-display);font-size:1.55rem;font-weight:700}.queue-label{color:var(--muted-foreground);font-size:.84rem;font-weight:600}.queue-arrow{color:var(--muted-foreground);position:absolute;top:12px;right:12px}.dashboard-pending{border-radius:var(--radius-lg);box-shadow:none;background:#fff7ed;border:1px solid #fed7aa;margin-bottom:24px;padding:16px 18px}.pending-title{color:#9a3412;margin:0 0 12px;font-size:1rem;font-weight:600}.pending-review-list{gap:8px;display:grid}.pending-review-row{border-radius:var(--radius-sm);background:#fff;border:1px solid #ffedd5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px;display:flex}.pending-review-meta{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;font-size:.875rem;display:flex}.pending-building{color:var(--foreground);font-weight:500}.pending-review-row .button.review{flex:none;min-height:32px;padding:6px 12px;font-size:.875rem}.open-alerts-list{gap:12px;display:grid}.open-alert-row{border-radius:var(--radius-sm);background:var(--muted);border:0;align-items:flex-start;gap:12px;width:100%;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.open-alert-row{background:color-mix(in srgb, var(--muted) 50%, white)}}.open-alert-row{color:inherit;text-align:left;cursor:pointer;font:inherit}.open-alert-row:hover{background:var(--muted)}.alert-severity-dot{border-radius:999px;flex:none;width:8px;height:8px;margin-top:6px}.alert-severity-dot.critical{background:var(--status-bad)}.alert-severity-dot.warning{background:var(--status-warn)}.open-alert-body{flex:1;gap:2px;min-width:0;display:grid}.open-alert-type{color:var(--foreground);font-size:.875rem;font-weight:500}.pending-review-card .section-heading,.pending-review-card .page-kicker{margin:0}.empty-inline{grid-column:1/-1;margin:4px 0 0}.dashboard-side-stack{align-content:start;gap:14px;display:grid}.stock-level-grid.compact{gap:8px}.stock-compliance-delta{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;display:flex}.dashboard-panel-grid{align-items:stretch;margin-bottom:18px}.dashboard-panel{flex-direction:column;min-height:168px;padding:16px 18px 18px;display:flex}.dashboard-panel .section-heading{align-items:center}.dashboard-panel .section-title{margin-bottom:0}.dashboard-panel-body{flex:1;align-content:start;gap:10px;display:grid}.dashboard-panel-body>.page-kicker{align-self:center;margin:0}.alert-row-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);width:100%;color:inherit;text-align:left;box-shadow:none;gap:7px;padding:12px;transition:background .14s,border-color .14s;display:grid}.alert-row-button:hover{background:var(--brand-50);border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.alert-row-button:hover{border-color:color-mix(in srgb, var(--brand-400) 32%, var(--border))}}.alert-row-button .page-kicker{align-items:flex-start;gap:6px;margin:0;line-height:1.35;display:inline-flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-col{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-card);min-height:150px;overflow:hidden}.week-col.today{box-shadow:0 0 0 2px var(--brand-400), var(--shadow-card)}.week-col-head{text-align:center;color:var(--muted-foreground);background:var(--muted);padding:8px;font-size:.8rem;font-weight:800}.week-col.today .week-col-head{color:#fff;background:var(--brand-600)}.week-col-body{gap:6px;padding:8px;display:grid}.week-empty{color:var(--border);text-align:center}.visit-chip{border-radius:var(--radius-sm);background:var(--brand-50);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;gap:2px;padding:7px 8px 7px 11px;font-size:.78rem;display:grid;position:relative;overflow:hidden}button.visit-chip:hover{filter:brightness(.97)}.visit-chip:before{content:"";background:var(--brand-600);width:3px;position:absolute;inset:0 auto 0 0}.visit-chip span{color:var(--muted-foreground)}.visit-chip.due{background:var(--status-warn-bg)}.visit-chip.due:before{background:var(--status-warn)}.calendar-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-title{min-width:190px;font-family:var(--font-display);letter-spacing:-.01em;text-align:center;margin:0;font-size:1.2rem;font-weight:700}.calendar-legend{color:var(--muted-foreground);align-items:center;gap:16px;font-size:.8rem;font-weight:600;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:var(--brand-600);border-radius:999px;width:9px;height:9px}.legend-dot.warn{background:var(--status-warn)}.legend-dot.bad{background:var(--status-bad)}.legend-dot.ok{background:var(--status-ok)}.month-grid{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.month-weekday{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--muted-foreground);background:var(--brand-600);padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.month-weekday{background:color-mix(in srgb, var(--brand-600) 4%, white)}}.month-weekday{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);min-height:118px;color:var(--foreground);text-align:left;flex-direction:column;gap:6px;padding:8px;transition:background .14s;display:flex}.month-weekday:nth-child(7n),.month-cell:nth-child(7n){border-right:0}button.month-cell,.month-cell.clickable{cursor:pointer}button.month-cell:hover,.month-cell.clickable:hover{background:var(--brand-50)}.month-cell.weekend{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.month-cell.weekend{background:color-mix(in srgb, var(--muted) 34%, white)}}button.month-cell.weekend:hover,.month-cell.clickable.weekend:hover{background:var(--brand-50)}.month-cell.today{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.month-cell.today{background:color-mix(in srgb, var(--brand-400) 9%, white)}}button.month-cell.today:hover,.month-cell.clickable.today:hover{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){button.month-cell.today:hover,.month-cell.clickable.today:hover{background:color-mix(in srgb, var(--brand-400) 14%, white)}}.month-cell.outside{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.month-cell.outside{background:color-mix(in srgb, var(--muted) 45%, white)}}.month-cell.outside.weekend{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.month-cell.outside.weekend{background:color-mix(in srgb, var(--muted) 60%, white)}}.month-cell-top{justify-content:space-between;align-items:center;display:flex}.month-daynum{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.month-cell.outside .month-daynum{color:var(--muted-foreground);font-weight:600}.month-cell.today .month-daynum{color:#fff;background:var(--brand-600);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;display:inline-grid}.month-add{color:var(--brand-600);opacity:0;transition:opacity .14s}button.month-cell:hover .month-add{opacity:.85}.month-cell-items{gap:4px;display:grid}.month-chip{background:var(--brand-50);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:7px;align-items:center;gap:7px;padding:4px 8px 4px 11px;display:flex;position:relative;overflow:hidden}button.month-chip:hover{filter:brightness(.97)}.month-chip:before{content:"";background:var(--brand-600);width:3px;position:absolute;inset:0 auto 0 0}.tech-badge{color:#fff;letter-spacing:.02em;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;font-size:.6rem;font-weight:800;display:inline-grid}.month-chip-text{min-width:0}.month-chip.due{background:var(--status-warn-bg)}.month-chip.due:before{background:var(--status-warn)}.month-chip.overdue{background:var(--status-bad-bg)}.month-chip.overdue:before{background:var(--status-bad)}.month-chip.tone-ok{background:var(--status-ok-bg)}.month-chip.tone-ok:before{background:var(--status-ok)}.month-chip.tone-warn{background:var(--status-warn-bg)}.month-chip.tone-warn:before{background:var(--status-warn)}.month-chip.tone-bad{background:var(--status-bad-bg)}.month-chip.tone-bad:before{background:var(--status-bad)}.month-chip.tone-trend{background:var(--status-trend-bg)}.month-chip.tone-trend:before{background:var(--status-trend)}.month-chip.tone-idle:before{background:var(--status-idle)}.visit-chip.tone-ok:before{background:var(--status-ok)}.visit-chip.tone-warn:before{background:var(--status-warn)}.visit-chip.tone-bad:before{background:var(--status-bad)}.visit-chip.tone-trend:before{background:var(--status-trend)}.visit-chip.tone-idle:before{background:var(--status-idle)}.visit-chip-status{color:var(--muted-foreground);font-size:.72rem;font-weight:700}.summary-pill.ok{background:var(--status-ok-bg)}.summary-pill.ok strong{color:var(--status-ok)}.month-chip-site,.month-chip-tech{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.month-chip-site{font-size:.74rem;font-weight:700;line-height:1.25}.month-chip-tech{color:var(--muted-foreground);font-size:.7rem;line-height:1.2}.month-more{color:var(--muted-foreground);padding-left:3px;font-size:.72rem;font-weight:600}.picked-date-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--brand-50);color:var(--brand-900);align-items:center;gap:8px;padding:9px 12px;font-weight:600;display:inline-flex}.summary-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summary-pill{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.summary-pill strong{color:var(--foreground);font-variant-numeric:tabular-nums}.summary-pill.warn{border-color:var(--status-warn)}@supports (color:color-mix(in lab, red, red)){.summary-pill.warn{border-color:color-mix(in srgb, var(--status-warn) 40%, var(--border))}}.summary-pill.warn{background:var(--status-warn-bg);color:var(--status-warn)}.summary-pill.bad{border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.summary-pill.bad{border-color:color-mix(in srgb, var(--status-bad) 40%, var(--border))}}.summary-pill.bad{background:var(--status-bad-bg);color:var(--status-bad)}.summary-pill.warn strong,.summary-pill.bad strong{color:inherit}@media (width<=720px){.month-cell{min-height:84px}.month-chip-tech,.calendar-legend{display:none}}.color-field{align-items:center;gap:10px;display:flex}.color-swatch-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:44px;height:40px;padding:2px}.reading-edit-input{background:0 0;border:1px solid #0000;border-radius:6px;width:64px;padding:4px 6px;font-weight:700}.reading-edit-input:hover{border-color:var(--border);background:#fff}.reading-edit-input:focus-visible{border-color:var(--brand-600);background:#fff}.sparkline-empty{border-bottom:1px dashed var(--border);height:30px;margin:6px 0}.action-hint{margin:-10px 0 18px}.toast{z-index:80;border-radius:var(--radius-md);color:#fff;background:var(--brand-900);padding:12px 18px;font-size:.9rem;font-weight:650;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #07384752}.field-stack input,.field-stack select,.modal input,.modal select,.modal textarea,.form-grid input,.form-grid select{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:100%;min-height:40px;padding:9px 12px}.field-stack input:focus,.field-stack select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-600);outline:none}@supports (color:color-mix(in lab, red, red)){.field-stack input:focus,.field-stack select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.form-grid input:focus,.form-grid select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-600) 18%, transparent)}}.field-stack input:hover:not(:focus),.field-stack select:hover:not(:focus),.modal input:hover:not(:focus),.modal select:hover:not(:focus),.modal textarea:hover:not(:focus),.form-grid input:hover:not(:focus),.form-grid select:hover:not(:focus){border-color:var(--brand-600)}@supports (color:color-mix(in lab, red, red)){.field-stack input:hover:not(:focus),.field-stack select:hover:not(:focus),.modal input:hover:not(:focus),.modal select:hover:not(:focus),.modal textarea:hover:not(:focus),.form-grid input:hover:not(:focus),.form-grid select:hover:not(:focus){border-color:color-mix(in srgb, var(--brand-600) 40%, var(--border))}}.muted,.text-muted{color:var(--muted-foreground)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.text-warn{color:var(--status-warn)}.text-bad{color:var(--status-bad)}.button.ghost{min-height:34px;color:var(--brand-700);border:1px solid var(--border);box-shadow:none;background:0 0;padding:0 12px;font-size:.86rem;font-weight:600}.button.ghost:hover{filter:none;background:var(--brand-50);border-color:var(--brand-600)}@supports (color:color-mix(in lab, red, red)){.button.ghost:hover{border-color:color-mix(in srgb, var(--brand-600) 30%, var(--border))}}.button.ghost:hover{box-shadow:none}.button.ghost.danger,.button.danger{color:var(--status-bad);border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.button.ghost.danger,.button.danger{border-color:color-mix(in srgb, var(--status-bad) 30%, var(--border))}}.button.danger-solid{color:#fff;background:var(--status-bad)}.button.danger-solid:disabled{background:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.button.danger-solid:disabled{background:color-mix(in srgb, var(--status-bad) 45%, white)}}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted-foreground);background:#fff;justify-content:center;align-items:center;display:inline-flex}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-header-text{gap:2px;display:grid}.back-button{width:max-content;margin-bottom:8px}.page-header-actions{gap:8px;display:flex}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:360px;color:var(--muted-foreground);background:#fff;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-input input{background:0 0;border:0;flex:1;min-height:40px}.search-input input:focus-visible{outline:none}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--brand-50)}.badge-count{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.78rem;font-weight:800;display:inline-flex}.badge-count.bad{color:var(--status-bad);background:var(--status-bad-bg)}.status-text{font-weight:700}.info-grid>div{gap:4px;min-width:0;display:grid}.info-grid>div>strong{overflow-wrap:anywhere}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.building-card-meta svg{opacity:.85;flex:none}.building-view-btn{color:var(--brand-400);box-shadow:inset 0 0 0 1px var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.building-view-btn{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-400) 30%, var(--border))}.building-view-btn:hover{background:color-mix(in srgb, var(--brand-400) 5%, white)}}.building-view-btn:hover{box-shadow:inset 0 0 0 1px var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.building-view-btn:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-400) 40%, var(--border))}}.catalog-card-titles{flex:1;min-width:0}.catalog-desc{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.875rem;line-height:1.4;display:-webkit-box;overflow:hidden}.stock-toggle{cursor:pointer;background:#d1d5db;border:0;border-radius:999px;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.catalog-card-actions{gap:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.catalog-action.danger-outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-bad) 30%, var(--border))}}.catalog-action.danger-outline:hover{background:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.catalog-action.danger-outline:hover{background:color-mix(in srgb, var(--status-bad) 5%, white)}}.table-card{padding:0;overflow:hidden}.table-card .table{margin:0}.reports-table-card .table th:first-child,.reports-table-card .table td:first-child{width:44px;min-width:44px;padding-left:12px;padding-right:4px}.reports-table-card .table-wrapper{border:0;border-radius:0}.modal-toggle-row{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.catalog-desc{white-space:nowrap;text-overflow:ellipsis}@supports (color:color-mix(in lab, red, red)){.alert-icon-wrap.critical{background:color-mix(in srgb, var(--status-bad) 10%, white)}.alert-icon-wrap.warning{background:color-mix(in srgb, var(--status-warn) 12%, white)}}.alert-card-demo-body{min-width:0}.alert-card-demo-title{color:var(--foreground);margin:0;font-size:1rem;font-weight:600}.alert-card-demo-detail{color:var(--foreground);margin:4px 0;font-size:.875rem;font-weight:500}@supports (color:color-mix(in lab, red, red)){.button.success-outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-ok) 30%, var(--border))}.button.success-outline:hover{background:color-mix(in srgb, var(--status-ok) 5%, white)}}.client-building-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:58px;padding:10px 0;display:grid}.client-building-row:last-child{border-bottom:0}.client-building-row p{margin:0 0 2px;font-weight:750}.client-building-row.as-button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0}.client-building-row.as-button:hover{background:var(--muted)}.client-overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);align-items:start;gap:18px;display:grid}.client-buildings-card,.client-section-spaced.card{align-self:start}.client-report-table th,.client-report-table td{padding-top:10px;padding-bottom:10px}.client-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:18px;display:grid}.client-hero-copy{max-width:700px;color:var(--muted-foreground);margin-top:8px}.compliance-orb{text-align:center;border:1px solid var(--border);background:radial-gradient(circle at 50% 36%, #fff 0 38%, var(--brand-50) 39% 100%);width:156px;height:156px;box-shadow:var(--shadow-soft);border-radius:999px;place-items:center;display:grid}.compliance-orb.ok{background:radial-gradient(circle at 50% 36%,#fff 0 38%,#e8f7ef 39% 100%)}.compliance-orb.warn{background:radial-gradient(circle at 50% 36%,#fff 0 38%,#fff7e5 39% 100%)}.compliance-orb.bad{background:radial-gradient(circle at 50% 36%,#fff 0 38%,#fdecec 39% 100%)}.compliance-orb span{color:var(--foreground);font-size:38px;font-weight:800}.compliance-orb small{color:var(--muted-foreground);margin-top:-34px;display:block}.client-issue-list,.notification-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.client-issue-list li{border:1px solid var(--border);border-radius:10px;gap:8px;padding:10px;display:grid}.client-filters{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(160px,220px));align-items:end}.input-with-icon{align-items:center;gap:8px;display:flex}.input-with-icon input{flex:1;min-width:0}.compact-field{min-width:210px}.equipment-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.equipment-card,.notification-row{border:1px solid var(--border);background:var(--card);border-radius:10px;gap:10px;padding:14px;display:grid}.equipment-card{grid-template-columns:auto minmax(0,1fr) auto}.reading-mini-grid{color:var(--muted-foreground);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.reading-mini-grid span{align-items:center;gap:5px;display:inline-flex}.compact-tanks{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.notification-row{width:100%;color:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}@supports (color:color-mix(in lab, red, red)){.notification-row.unread{border-color:color-mix(in srgb, var(--status-warn) 45%, var(--border))}}.notification-row .page-kicker{margin-top:3px;display:block}.settings-list{gap:14px;display:grid}.toggle-row{align-items:center;gap:10px;display:flex}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.photo-placeholder{border:1px dashed var(--border);background:var(--muted);min-height:120px;color:var(--muted-foreground);border-radius:10px;align-content:center;gap:8px;padding:14px;display:grid}.tech-building-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.tech-building-row:last-child{border-bottom:0}.tech-building-meta{gap:2px;min-width:0;display:grid}.tech-building-meta p{margin:0;font-weight:750}.tech-building-row .button{flex-shrink:0}.catalog-desc{color:var(--muted-foreground);min-height:2.4em;margin:2px 0;font-size:.86rem}.tag-pill{color:var(--status-trend);background:var(--status-trend-bg);border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.tag-pill.subtle{color:var(--muted-foreground);background:var(--muted);text-transform:capitalize}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chip-button{border:1px solid var(--border);min-height:36px;color:var(--muted-foreground);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.86rem;font-weight:700;display:inline-flex}.chip-count{font-variant-numeric:tabular-nums;opacity:.8}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out modal-overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);width:100%;max-height:calc(100vh - 40px);box-shadow:var(--shadow-pop);padding:24px;animation:.22s cubic-bezier(.22,1,.36,1) modal-pop-in;position:relative;overflow-y:auto}.modal-sm{max-width:384px}.modal-md{max-width:512px}.modal-lg{max-width:760px}.modal-header{background:var(--card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;padding:0;display:flex}.modal-header .section-title{margin:0}.modal-header .icon-button{border:0;border-radius:4px;width:28px;height:28px}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{animation:none}}.modal-body{gap:14px;padding:0;display:grid}.modal-footer{border-top:0;justify-content:flex-end;gap:8px;margin-top:20px;padding:0;display:flex}.tabs{gap:0;display:grid}.tablist{border:0;border-bottom:1px solid var(--border);max-width:100%;box-shadow:none;background:0 0;border-radius:0;gap:4px;margin-bottom:16px;padding:0;display:flex;overflow-x:auto}.tab{color:#65758b;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;min-height:46px;padding:12px 16px;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.tab:hover{color:var(--foreground);background:0 0}.tab.active{color:#347cb7;box-shadow:none;background:0 0;border-bottom-color:#347cb7}.tabpanel{border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:18px}.wizard-steps{flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.wizard-steps li{border:1px solid var(--border);color:var(--muted-foreground);background:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 8px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.wizard-steps li{background:color-mix(in srgb, var(--muted) 60%, white)}}.wizard-steps li{font-size:.84rem;font-weight:700;transition:background .18s,color .18s,border-color .18s}.wizard-steps li+li:before{content:"";background:var(--border);width:8px;height:2px;position:absolute;left:-8px}.wizard-steps li.active{color:#fff;background:var(--brand-600);border-color:#0000}.wizard-steps li.done{color:var(--status-ok);border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.wizard-steps li.done{border-color:color-mix(in srgb, var(--status-ok) 35%, var(--border))}}.wizard-steps li.done{background:var(--status-ok-bg)}.wizard-step-num{width:22px;height:22px;color:var(--muted-foreground);box-shadow:inset 0 0 0 1px var(--border);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:.74rem;display:inline-flex}.wizard-steps li.active .wizard-step-num{color:var(--brand-700);box-shadow:none;background:#fff}.wizard-steps li.done .wizard-step-num{color:#fff;background:var(--status-ok);box-shadow:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .full-span{grid-column:1/-1}.equipment-pick-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px;display:grid}.equipment-pick{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:2px;padding:12px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.equipment-pick:hover{border-color:var(--brand-600)}@supports (color:color-mix(in lab, red, red)){.equipment-pick:hover{border-color:color-mix(in srgb, var(--brand-600) 45%, var(--border))}}.equipment-pick:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.equipment-pick:focus-visible{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-600);outline:none}@supports (color:color-mix(in lab, red, red)){.equipment-pick:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-600) 18%, transparent)}}.equipment-pick.selected{border-color:var(--brand-600);background:var(--brand-50)}.equipment-pick-check{color:#fff;background:var(--brand-600);border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:absolute;top:8px;right:8px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.review-grid>div{gap:4px;display:grid}.geofence-card{border:1px dashed var(--brand-600);border-radius:var(--radius-sm);background:var(--brand-50);align-items:center;gap:12px;margin:10px 0;padding:16px;display:flex}.geofence-pin{color:#fff;background:var(--brand-400);border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.summary-list.column{flex-direction:column;align-items:flex-start;gap:8px}.location-picker{flex-direction:column;gap:14px;display:flex}.location-search-input{width:100%}.geofence-map{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--brand-50);width:100%;position:relative;overflow:hidden}.location-picker-controls{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.location-picker-controls .field-stack{max-width:200px}.coord-readout{flex-direction:column;gap:4px;display:flex}.coord-chip{border:1px solid var(--brand-600);background:var(--brand-50);color:var(--brand-900);border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:12px;display:inline-flex}.button.sm{padding:6px 12px;font-size:13px}.osm-search{position:relative}.osm-search-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface,#fff);color:var(--muted,#64748b);align-items:center;gap:8px;padding:0 10px;display:flex}.osm-search-box input{background:0 0;border:none;outline:none;flex:1;padding:10px 0}.osm-search-box:focus-within{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-50)}.osm-suggestions{z-index:40;background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card,0 8px 24px #0f172a1f);max-height:240px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.osm-suggestions li button{text-align:left;cursor:pointer;width:100%;color:var(--text,#0f172a);background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13px;display:block}.osm-suggestions li button:hover,.osm-suggestions li button:focus-visible,.osm-suggestions li button.is-active{background:var(--brand-50)}.osm-best{float:right;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-700,var(--brand-600));background:var(--brand-100,#d7eef5);border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10px}.osm-live-dot{background:#2563eb;border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 3px #2563eb59}.manual-coords{border-top:1px dashed var(--border);padding-top:10px}.manual-coords summary{cursor:pointer;color:var(--brand-700,var(--brand-600));font-size:13px}.manual-coords .form-grid{margin-top:10px}.map-attribution{opacity:.75;font-size:11px}.sparkline{width:100%;height:30px;margin:6px 0}.callout.warn{color:var(--status-warn);background:var(--status-warn-bg)}.callout.bad{color:var(--status-bad);background:var(--status-bad-bg)}.ok-callout{border-radius:var(--radius-sm);color:var(--status-ok);background:var(--status-ok-bg);align-items:center;gap:10px;padding:12px;display:flex}.tech-history-success{align-items:flex-start;margin:0 0 18px}.tech-history-success .page-kicker{color:inherit;margin:2px 0 0}.lifecycle-stepper{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.lifecycle-step{border:1.5px solid var(--border);color:var(--muted-foreground);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.lifecycle-step.done{color:var(--status-ok);border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.lifecycle-step.done{border-color:color-mix(in srgb, var(--status-ok) 45%, var(--border))}}.lifecycle-step.done{background:#fff}.lifecycle-step.current{color:#fff;background:var(--brand-400);border-color:var(--brand-400);font-weight:600}.lifecycle-step.done .lifecycle-dot{color:#fff;background:var(--status-ok)}.lifecycle-dot{background:var(--muted);width:20px;height:20px;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.lifecycle-step.current .lifecycle-dot{color:var(--brand-400);background:#fff}.demo-report-page{width:min(1152px,100%);margin:0 auto}.demo-breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:16px;font-size:.875rem;font-weight:400;line-height:20px;display:flex}.demo-breadcrumb-item{align-items:center;gap:4px;display:inline-flex}.demo-breadcrumb-item>svg{color:var(--muted-foreground);flex:none}.demo-breadcrumb-item:last-child>span{color:var(--foreground);font-weight:500}.demo-back-link{color:var(--brand-400);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-bottom:16px;padding:0;font-size:.875rem;font-weight:500;display:inline-flex}.demo-back-link:hover{color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.demo-back-link:hover{color:color-mix(in srgb, var(--brand-400) 80%, black)}}.demo-pending-bar{border:0;border-bottom:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:var(--shadow-card);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:0;padding:16px;display:flex}.demo-pending-bar p{min-width:0;color:var(--muted-foreground);flex:1;margin:0;font-size:.875rem}.demo-pending-actions{flex-wrap:wrap;gap:8px;display:flex}.demo-cta{min-height:36px;padding:8px 24px;font-weight:600}.demo-status-banner{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:16px;padding:14px 16px;font-size:.875rem;font-weight:500;display:flex}.demo-status-banner.published{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.demo-status-banner-row{justify-content:space-between}.demo-status-banner.sent-back{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.demo-status-banner.draft{color:#4b5563;border:1px solid var(--border);background:#f9fafb}.demo-report-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-card);overflow:hidden}.demo-report-card-head{border-bottom:1px solid var(--border);background:var(--brand-600);padding:24px}@supports (color:color-mix(in lab, red, red)){.demo-report-card-head{background:color-mix(in srgb, var(--brand-600) 5%, white)}}.demo-report-card-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.demo-report-title{color:var(--foreground);margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.demo-report-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px;font-size:.875rem;display:grid}.demo-report-meta p{color:var(--foreground);margin:2px 0 0;font-weight:500}.demo-report-section{border-bottom:1px solid var(--border);padding:24px}.demo-report-section:last-child{border-bottom:0}.demo-section-title{color:var(--foreground);margin:0 0 16px;font-size:1.125rem;font-weight:600}.demo-readings-table.table th,.report-readings .table thead th,.matrix-report-table thead th{text-align:center;white-space:nowrap;padding:8px;font-size:.75rem;font-weight:500;color:#fff!important;background:#1d3a5d!important}.demo-readings-table.table th:first-child,.report-readings .table thead th:first-child{text-align:left}.demo-readings-table.table td,.report-readings .table td{text-align:center;padding:8px;font-size:.75rem}.demo-readings-table.table td:first-child,.report-readings .table td:first-child{text-align:left;white-space:nowrap;font-weight:500}.demo-readings-table tbody tr:nth-child(2n),.report-readings tbody tr:nth-child(2n){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.demo-readings-table tbody tr:nth-child(2n),.report-readings tbody tr:nth-child(2n){background:color-mix(in srgb, var(--muted) 20%, transparent)}}.reading-cell-mini.bad{color:#b91c1c;font-weight:700;background:#fee2e2!important}.reading-cell-mini.warn{color:#a16207;font-weight:600;background:#fef9c3!important}.range-row td{background:var(--muted)!important}@supports (color:color-mix(in lab, red, red)){.range-row td{background:color-mix(in srgb, var(--muted) 40%, white)!important}}.range-row td{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.demo-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.demo-action-item{color:var(--muted-foreground);align-items:center;gap:8px;font-size:.875rem;display:flex}.demo-action-item.done{color:var(--foreground)}.demo-table-wrap{max-width:32rem}.demo-recommendations{gap:12px;display:grid}.demo-recommendation{border-radius:var(--radius-sm);background:var(--muted);padding:12px}@supports (color:color-mix(in lab, red, red)){.demo-recommendation{background:color-mix(in srgb, var(--muted) 50%, white)}}.demo-recommendation-loc{color:var(--brand-400);margin:0 0 4px;font-size:.875rem;font-weight:500}.demo-signoff .demo-signoff-name{color:var(--foreground);margin:4px 0 0;font-size:1.125rem;font-weight:600}@media (width<=900px){.demo-report-meta,.demo-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.demo-report-meta,.demo-actions-grid{grid-template-columns:1fr}}.report-readings .table th,.report-readings .table td{white-space:nowrap;padding:8px 10px;font-size:.82rem}.report-readings .table thead th,.matrix-report-table thead th{color:#fff;text-transform:none;background:#1d3a5d;border-color:#4a617d;font-weight:600}.matrix-report-table th{text-align:center}.reading-cell-mini.bad,.report-readings td.out-of-range,.matrix-report-table td.out-of-range{color:#b91c1c;background:#fee2e2;font-weight:700}.review-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:14px;display:flex}.review-banner-copy{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.review-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.matrix-report-table td:first-child,.matrix-report-table th:first-child{text-align:left;min-width:150px}.matrix-group-row td{color:var(--brand-600);letter-spacing:.01em;background:#eaf1f8;font-weight:800}.reading-cell-mini.ok{color:inherit;background:0 0}.reading-cell-mini.warn{color:#854d0e;background:#fef9c3;font-weight:600}.reading-cell-mini.bad{color:#b91c1c;background:#fee2e2;font-weight:700}.reading-cell-mini.idle{color:inherit;background:0 0}.range-row td{color:var(--muted-foreground);background:var(--muted);font-size:.76rem}.template-version-layout{grid-template-columns:minmax(280px,.72fr) minmax(360px,1fr);align-items:stretch;gap:16px;display:grid}.template-toolbar{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.template-field{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;display:flex}.template-field select,.template-field input{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px;color:var(--foreground);text-transform:none;letter-spacing:0;background:#fff;padding:8px 10px;font-size:.9rem;font-weight:600}.applied-pill{align-items:center;gap:4px;margin-bottom:6px;display:inline-flex}.apply-btn{white-space:nowrap;margin-bottom:2px}.template-add-btn{white-space:nowrap;margin-left:auto}.template-active-count{color:var(--foreground);font-size:.86rem;font-weight:700}.template-toolbar-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.template-toolbar-actions .button{white-space:nowrap}.tag-pill.warn{color:var(--status-warn);background:var(--status-warn-bg)}.tag-pill.ok{color:var(--status-ok);background:var(--status-ok-bg)}.text-ok{color:var(--status-ok)}.template-form-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;overflow:hidden}.template-form-table{border-collapse:collapse;width:100%;font-size:.9rem}.template-form-table thead th{background:var(--brand-600);color:#fff;text-align:left;white-space:nowrap;padding:12px 14px;font-size:.78rem;font-weight:700}.template-form-table thead th.col-center{text-align:center}.template-form-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.template-form-table tbody tr:last-child td{border-bottom:0}.template-form-table td.col-center{text-align:center}.type-badge{letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:800}.type-badge.numeric{color:var(--brand-400);background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.type-badge.numeric{background:color-mix(in srgb, var(--brand-400) 12%, #fff)}}.type-badge.numeric{border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.type-badge.numeric{border-color:color-mix(in srgb, var(--brand-400) 26%, var(--border))}}.type-badge.categorical{color:var(--status-trend);background:var(--status-trend-bg);border-color:var(--status-trend)}@supports (color:color-mix(in lab, red, red)){.type-badge.categorical{border-color:color-mix(in srgb, var(--status-trend) 24%, var(--border))}}.compact-input.is-invalid{border-color:var(--status-bad);box-shadow:0 0 0 2px var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.compact-input.is-invalid{box-shadow:0 0 0 2px color-mix(in srgb, var(--status-bad) 22%, transparent)}}.cat-options{color:var(--muted-foreground);font-size:.82rem}.sample-cell{flex-direction:column;gap:6px;min-width:150px;display:flex}.sample-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:min(130px,100%);color:var(--foreground);background:#fff;padding:8px 10px;font-size:.9rem;font-weight:600;transition:border-color .12s,box-shadow .12s,background .12s}.sample-input.status-ok{border-color:var(--status-ok);background:var(--status-ok-bg);color:var(--status-ok)}.sample-input.status-warn{border-color:var(--status-warn);background:var(--status-warn-bg);color:var(--status-warn)}.sample-input.status-bad{border-color:var(--status-bad);background:var(--status-bad-bg);color:var(--status-bad)}.sample-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.range-hint{color:var(--muted-foreground);font-size:.76rem}.status-pill{border-radius:999px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.active-toggle{cursor:pointer;display:inline-flex}.active-toggle input{cursor:pointer;width:16px;height:16px}.row-remove{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}.row-remove:hover{color:var(--status-bad);border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.row-remove:hover{border-color:color-mix(in srgb, var(--status-bad) 40%, var(--border))}}.row-remove:hover{background:var(--status-bad-bg)}.template-form-tip{color:var(--muted-foreground);margin:0;font-size:.86rem;line-height:1.45}@media (width<=860px){.template-toolbar{align-items:stretch}.template-toolbar-actions .button{flex:1;justify-content:center}}.report-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.action-checklist,.recommendation-list,.abnormal-list,.audit-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.action-checklist li{color:var(--muted-foreground);align-items:center;gap:8px;display:flex}.action-checklist li.done{color:var(--foreground)}.checkbox-mark{border:1px solid var(--muted-foreground);justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.checkbox-mark{border:1px solid color-mix(in srgb, var(--muted-foreground) 30%, var(--border))}}.checkbox-mark{color:#0000;border-radius:3px;flex:none;font-size:.65rem}.action-checklist li.done .checkbox-mark,.demo-action-item.done .checkbox-mark{color:#fff;border-color:var(--brand-400);background:var(--brand-400)}.reading-cell-mini.ok{background:0 0}.abnormal-list li{border-bottom:1px solid var(--border);gap:4px;padding-bottom:10px;display:grid}.abnormal-list li:last-child{border-bottom:0;padding-bottom:0}.audit-list li{border-bottom:1px solid var(--border);gap:2px;padding:8px 0;display:grid}.audit-list li:last-child{border-bottom:0}.audit-list li strong{text-transform:none;font-size:.875rem;font-weight:600}.recommendation-list li{border-left:3px solid var(--brand-600);background:var(--brand-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;gap:2px;padding:10px 12px;display:grid}.report-signoff{border-top:1px solid var(--border);gap:4px;margin-top:20px;padding-top:14px;display:grid}.report-photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:4px 0 8px;display:grid}.report-photo{gap:6px;margin:0;display:grid}.report-photo img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;display:block}.report-photo-missing{aspect-ratio:4/3;border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--muted);place-items:center;font-size:12px;display:grid}.report-photo figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.abnormal-list li,.audit-list li{border-bottom:1px solid var(--border);gap:3px;padding-bottom:8px;display:grid}.publish-abnormal{border-radius:var(--radius-sm);background:var(--muted);padding:12px}.report-id-cell{align-items:center;gap:6px;display:inline-flex}.geofence-flag{color:var(--status-bad);display:inline-flex}.alert-filter-row{margin:4px 0 18px}.alert-list{gap:16px;display:grid}.alert-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);min-height:96px;box-shadow:var(--shadow-card);grid-template-columns:minmax(180px,.28fr) minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 22px 18px 28px;display:grid;position:relative;overflow:hidden}.alert-card:before{content:"";background:var(--status-bad);width:5px;position:absolute;inset:0 auto 0 0}.alert-card.warn:before{background:var(--status-warn)}.alert-card.resolved:before{background:var(--status-idle);opacity:.45}.alert-type{min-width:0}.alert-type .status-pill{background:var(--status-warn-bg);color:var(--status-warn);font-weight:800}.alert-card.bad .alert-type .status-pill{background:var(--status-bad-bg);color:var(--status-bad)}.alert-card.resolved .alert-type .status-pill{background:var(--muted);color:var(--muted-foreground)}.alert-card-main{gap:5px;min-width:0;display:grid}.alert-card-main strong{color:var(--foreground);font-size:1.05rem;line-height:1.25;display:block}.alert-card-main .page-kicker{flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:.95rem;display:inline-flex}.alert-resolve-button{min-width:160px;color:var(--brand-700);background:var(--brand-50);border-color:var(--brand-600);justify-content:center}@supports (color:color-mix(in lab, red, red)){.alert-resolve-button{border-color:color-mix(in srgb, var(--brand-600) 24%, var(--border))}}.resolved-tag{color:var(--status-ok);align-items:center;gap:5px;font-size:.84rem;font-weight:700;display:inline-flex}.alert-empty{color:var(--muted-foreground);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--card);align-items:center;gap:8px;padding:18px;display:inline-flex}@media (width<=720px){.form-grid,.review-grid,.report-columns{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.client-hero,.client-overview-grid,.client-building-row,.client-filters,.client-quality-grid,.notification-row,.equipment-card{grid-template-columns:1fr}.compliance-orb{width:132px;height:132px}.snapshot-title,.snapshot-grid,.stock-level-grid{grid-template-columns:1fr}.alert-card{grid-template-columns:1fr;align-items:flex-start}.alert-resolve-button{width:100%}.reading-mini-grid{grid-template-columns:1fr}.action-bar .button:last-child{margin-left:0}}.login-split{background:#f4f7fb;grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(135deg,#1d3a5d,#347cb7);flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(32px,4vw,56px);display:flex;position:relative;overflow:hidden}.login-mesh{opacity:.5;filter:blur(8px);background:radial-gradient(circle at 20% 30%,#7c3aed8c,#0000 40%),radial-gradient(circle at 82% 18%,#4fc3e899,#0000 42%),radial-gradient(circle at 60% 92%,#0fb5a680,#0000 45%);animation:14s ease-in-out infinite alternate loginMesh;position:absolute;inset:0}@keyframes loginMesh{to{transform:scale(1.25)translate(4%,-3%)}}.login-brand-mark{color:#fff;position:relative}.login-brand-mark .brand-dot{box-shadow:none;background:#ffffff29}.login-brand-body{flex-direction:column;gap:22px;display:flex;position:relative}.login-chip{background:#ffffff29;border:1px solid #ffffff4d;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.login-chip-dot{background:#7dffc4;border-radius:50%;width:8px;height:8px;animation:2s infinite loginPulse}@keyframes loginPulse{0%{box-shadow:0 0 #7dffc499}70%{box-shadow:0 0 0 8px #7dffc400}to{box-shadow:0 0 #7dffc400}}.login-headline{letter-spacing:-.02em;max-width:15ch;margin:0;font-size:clamp(30px,3.4vw,40px);font-weight:800;line-height:1.12}.login-arc{transform-origin:bottom;width:min(100%,440px);height:196px;position:relative;transform:scale(1.18)}.login-cyl{transform-origin:bottom;will-change:transform, opacity;flex-direction:column;align-items:center;gap:9px;transition:transform 1.1s cubic-bezier(.33,.01,.2,1),opacity 1.1s;display:flex;position:absolute;bottom:16px;left:50%}.login-cyl-body{animation:6s ease-in-out infinite loginFloat}.login-cyl svg{filter:drop-shadow(0 14px 16px #04122459);display:block}.login-cyl-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffe6;font-size:10px;font-weight:600}@keyframes loginFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.login-arc-glow{filter:blur(3px);background:radial-gradient(#7dffc438,#ffffff14 55%,#0000 78%);border-radius:50%;width:76%;height:26px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.login-brand-tag{opacity:.9;max-width:36ch;margin:0;font-size:14px;position:relative}.login-form-pane{justify-content:center;align-items:center;padding:clamp(24px,4vw,48px);display:flex}.login-card{width:min(400px,100%)}.login-card-logo{width:auto;max-width:100%;height:40px;margin-bottom:18px;display:block}@media (width<=860px){.login-split{grid-template-columns:1fr}.login-brand{display:none}}@media (prefers-reduced-motion:reduce){.topbar,.sidebar,.login-mesh,.login-cyl-body,.login-chip-dot{animation:none}.topbar,.sidebar,.login-cyl{transition:none}}.stack-16{flex-direction:column;gap:16px;display:flex}.row-between{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.row-gap{align-items:center;gap:8px;display:flex}.row-muted td{opacity:.5}.compact-input.wide{width:100%;min-width:260px}.page-title{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:1.5rem;font-weight:700;line-height:2rem}.page-header{margin-bottom:20px}.page-header-actions{flex-wrap:wrap;align-items:center}.card.panel{border-radius:var(--radius-sm);padding:20px}.toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);margin-bottom:14px;padding:12px 14px}.buildings-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.building-card,.catalog-card{flex-direction:column;gap:0;padding:20px;display:flex}.building-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.building-card-name{color:var(--foreground);margin:0;font-size:1rem;font-weight:600;line-height:1.3}.building-card-client{color:var(--brand-400);margin:0 0 12px;font-size:.875rem;font-weight:500}.building-card-meta{color:var(--muted-foreground);flex-direction:column;gap:6px;margin:0 0 16px;font-size:.875rem;display:flex}.building-card-meta span{align-items:center;gap:8px;display:inline-flex}.building-view-btn{color:var(--brand-400);box-shadow:inset 0 0 0 1px var(--brand-400);margin-top:auto}@supports (color:color-mix(in lab, red, red)){.building-view-btn{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-400) 30%, var(--border))}}.building-view-btn:hover{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.building-view-btn:hover{background:color-mix(in srgb, var(--brand-400) 5%, white)}}.catalog-card-head{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.catalog-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.category-tag{border-radius:9999px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.cat-cooling{color:#1d4ed8;background:#dbeafe}.cat-heating{color:#c2410c;background:#ffedd5}.cat-glycol-system{color:#7e22ce;background:#f3e8ff}.cat-chemical{color:#15803d;background:#dcfce7}.cat-water-treatment{color:#0f766e;background:#ccfbf1}.cat-other{color:#4b5563;background:#f3f4f6}.cat-stock{color:#15803d;background:#dcfce7}.catalog-desc{color:var(--muted-foreground);margin:0 0 12px;font-size:.875rem;line-height:1.4}.catalog-stock-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;padding:8px 0;display:flex}.stock-toggle{cursor:pointer;background:#d1d5db;border:0;border-radius:999px;width:36px;height:20px;padding:0;position:relative}.stock-toggle.on{background:#22c55e}.stock-toggle-knob{background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.stock-toggle.on .stock-toggle-knob{transform:translate(16px)}.catalog-card-actions{gap:8px;margin-top:auto;display:flex}.catalog-action{flex:1;min-height:32px;font-size:.875rem}.catalog-action.danger-outline{color:var(--status-bad);box-shadow:inset 0 0 0 1px var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.catalog-action.danger-outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-bad) 30%, var(--border))}}.search-bar-solo{max-width:28rem;margin-bottom:20px}.search-bar-solo .search-input{width:100%}.table-card{overflow:hidden;padding:0!important}.table-card .toolbar{border:0;border-bottom:1px solid var(--border);box-shadow:none;border-radius:0;margin:0;padding:12px 16px}.alert-card-demo{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.alert-card-demo.is-resolved{opacity:.6}.alert-card-demo-main{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.alert-icon-wrap{border-radius:8px;flex:none;place-items:center;width:36px;height:36px;display:grid}.alert-icon-wrap.critical{color:var(--status-bad);background:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.alert-icon-wrap.critical{background:color-mix(in srgb, var(--status-bad) 10%, white)}}.alert-icon-wrap.warning{color:var(--status-warn);background:var(--status-warn)}@supports (color:color-mix(in lab, red, red)){.alert-icon-wrap.warning{background:color-mix(in srgb, var(--status-warn) 12%, white)}}.alert-card-demo-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.alert-card-demo-title{margin:0;font-size:1rem;font-weight:600}.alert-card-demo-detail{margin:4px 0;font-size:.875rem;font-weight:500}.button.success-outline{color:var(--status-ok);box-shadow:inset 0 0 0 1px var(--status-ok);background:0 0}@supports (color:color-mix(in lab, red, red)){.button.success-outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-ok) 30%, var(--border))}}.button.success-outline:hover{background:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.button.success-outline:hover{background:color-mix(in srgb, var(--status-ok) 5%, white)}}.chip-button{border-radius:var(--radius-sm);color:var(--muted-foreground);background:var(--muted);cursor:pointer;border:0;padding:8px 16px;font-size:.875rem;font-weight:500}.chip-button:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.chip-button:hover{background:color-mix(in srgb, var(--muted) 80%, black)}}.chip-button.active{color:#fff;background:var(--brand-400);border-color:var(--brand-400)}.queue-icon{box-shadow:none;border-radius:8px;background:#347cb7!important}.queue-tile.warn .queue-icon{background:#e88c30!important}.queue-tile.ok .queue-icon{background:#36a162!important}.queue-tile.bad .queue-icon{background:#e24b40!important}.queue-tile:hover{transform:none}.tech-step-strip{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.tech-step-strip li{border:1px solid var(--border);min-height:34px;color:var(--muted-foreground);background:var(--card);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.8rem;font-weight:600;display:inline-flex}.tech-step-strip li .step-num{background:var(--muted);border-radius:999px;place-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;display:grid}.tech-step-strip li.done{color:var(--status-ok);border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.tech-step-strip li.done{border-color:color-mix(in srgb, var(--status-ok) 35%, var(--border))}}.tech-step-strip li.done .step-num{color:#fff;background:var(--status-ok)}.tech-step-strip li.current{color:#fff;background:#347cb7;border-color:#347cb7}.tech-step-strip li.current .step-num{color:#347cb7;background:#fff}.technician-flow .section-title{margin-bottom:4px}.technician-flow .card.panel{gap:14px}.tech-portal .tech-welcome{margin-bottom:20px}.tech-submit-kicker{margin:-12px 0 16px}.tech-returned-banner{border-radius:var(--radius-sm);background:#fef2f2;border-left:4px solid #ef4444;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:24px;padding:16px;display:flex}.tech-returned-title{color:var(--foreground);margin:0 0 4px;font-size:.95rem;font-weight:600}.tech-returned-copy{flex:1;min-width:0}.tech-returned-banner .button{background:var(--brand-400);flex:none}.tech-returned-banner .button:hover{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.tech-returned-banner .button:hover{background:color-mix(in srgb, var(--brand-400) 88%, black)}}.tech-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px}.tech-building-list{gap:12px;display:grid}.tech-building-item{border-radius:var(--radius-sm);background:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.tech-building-item{background:color-mix(in srgb, var(--muted) 50%, white)}}.tech-building-name{color:var(--foreground);margin:0 0 4px;font-size:.875rem;font-weight:500}.tech-building-next{color:var(--muted-foreground);align-items:center;gap:4px;margin:0;font-size:.75rem;display:inline-flex}.tech-building-next.urgent{color:var(--status-bad);font-weight:500}.tech-building-cta{flex:none;min-height:32px;padding:6px 12px;font-size:.875rem}.tech-building-row{align-items:center;gap:12px;padding:12px 0}.returned-banner{border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.returned-banner{border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border))}}.returned-banner{background:var(--status-bad-bg)}@supports (color:color-mix(in lab, red, red)){.returned-banner{background:color-mix(in srgb, var(--status-bad-bg) 70%, white)}}.returned-banner{border-left:4px solid var(--status-bad)}.returned-banner .button{background:#347cb7}.returned-banner .button:hover{background:#2d6da3}.sticky-submit{position:sticky;top:76px}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 16px;display:grid}.info-grid .field-label{margin-bottom:4px;display:block}@media (width<=900px){.pending-review-grid,.queue-strip{grid-template-columns:1fr}.sticky-submit{position:static}.tech-step-strip{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}}.report-template-page{gap:14px;display:grid}.template-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;padding:16px;display:flex}.template-toolbar-info{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.template-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.template-field{gap:6px;min-width:180px;display:grid}.template-field span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.template-subbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.template-form-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:0;overflow:hidden}.template-form-table{border-collapse:collapse;width:100%}.template-form-table th,.template-form-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 14px}.template-form-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);background:var(--muted);font-size:.74rem;font-weight:700}.template-form-tip{color:var(--muted-foreground);margin:0;font-size:.88rem}.tabpanel .card.panel{box-shadow:none;border:1px solid var(--border)}.toolbar-select{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--foreground);background:#fff;padding:0 12px}.client-report-toolbar{flex-wrap:wrap;margin-bottom:12px}.client-section-spaced{margin-top:18px}.client-quality-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.client-issue-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.client-issue-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);gap:6px;padding:10px 12px;display:grid}.report-sheet-brand{border-radius:var(--radius-md);color:#fff;background:#1d3a5d;border-bottom:3px solid #347cb7;justify-content:space-between;align-items:flex-start;gap:12px;margin:-6px -6px 16px;padding:14px 16px;display:flex}.report-sheet-brand .page-kicker{color:#ffffffb8;margin:4px 0 0}.report-sheet-brand strong{font-size:1.05rem}.report-sheet-no{color:#fff;opacity:.95;font-weight:700}.compact-action{min-height:34px;padding:0 12px;font-size:.84rem}.row-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.notification-list{gap:8px;display:grid}.notification-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);text-align:left;width:100%;color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.notification-row.unread{border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.notification-row.unread{border-color:color-mix(in srgb, var(--brand-400) 35%, var(--border))}}.notification-row.unread{background:var(--brand-50)}@supports (color:color-mix(in lab, red, red)){.notification-row.unread{background:color-mix(in srgb, var(--brand-50) 70%, white)}}.notification-row span{gap:2px;display:grid}.tech-submit-page{width:100%;min-width:0;max-width:1080px;margin-inline:auto;overflow-x:clip}.tech-submit-page>*,.tech-submit-page .reading-station-group,.tech-submit-page .tech-form-card,.tech-submit-page .card{min-width:0;max-width:100%}.tech-submit-page .page-header{margin-bottom:20px}.tech-submit-page .page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--foreground);font-size:1.5rem;font-weight:700;line-height:2rem}.tech-submit-page .section-title{font-family:var(--font-display);color:var(--foreground);margin:0 0 14px;font-size:1rem;font-weight:600;line-height:1.4}.tech-submit-page .page-kicker{color:var(--muted-foreground);margin:0;font-size:.875rem;font-weight:400;line-height:1.4}.tech-form-card{gap:14px;margin-bottom:20px;padding:20px;display:grid}.tech-form-card>.section-title{margin-bottom:0}.tech-building-field{width:min(100%,560px)}.tech-submit-page .field-label{color:var(--muted-foreground);letter-spacing:.01em;text-transform:none;margin:0 0 6px;font-size:.8125rem;font-weight:600}.tech-submit-page select,.tech-submit-page textarea,.tech-submit-page .compact-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;min-height:40px;color:var(--foreground);background:#fff;padding:8px 12px;font-family:inherit;font-size:.875rem;font-weight:500}.tech-submit-page textarea{min-height:88px;line-height:1.45}.tech-visit-meta{flex-wrap:wrap;gap:10px;display:flex}.tech-meta-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.tech-meta-chip{background:color-mix(in srgb, var(--muted) 55%, white)}}.tech-meta-label{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.tech-meta-chip strong{color:var(--foreground);font-size:.875rem;font-weight:600}.tech-location-card{gap:16px}.tech-location-card.is-pending{border-color:var(--status-warn)}@supports (color:color-mix(in lab, red, red)){.tech-location-card.is-pending{border-color:color-mix(in srgb, var(--status-warn) 28%, var(--border))}}.tech-location-card.is-verified{border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.tech-location-card.is-verified{border-color:color-mix(in srgb, var(--status-ok) 28%, var(--border))}}.tech-location-card.is-rejected{border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.tech-location-card.is-rejected{border-color:color-mix(in srgb, var(--status-bad) 28%, var(--border))}}.tech-location-status{align-items:flex-start;gap:12px;display:flex}.tech-submit-page .geofence-map{border-radius:var(--radius-sm);width:100%;max-width:100%;min-height:260px;max-height:320px;height:300px!important}.tech-location-status .section-title,.tech-step-title{margin:0 0 4px}.tech-location-status .page-kicker{margin:0}.tech-readings-section{gap:16px;margin-bottom:4px;display:grid}.tech-readings-section>.section-title{margin-bottom:0}.tech-submit-page .reading-station-group{gap:14px}.tech-submit-page .reading-station-head{background:0 0;border:0;padding:0;display:block}.reading-station-title{color:var(--brand-400);font-family:var(--font-display);margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.tech-reading-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px;width:100%;min-width:0;display:grid}.tech-reading-field{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;max-width:100%;box-shadow:inset 3px 0 0 var(--border);background:#fff;padding:12px 12px 12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.tech-reading-field.status-row-ok{border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-ok{border-color:color-mix(in srgb, var(--status-ok) 42%, var(--border))}}.tech-reading-field.status-row-ok{background:var(--status-ok-bg)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-ok{background:color-mix(in srgb, var(--status-ok-bg) 70%, white)}}.tech-reading-field.status-row-ok{box-shadow:inset 3px 0 0 var(--status-ok)}.tech-reading-field.status-row-warn{border-color:var(--status-warn)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-warn{border-color:color-mix(in srgb, var(--status-warn) 48%, var(--border))}}.tech-reading-field.status-row-warn{background:var(--status-warn-bg)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-warn{background:color-mix(in srgb, var(--status-warn-bg) 75%, white)}}.tech-reading-field.status-row-warn{box-shadow:inset 3px 0 0 var(--status-warn)}.tech-reading-field.status-row-bad{border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-bad{border-color:color-mix(in srgb, var(--status-bad) 48%, var(--border))}}.tech-reading-field.status-row-bad{background:var(--status-bad-bg)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-bad{background:color-mix(in srgb, var(--status-bad-bg) 75%, white)}}.tech-reading-field.status-row-bad{box-shadow:inset 3px 0 0 var(--status-bad)}.tech-reading-field.status-row-missing{border-color:var(--border);background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-missing{background:color-mix(in srgb, var(--muted) 40%, white)}}.tech-reading-field.status-row-missing{box-shadow:inset 3px 0 0 var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-missing{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--muted-foreground) 45%, var(--border))}}.tech-reading-label{min-height:20px;color:var(--foreground);justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;font-size:.8125rem;font-weight:600;display:flex}.tech-reading-label>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tech-reading-label small{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.tech-reading-label .history-popover summary{color:var(--muted-foreground)}.tech-reading-field .col-reading,.tech-reading-field .input-with-unit{width:100%;min-width:0;max-width:100%}.tech-reading-field .col-reading input,.tech-reading-field .col-reading select{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:100%;min-width:0;max-width:100%;min-height:40px;padding:8px 12px;font-family:inherit;font-size:.875rem;font-weight:500}.tech-reading-field .input-with-unit{border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;display:grid}.tech-reading-field .input-with-unit input{padding:8px 10px;font-size:.9375rem;font-weight:600}.tech-reading-field .input-with-unit span{color:var(--muted-foreground);white-space:nowrap;padding:0 10px 0 4px;font-size:.75rem;font-weight:600}.tech-reading-field.status-row-ok .col-reading input,.tech-reading-field.status-row-ok .col-reading select,.tech-reading-field.status-row-ok .input-with-unit{border-color:var(--status-ok)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-ok .col-reading input,.tech-reading-field.status-row-ok .col-reading select,.tech-reading-field.status-row-ok .input-with-unit{border-color:color-mix(in srgb, var(--status-ok) 55%, var(--border))}}.tech-reading-field.status-row-ok .col-reading input,.tech-reading-field.status-row-ok .col-reading select,.tech-reading-field.status-row-ok .input-with-unit{background:var(--status-ok-bg)}.tech-reading-field.status-row-warn .col-reading input,.tech-reading-field.status-row-warn .col-reading select,.tech-reading-field.status-row-warn .input-with-unit{border-color:var(--status-warn)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-warn .col-reading input,.tech-reading-field.status-row-warn .col-reading select,.tech-reading-field.status-row-warn .input-with-unit{border-color:color-mix(in srgb, var(--status-warn) 55%, var(--border))}}.tech-reading-field.status-row-warn .col-reading input,.tech-reading-field.status-row-warn .col-reading select,.tech-reading-field.status-row-warn .input-with-unit{background:var(--status-warn-bg)}.tech-reading-field.status-row-bad .col-reading input,.tech-reading-field.status-row-bad .col-reading select,.tech-reading-field.status-row-bad .input-with-unit{border-color:var(--status-bad)}@supports (color:color-mix(in lab, red, red)){.tech-reading-field.status-row-bad .col-reading input,.tech-reading-field.status-row-bad .col-reading select,.tech-reading-field.status-row-bad .input-with-unit{border-color:color-mix(in srgb, var(--status-bad) 55%, var(--border))}}.tech-reading-field.status-row-bad .col-reading input,.tech-reading-field.status-row-bad .col-reading select,.tech-reading-field.status-row-bad .input-with-unit{background:var(--status-bad-bg)}.tech-reading-meta{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 8px;min-height:18px;margin-top:8px;font-size:.75rem;line-height:1.3;display:flex}.tech-reading-meta .col-range{color:var(--muted-foreground);overflow-wrap:anywhere;min-width:0}.tech-reading-meta .col-status{text-align:right;overflow-wrap:anywhere;align-items:center;gap:4px;min-width:0;font-weight:600;display:inline-flex}.tech-reading-meta .status-text-ok{color:var(--status-ok)}.tech-reading-meta .status-text-warn{color:var(--status-warn)}.tech-reading-meta .status-text-bad{color:var(--status-bad)}.tech-reading-meta .status-text-missing{color:var(--muted-foreground)}.tech-reading-meta .status-dot{flex:none;width:8px;height:8px;margin-right:0}.tech-reading-meta .status-dot.status-ok{background:var(--status-ok)}.tech-reading-meta .status-dot.status-warn{background:var(--status-warn)}.tech-reading-meta .status-dot.status-bad{background:var(--status-bad)}.tech-reading-meta .status-dot.status-missing{background:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tech-reading-meta .status-dot.status-missing{background:color-mix(in srgb, var(--muted-foreground) 55%, white)}}.tech-reading-trend{color:var(--muted-foreground);font-weight:500}.tech-reading-note{min-width:0;margin-top:10px}.tech-reading-note .field-label{color:var(--status-bad);text-transform:none;margin:0 0 4px;font-size:.75rem;font-weight:600}.tech-reading-note textarea{resize:vertical;width:100%;min-width:0;max-width:100%;min-height:56px;padding:8px 10px;font-size:.8125rem}.tech-form-card .field-group{border:0;margin:0;padding:0}.tech-form-card .responsive-table{margin-top:0}.tech-form-card .check-row{color:var(--foreground);cursor:pointer;font-size:.875rem;font-weight:500}.tech-form-card .check-row input{width:16px;height:16px;accent-color:var(--brand-400)}.tech-step-description{margin:-4px 0 0}.tech-tank-list{gap:16px}.tech-photo-title{align-items:center;gap:8px;display:flex}.tech-photo-title svg{color:var(--brand-400);flex:none}.tech-submit-page .file-drop{border:1px solid var(--brand-400);width:auto;min-width:200px;max-width:100%;min-height:44px;padding:10px 20px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.tech-submit-page .file-drop{border:1px solid color-mix(in srgb, var(--brand-400) 35%, var(--border))}}.tech-submit-page .file-drop{border-radius:var(--radius-sm);color:#fff;background:var(--brand-400);box-shadow:none;font-size:.875rem;font-weight:600}.tech-submit-page .file-drop:hover,.tech-submit-page .file-drop:focus-within{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.tech-submit-page .file-drop:hover,.tech-submit-page .file-drop:focus-within{background:color-mix(in srgb, var(--brand-400) 88%, black)}}.tech-submit-page .file-drop:hover,.tech-submit-page .file-drop:focus-within{color:#fff;border-color:#0000}.tech-submit-page .photo-list{flex-wrap:wrap;gap:8px;max-width:100%;margin:0;display:flex}.tech-no-photos{border:1px dashed var(--border);border-radius:var(--radius-sm);width:min(100%,360px);max-width:100%;color:var(--muted-foreground);text-align:left;background:var(--muted);padding:14px 16px;font-size:.8125rem}@supports (color:color-mix(in lab, red, red)){.tech-no-photos{background:color-mix(in srgb, var(--muted) 40%, white)}}.tech-final-submit{border-radius:var(--radius-sm);width:100%;min-height:48px;margin:4px 0 8px;font-size:1rem;font-weight:600}.tech-submit-help{text-align:center;margin:0 0 24px}.tech-submit-page .report-preview{margin-top:8px}.tech-preview-title{margin-bottom:0}@media (width<=800px){.tech-reading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.tech-reading-grid{grid-template-columns:1fr}.tech-visit-meta{grid-template-columns:1fr;display:grid}.tech-submit-page .tech-form-card{padding:16px}.tech-submit-page .responsive-table{overflow-x:visible}.tech-submit-page .table,.tech-submit-page .table thead,.tech-submit-page .table tbody,.tech-submit-page .table tr,.tech-submit-page .table th,.tech-submit-page .table td{width:100%;display:block}.tech-submit-page .table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tech-submit-page .table tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin-bottom:12px;padding:12px}.tech-submit-page .table tbody tr:nth-child(2n){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tech-submit-page .table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--muted) 18%, white)}}.tech-submit-page .table td{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.tech-submit-page .table td{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent)}}.tech-submit-page .table td:last-child{border-bottom:0;padding-bottom:0}.tech-submit-page .table td:first-child{padding-top:0}.tech-submit-page .table td:before{content:attr(data-label);color:var(--muted-foreground);font-size:.75rem;font-weight:600}.tech-submit-page .table td.table-empty{text-align:left;display:block}.tech-submit-page .table td.table-empty:before{content:none}.app-shell.layout-top .main-content{padding-left:16px;padding-right:16px}.topnav{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.page-header-row .page-title{margin-bottom:4px}.segmented-control.segmented-2{grid-template-columns:repeat(2,minmax(0,1fr));display:inline-grid}.month-cell.selected{outline:2px solid var(--brand-500,#347cb7);outline-offset:-2px;z-index:1}.tech-day-panel{margin-top:16px}.tech-schedule-list{flex-direction:column;gap:20px;display:flex}.tech-schedule-group-title{color:var(--foreground);margin:0 0 10px;font-size:.95rem;font-weight:700}.tech-schedule-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.tech-schedule-row:last-child{border-bottom:0}.tech-schedule-row-main{flex:1;min-width:0}.tech-schedule-row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tech-month-grid .month-cell{min-height:100px}.print-sheet{display:none}@media print{@page{size:A4;margin:14mm 12mm}html,body{color:#1f2c3d!important;background:#fff!important}.topbar,.sidebar,.shell-backdrop,.shell-menu-toggle,.no-print,.modal-overlay,.demo-report-page{display:none!important}.app-shell,.shell-body,.main-content{background:#fff!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.print-sheet{color:#1f2c3d;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%;max-width:100%;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.35;display:block!important}.schedule-print-sheet .sps-table{border-collapse:collapse;width:100%}.schedule-print-sheet .sps-table th,.schedule-print-sheet .sps-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d5dee8;padding:6px 8px}.schedule-print-sheet .sps-table th{text-transform:uppercase;letter-spacing:.04em;color:#5a6b7d;font-size:.7rem}}.print-sheet .ps-header{border-bottom:2px solid #1e3a5f;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.print-sheet .ps-brand{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.print-sheet .ps-logo-img{width:auto;height:46px}.print-sheet .ps-logo-img-sm{height:30px}.print-sheet .ps-tagline{color:#4b5563;margin:2px 0 0;font-size:12px}.print-sheet .ps-report-meta{text-align:right;color:#4b5563;font-size:11px}.print-sheet .ps-report-meta p{margin:0 0 2px}.print-sheet .ps-report-title{color:#1e3a5f!important;font-size:16px!important;font-weight:700!important}.print-sheet .ps-report-id{color:#1f2c3d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.print-sheet .ps-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.print-sheet .ps-tile{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:8px}.print-sheet .ps-tile-label{letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-size:9px;font-weight:600;display:block}.print-sheet .ps-tile-value{color:#111827;margin-top:3px;font-size:12px;font-weight:700;line-height:1.25;display:block}.print-sheet .ps-section{letter-spacing:.04em;text-transform:uppercase;color:#1e3a5f;border-bottom:1px solid #1e3a5f4d;margin:0 0 8px;padding-bottom:4px;font-size:11px;font-weight:700}.print-sheet .ps-readings{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:9.5px}.print-sheet .ps-readings th,.print-sheet .ps-readings td{text-align:center;white-space:nowrap;border:1px solid #d1d5db;padding:4px 5px}.print-sheet .ps-readings th{color:#fff;background:#1e3a5f;font-weight:600}.print-sheet .ps-readings .ps-loc,.print-sheet .ps-readings th.ps-loc{text-align:left;font-weight:700}.print-sheet .ps-readings tr.ps-alt td{background:#f9fafb}.print-sheet .ps-readings td.ps-out{color:#b91c1c;background:#fee2e2;font-weight:700}.print-sheet .ps-readings td.ps-near{color:#a16207;background:#fef9c3;font-weight:600}.print-sheet .ps-readings tr.ps-range td{color:#1e3a5f;background:#eef3f8;font-size:9px;font-weight:600}.print-sheet .ps-legend{color:#6b7280;margin:0 0 16px;font-size:9px}.print-sheet .ps-swatch{vertical-align:middle;border:1px solid #d1d5db;width:10px;height:10px;margin:0 4px 0 10px;display:inline-block}.print-sheet .ps-swatch:first-child{margin-left:0}.print-sheet .ps-swatch.out{background:#fee2e2;border-color:#fca5a5}.print-sheet .ps-swatch.near{background:#fef9c3;border-color:#fde047}.print-sheet .ps-two-col{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px;display:grid}.print-sheet .ps-actions{margin:0;padding:0;font-size:11px;list-style:none}.print-sheet .ps-actions li{align-items:center;gap:8px;margin-bottom:4px;display:flex}.print-sheet .ps-check{color:#0000;border:1px solid #6b7280;flex:none;justify-content:center;align-items:center;width:13px;height:13px;font-size:9px;line-height:1;display:inline-flex}.print-sheet .ps-check.on{color:#fff;background:#1e3a5f;border-color:#1e3a5f}.print-sheet .ps-muted{color:#6b7280}.print-sheet .ps-plain{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:11px}.print-sheet .ps-plain th,.print-sheet .ps-plain td{text-align:left;border:1px solid #d1d5db;padding:5px 8px}.print-sheet .ps-plain th{background:#f3f4f6;font-weight:600}.print-sheet .ps-meters{max-width:100%}.print-sheet .ps-recs{margin-bottom:20px}.print-sheet .ps-rec{border-left:2px solid #1e3a5f;margin-bottom:8px;padding-left:8px;font-size:11px}.print-sheet .ps-rec-loc{color:#1e3a5f;margin:0 0 2px;font-weight:700}.print-sheet .ps-rec p{color:#374151;margin:0}.print-sheet .ps-signoff{grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;margin-bottom:24px;display:grid}.print-sheet .ps-signoff>div{border-top:1px solid #9ca3af;padding-top:8px}.print-sheet .ps-sign-label{letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin:0;font-size:9px}.print-sheet .ps-sign-name{color:#111827;min-height:1.2em;margin:4px 0 0;font-size:13px;font-weight:700}.print-sheet .ps-sign-date{color:#6b7280;margin:2px 0 0;font-size:10px}.print-sheet .ps-photos-page{page-break-before:always;margin-top:8px}.print-sheet .ps-header-sm{margin-bottom:12px;padding-bottom:10px}.print-sheet .ps-appendix-title{color:#1e3a5f;margin:0;font-size:16px;font-weight:700}.print-sheet .ps-photo-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.print-sheet .ps-photo{page-break-inside:avoid;border:1px solid #d1d5db;border-radius:4px;margin:0;overflow:hidden}.print-sheet .ps-photo img{object-fit:cover;width:100%;height:256px;display:block}.print-sheet .ps-photo figcaption{color:#374151;background:#f9fafb;border-top:1px solid #d1d5db;padding:6px 8px;font-size:10px}.print-sheet .ps-photo figcaption strong{color:#1e3a5f}.print-sheet .ps-footer{text-align:center;color:#6b7280;border-top:1px solid #e5e7eb;margin-top:32px;padding-top:8px;font-size:9px}.client-portal .tech-welcome{margin-bottom:20px}.client-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}.client-building-list{gap:12px;display:grid}.client-building-item{border-radius:var(--radius-sm);background:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.client-building-item{background:color-mix(in srgb, var(--muted) 50%, white)}}.client-building-left{align-items:center;gap:12px;min-width:0;display:flex}.client-building-icon{color:var(--brand-400);flex:none}.client-building-name{color:var(--foreground);margin:0 0 6px;font-size:.875rem;font-weight:500}.client-view-btn{flex:none;min-height:32px;padding:6px 12px;font-size:.875rem}.client-trends-block{margin-top:8px;margin-bottom:32px}.client-trends-heading{margin-bottom:16px;font-size:1.125rem;font-weight:600}.client-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.client-quality-grid>*{min-width:0}.client-trends-page-grid{margin-top:24px}.client-trend-card{flex-direction:column;display:flex;overflow:hidden;padding:20px!important}.client-trend-title{color:var(--muted-foreground);margin:0 0 12px;font-size:.875rem;font-weight:500;line-height:20px}.client-trend-card.has-subtitle .client-trend-title{margin-bottom:8px}.client-trend-sub{color:var(--muted-foreground);margin:0 0 16px;font-size:.875rem;line-height:20px}.client-parameter-chart{flex:none;min-height:0;margin-top:0;display:block;position:relative;width:100%!important}.client-parameter-chart .recharts-responsive-container{min-height:0;width:100%!important;height:100%!important}.client-parameter-chart .recharts-surface{overflow:hidden}.client-parameter-chart .recharts-wrapper{overflow:hidden!important}.client-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;display:grid}.client-trends-block{min-height:320px;visibility:visible!important;margin-top:24px!important;margin-bottom:40px!important;display:block!important}.client-reports-note{color:#9ca3af;margin:-8px 0 20px;font-size:.875rem;font-style:italic}.table-empty{text-align:center;color:var(--muted-foreground);padding:32px 16px!important}@media (width<=900px){.tech-dashboard-grid,.client-dashboard-grid,.client-quality-grid{grid-template-columns:1fr}}.client-account-page{max-width:720px}.client-account-card{min-width:0}.client-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;display:grid}.client-account-field{align-content:start;gap:6px;min-width:0;display:grid}.client-account-value{color:var(--foreground);overflow-wrap:anywhere;word-break:break-word;font-size:.95rem;font-weight:600;line-height:1.4;display:block}.client-account-email{letter-spacing:.01em;font-weight:500}.client-account-access{align-items:center;min-height:1.4em;display:flex}@media (width<=640px){.client-account-grid{grid-template-columns:1fr;gap:16px}}.settings-page{min-width:0}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start;gap:20px;display:grid}.settings-main{gap:14px;min-width:0;display:grid}.settings-main .section-title{margin-bottom:2px}.settings-divider{border:none;border-top:1px solid var(--border);margin:8px 0 4px}.settings-field-note{color:var(--muted-foreground);font-size:.75rem;line-height:1.5}.settings-escalation{max-width:220px}.settings-side{gap:16px;min-width:0;display:grid;position:sticky;top:84px}.settings-account-grid{grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:16px;display:grid}.settings-account-value{color:var(--foreground);overflow-wrap:anywhere;margin-top:4px;font-size:.95rem;font-weight:600;display:block}.settings-account-actions{gap:10px;display:grid}.settings-account-actions .button{justify-content:center;width:100%}@media (width<=960px){.settings-layout{grid-template-columns:1fr}.settings-side{position:static}}.report-template-page{gap:16px;min-width:0;display:grid}.template-workspace{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.template-library-card,.template-editor-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-width:0;box-shadow:var(--shadow-card)}.template-library-card{position:sticky;top:84px;overflow:hidden}.template-library-header,.template-editor-header,.template-parameters-heading,.parameter-card-header,.parameter-preview{justify-content:space-between;align-items:center;gap:12px;display:flex}.template-library-header{border-bottom:1px solid var(--border);padding:16px}.template-library-header .section-title,.template-editor-header .section-title,.template-parameters-heading .section-title{margin:0}.template-library-header .page-kicker,.template-editor-header .page-kicker,.template-parameters-heading .page-kicker{margin:4px 0 0}.template-library-new{min-height:36px;padding-inline:10px}.template-list{gap:4px;padding:8px;display:grid}.template-list-item{border-radius:var(--radius-sm);width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:6px;padding:11px 12px;display:grid}.template-list-item:hover:not(:disabled){background:var(--muted)}.template-list-item.active{border-color:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.template-list-item.active{border-color:color-mix(in srgb, var(--brand-400) 35%, var(--border))}}.template-list-item.active{background:var(--brand-400)}@supports (color:color-mix(in lab, red, red)){.template-list-item.active{background:color-mix(in srgb, var(--brand-400) 9%, #fff)}}.template-list-name{overflow-wrap:anywhere;font-size:.9rem;font-weight:700}.template-list-meta{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:.76rem;display:flex}.template-default-pill{padding:2px 7px}.template-editor-card{overflow:hidden}.template-editor-header{border-bottom:1px solid var(--border);align-items:flex-start;padding:16px 18px}.template-editor-title{min-width:180px}.template-title-line,.template-editor-actions,.parameter-card-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-editor-actions{justify-content:flex-end}.template-editor-actions .button{white-space:nowrap}.template-editor-body{gap:16px;padding:18px;display:grid}.template-help-callout{margin:0}.template-parameters-heading{align-items:flex-end}.parameter-card-list{gap:12px;display:grid}.parameter-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;min-width:0;overflow:hidden}.parameter-card-header{border-bottom:1px solid var(--border);background:var(--muted);padding:12px 14px}.parameter-card-header>div:first-child{gap:2px;min-width:0;display:grid}.parameter-card-header strong{overflow-wrap:anywhere}.parameter-index{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.parameter-active-toggle{color:var(--muted-foreground);cursor:pointer;align-items:center;gap:7px;font-size:.8rem;font-weight:700;display:inline-flex}.parameter-active-toggle input{width:16px;height:16px}.parameter-card-grid{grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) repeat(3,minmax(105px,.55fr));gap:12px;padding:14px;display:grid}.parameter-field{align-content:start;gap:6px;min-width:0;display:grid}.parameter-field>span{color:var(--muted-foreground);letter-spacing:.03em;text-transform:uppercase;font-size:.74rem;font-weight:800}.parameter-field input,.parameter-field select{width:100%;min-width:0}.parameter-field small{color:var(--muted-foreground);font-size:.75rem}.parameter-field-options{grid-column:span 3}.parameter-preview{border-top:1px solid var(--border);background:#fbfcfd;padding:12px 14px}.parameter-preview-copy{gap:3px;display:grid}.parameter-preview-copy span{color:var(--muted-foreground);font-size:.8rem}.parameter-preview .sample-cell{flex:0 0 min(240px,42%)}.template-empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted-foreground);text-align:center;justify-items:center;gap:12px;padding:36px 18px;display:grid}.template-empty-state p,.template-name-error{margin:0}.tech-report-setup-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.tech-template-field select,.tech-building-field select{width:100%;min-width:0}.tech-template-help{color:var(--muted-foreground);font-size:.78rem;line-height:1.4}@media (width<=1180px){.template-workspace{grid-template-columns:1fr}.template-library-card{position:static}.template-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.parameter-card-grid{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(130px,.7fr))}.parameter-field-options{grid-column:span 2}}@media (width<=800px){.template-editor-header,.template-parameters-heading,.parameter-preview,.tech-report-setup-grid{grid-template-columns:1fr;display:grid}.template-editor-actions{justify-content:flex-start}.parameter-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parameter-field-name,.parameter-field-options{grid-column:1/-1}.parameter-preview .sample-cell{width:100%}}@media (width<=560px){.template-library-header,.parameter-card-header,.parameter-card-controls,.template-editor-actions,.parameter-card-grid{grid-template-columns:1fr;display:grid}.template-editor-actions .button,.template-library-new,.parameter-card-controls .row-remove{justify-content:center;width:100%}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
