@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-cyrillic-ext-400-normal.26b1kbv33iy62.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-400-normal.1pgmim4xr2og7.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-vietnamese-400-normal.1sfip73h1_7m1.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-400-normal.1_yv2tyws5peb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-latin-ext-400-normal.2js7borcn2qw8.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-400-normal.2-0tm_9ry8csn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-latin-400-normal.18lpns2xtfj9z.woff2)format("woff2"),url(../media/hanken-grotesk-latin-400-normal.1m1yv-g7__21o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-cyrillic-ext-600-normal.2dvqylh00t8c1.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-600-normal.41ra41y8tcnql.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-vietnamese-600-normal.01hhw77rc76y9.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-600-normal.3i-irnll22ros.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-latin-ext-600-normal.04kogq4iqfkmp.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-600-normal.212vl8b0a3ru_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-latin-600-normal.0c7b5n7trqal9.woff2)format("woff2"),url(../media/hanken-grotesk-latin-600-normal.059oydah0bc9-.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-cyrillic-ext-700-normal.0fl7aucw-tiyw.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-700-normal.3n5uo7-czhdoe.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-vietnamese-700-normal.3v9x6w6ev_bsw.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-700-normal.3r53utmi9kf8j.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-latin-ext-700-normal.3zj6bzynjvcnc.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-700-normal.18nifm-m6oxic.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-latin-700-normal.061szqq7cg1k1.woff2)format("woff2"),url(../media/hanken-grotesk-latin-700-normal.1_m986hkp-5i9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-ext-500-normal.2ry3kp_o4otap.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-500-normal.10q4hyu_x8s5h.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-cyrillic-500-normal.3o7914csi1phi.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-500-normal.3h99zp-wt8-ur.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-greek-500-normal.0w8tylf7bnwsx.woff2)format("woff2"),url(../media/jetbrains-mono-greek-500-normal.3g5x6uo9cqznt.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-vietnamese-500-normal.3u6u4bveorfwx.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-500-normal.1t3tg1-szi7a0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-ext-500-normal.0qg_8rqgwzn72.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-500-normal.0lszauu02dx6r.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/jetbrains-mono-latin-500-normal.2h52d08o60qht.woff2)format("woff2"),url(../media/jetbrains-mono-latin-500-normal.2uxjaecu1qvdf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#171c1e;--muted:#3d484d;--faint:#6e797d;--line:#b6e1ed;--line-soft:#e5e9eb;--surface:#fff;--canvas:#f6fafc;--navy:#2b4c56;--teal:#00677e;--teal-dark:#004e5f;--mint:#b6ebfb;--lime:#65d4f6;--orange:#8d4f00;--red:#ba1a1a;--blue:#316573;--technical-outline:#5a8b99;--shadow:0 4px 20px #2d62700d;--shadow-sm:0 4px 20px #2d62700d;--radius-sm:4px;--radius:8px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk,ui-sans-serif,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.app-shell svg{stroke-width:1.5px}.sidebar{background:var(--navy);color:#fff;z-index:30;flex-direction:column;width:244px;height:100vh;padding:32px 16px 24px;display:flex;position:fixed;top:0;left:0}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand-mark{border-radius:var(--radius);color:#fff;background:#1da1c1;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand strong{letter-spacing:-.7px;font-size:21px;line-height:1;display:block}.brand small{color:#b6e1ed;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px;display:block}.main-nav{flex-direction:column;flex:1;gap:5px;display:flex}.nav-eyebrow{color:#b6e1ed;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.nav-link{border-radius:var(--radius);color:#d6e4e8;align-items:center;gap:12px;padding:11px 12px;font-size:13px;font-weight:560;transition:all .16s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{color:#65d4f6;background:#b6ebfb29}.sidebar-footer{border-top:1px solid #ffffff14;padding-top:10px}.user-card{align-items:center;gap:10px;margin-top:12px;padding:10px 8px 2px;display:flex}.avatar,.table-avatar{color:var(--teal-dark);background:#e3f1ed;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:750;display:inline-flex}.user-card .avatar{color:#134d5b;background:#b6ebfb}.user-card strong,.user-card small{display:block}.user-card strong{font-size:12px}.user-card small{color:#b6e1ed;margin-top:3px;font-size:10px}.workspace{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffeb;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.global-search{color:var(--faint);align-items:center;gap:10px;width:42%;max-width:430px;display:flex}.global-search input{color:var(--ink);background:0 0;border:0;outline:none;width:100%}.global-search input::placeholder{color:#9aa9a6}.global-search kbd{background:var(--canvas);border:1px solid var(--line);color:var(--faint);white-space:nowrap;border-radius:5px;padding:3px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.topbar-actions{align-items:center;gap:18px;display:flex}.system-state{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.system-state i{background:#1da1c1;border:3px solid #b6ebfb;border-radius:50%;width:10px;height:10px}.language-switch{background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:2px;display:flex}.language-switch button{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:750}.language-switch button.active{color:var(--teal);background:#fff;box-shadow:0 1px 4px #00000014}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:relative}.notification-button i{background:#ef715f;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.mobile-menu,.mobile-nav-layer{display:none}.content{max-width:1510px;margin:0 auto;padding:32px 32px 64px}.page-header{justify-content:space-between;align-items:flex-end;min-height:78px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.02em;margin:5px 0 7px;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.25}.page-header p{color:var(--muted);max-width:620px;margin:0;font-size:14px;line-height:1.5}.eyebrow{color:var(--teal);letter-spacing:.05em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:14px;font-size:12px;display:flex}.page-actions{align-items:center;gap:10px;display:flex}.button{background:var(--teal);border:1px solid var(--teal);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-size:12px;font-weight:650;transition:all .15s;display:inline-flex}.button:hover{background:var(--teal-dark);transform:translateY(-1px)}.button.secondary{border-color:var(--line);color:var(--ink);background:#fff}.button.danger{background:var(--red);border-color:var(--red)}.button.danger:hover{background:#8f1212}.button.small{padding:7px 10px;font-size:11px}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-height:142px;padding:20px;position:relative;overflow:hidden}.metric-card:after{background:var(--metric-color,var(--teal));content:"";opacity:.07;border-radius:20px;width:90px;height:70px;position:absolute;top:-25px;right:-22px;transform:rotate(20deg)}.metric-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.metric-icon{background:color-mix(in srgb, var(--metric-color,var(--teal)) 12%, white);color:var(--metric-color,var(--teal));border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.metric-value{letter-spacing:-1.4px;margin:18px 0 8px;font-size:34px;font-weight:720;line-height:1}.metric-foot{color:var(--faint);font-size:12px}.metric-foot strong{color:var(--teal);font-weight:700}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);gap:18px;display:grid}.stack{gap:18px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel-header h2{letter-spacing:-.2px;margin:0;font-size:16px}.panel-header p{color:var(--faint);margin:4px 0 0;font-size:12px}.text-link{color:var(--teal);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.order-list{padding:5px 20px 10px}.order-row{border-bottom:1px solid var(--line-soft);grid-template-columns:58px minmax(150px,1.25fr) minmax(130px,.85fr) 115px 24px;align-items:center;gap:15px;padding:16px 0;display:grid}.order-row:last-child{border:0}.date-tile{background:var(--canvas);text-align:center;border-radius:9px;padding:8px 6px}.date-tile strong{font-size:18px;line-height:1;display:block}.date-tile span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:750}.primary-text{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.secondary-text{color:var(--faint);align-items:center;gap:4px;margin-top:5px;font-size:12px;display:flex}.row-arrow{color:var(--faint)}.status-badge{color:#60736f;text-transform:uppercase;white-space:nowrap;background:#eef2f1;border-radius:20px;align-items:center;gap:6px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-assigned{color:#506fc7;background:#edf2ff}.status-in_progress{color:#177b60;background:#e5f4ee}.status-planned{color:#a56a1c;background:#fff4df}.status-paused{color:#b45e33;background:#fff0e8}.status-draft{color:#607078;background:#f1f3f4}.customer-summary-list{padding:8px 20px 14px}.customer-summary-row{border-bottom:1px solid var(--line-soft);grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:64px;display:grid}.customer-summary-row:last-child{border-bottom:0}.customer-summary-row strong,.customer-summary-row small{display:block}.customer-summary-row strong{font-size:14px;font-weight:600}.customer-summary-row small{color:var(--faint);margin-top:3px;font-family:JetBrains Mono,monospace;font-size:11px}.customer-summary-row>svg{color:var(--faint)}.progress-block{padding:20px}.progress-ring{background:conic-gradient(var(--teal) 0 72%, #e9f0ee 72% 100%);border-radius:50%;justify-content:center;align-items:center;width:128px;height:128px;margin:7px auto 20px;display:flex;position:relative}.progress-ring:after{content:"";background:#fff;border-radius:50%;width:96px;height:96px;position:absolute}.progress-ring span{z-index:1;font-size:24px;font-weight:750;position:relative}.progress-legend{gap:10px;display:grid}.legend-row{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.legend-row span{align-items:center;gap:7px;display:flex}.legend-row i{background:var(--legend-color);border-radius:3px;width:7px;height:7px}.toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar-search{border:1px solid var(--line);color:var(--faint);background:#fff;border-radius:9px;align-items:center;gap:8px;width:100%;max-width:350px;padding:0 11px;display:flex}.toolbar-search input{border:0;outline:none;width:100%;padding:10px 0}.filter-group{gap:8px;display:flex}.select-control{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;outline:none;padding:9px 30px 9px 10px;font-size:14px}.data-table{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;overflow:hidden}.table-pagination{color:var(--faint);justify-content:space-between;align-items:center;padding:13px 16px;font-size:12px;display:flex}.table-pagination>div{align-items:center;gap:8px;display:flex}.table-pagination .icon-button{width:30px;height:30px}.reports-table .table-head,.reports-table .table-row{grid-template-columns:minmax(150px,.95fr) minmax(190px,1.25fr) minmax(125px,.7fr) minmax(140px,.75fr) minmax(140px,.75fr) 125px 24px}.report-title-cell{align-items:center;gap:10px;min-width:0;display:flex}.report-file-icon{color:var(--teal);background:#e3f5fa;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.report-overview{border:1px solid var(--line);background:linear-gradient(120deg,#e9f8fc,#fff);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px;padding:18px 20px;display:grid}.report-overview>div{gap:5px;display:grid}.report-overview strong{align-items:center;gap:6px;font-size:14px;display:flex}.report-overview small{color:var(--faint);font-size:11px}.report-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);gap:18px;display:grid}.report-section .detail-card-header h2{align-items:center;gap:8px;display:flex}.captured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.captured-field{border-bottom:1px solid var(--line-soft);gap:4px;padding:11px 0;display:grid}.captured-field:last-child{border-bottom:0}.captured-field span{color:var(--faint);font-size:11px}.captured-field strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.measurement-list{display:grid}.measurement-list>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.measurement-list>div:first-child{padding-top:0}.measurement-list>div:last-child{border:0;padding-bottom:0}.measurement-list span{color:var(--muted);font-size:12px}.measurement-list strong{font-family:JetBrains Mono,monospace;font-size:12px}.maintenance-list{display:grid}.maintenance-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 0;display:grid}.maintenance-list>div:last-child{border-bottom:0}.maintenance-list span{font-size:13px;font-weight:600}.maintenance-list small{color:var(--faint);grid-column:1/-1;font-size:11px}.maintenance-state{text-transform:uppercase;border-radius:12px;padding:4px 7px;font-size:10px}.state-ok{color:#177b60;background:#e5f4ee}.state-defect{color:#a84e4e;background:#f8ebeb}.state-na{color:#60736f;background:#eef2f1}.state-{color:#a56a1c;background:#fff4df}.defect-card{background:#fff8f3;border-left:3px solid #d7874b;gap:5px;margin-bottom:8px;padding:11px;display:grid}.defect-card:last-child{margin-bottom:0}.defect-card strong{font-size:13px}.defect-card span{color:var(--muted);font-size:12px}.photo-grid{gap:8px;display:grid}.photo-card{background:var(--canvas);border:1px solid var(--line-soft);color:var(--teal);border-radius:8px;align-items:center;gap:9px;padding:10px;display:flex}.photo-card span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-ready{color:#617f37;background:#f1f8eb;align-items:flex-start;gap:10px;padding:12px;display:flex}.report-ready strong,.report-ready span{display:block}.report-ready strong{font-size:12px}.report-ready span{color:var(--muted);margin-top:4px;font-size:11px}.signature-status{border-bottom:1px solid var(--line-soft);gap:3px;padding:10px 0;display:grid}.signature-status:last-child{border-bottom:0;padding-bottom:0}.signature-status:first-child{padding-top:0}.signature-status span{color:var(--faint);font-size:11px}.signature-status strong{font-size:13px}.signature-status small{color:var(--teal);font-size:11px}.signature-title{justify-content:space-between;align-items:center;display:flex}.signature-toggle{border:1px solid var(--line);color:var(--teal);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:30px;height:28px;display:inline-flex}.signature-toggle:hover{background:var(--tint)}.signature-canvas{border:1px dashed var(--outline);color:var(--teal);background:#fbfdfe;border-radius:7px;height:100px;margin-top:6px;padding:8px}.signature-canvas svg{width:100%;height:100%}.modal-backdrop{background:#17343d66;border:0;width:100%;position:absolute;inset:0}.planning-modal{background:#fff;border-radius:16px;gap:15px;width:100%;max-width:750px;max-height:calc(100vh - 48px);padding:24px;display:grid;position:relative;overflow:auto;box-shadow:0 18px 60px #17343d40}.modal-heading{justify-content:space-between;align-items:flex-start;display:flex}.modal-heading h2{margin:4px 0 5px;font-size:24px}.modal-heading p{color:var(--muted);margin:0;font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-field{gap:6px;display:grid}.form-field>span{color:var(--muted);font-size:11px;font-weight:650}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);color:var(--ink);outline-color:var(--teal);resize:vertical;background:#fff;border-radius:8px;width:100%;padding:10px}.form-field select:disabled{background:var(--canvas);color:var(--faint)}.form-error{color:var(--red);background:#fff0f0;border:1px solid #f3c5c5;border-radius:8px;padding:10px;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.edit-order-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.edit-order-fields .edit-notes,.edit-order-fields .modal-actions,.edit-order-fields .form-error{grid-column:1/-1}.report-download{margin-top:10px}.report-link:hover{background:var(--canvas)}.table-head,.table-row{align-items:center;gap:16px;padding:0 20px;display:grid}.table-head{border-bottom:1px solid var(--line);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;background:#f8faf9;min-height:42px;font-size:12px;font-weight:750}.table-row{border-bottom:1px solid var(--line-soft);min-height:68px;transition:background .14s}.table-row:last-child{border:0}.customer-table .table-head,.customer-table .table-row{grid-template-columns:minmax(210px,1.35fr) 120px minmax(190px,1fr) 90px 140px 32px}.team-table .table-head,.team-table .table-row{grid-template-columns:minmax(230px,1.5fr) 160px 120px 150px}.user-state{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.user-state i{background:#aab5b8;border-radius:50%;width:7px;height:7px}.user-state.active{color:var(--teal)}.user-state.active i{background:var(--teal)}.field-hint{color:var(--muted);font-size:11px}.technician-form-grid .field{grid-template-rows:auto auto 16px;align-content:start}.service-table .table-head,.service-table .table-row{grid-template-columns:120px minmax(180px,1.25fr) minmax(160px,1fr) 140px 120px 140px 32px}.installation-table .table-head,.installation-table .table-row{grid-template-columns:minmax(210px,1.3fr) 120px minmax(170px,1fr) 150px 140px 32px}.entity-cell{align-items:center;gap:11px;min-width:0;display:flex}.cell-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.cell-action{color:var(--faint);justify-content:center;align-items:center;display:flex}.contact-lines span{display:block}.contact-lines span+span{color:var(--faint);margin-top:3px;font-size:12px}.state-panel{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:230px;padding:32px;display:flex}.state-panel.error{color:var(--red)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-layer{z-index:70;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0419158c;border:0;position:absolute;inset:0}.modal{z-index:1;background:#fff;border-radius:16px;width:100%;max-width:590px;position:relative;overflow:hidden;box-shadow:0 28px 80px #02191440}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;display:flex}.modal-header h2{margin:0 0 5px;font-size:19px}.modal-header p{color:var(--muted);margin:0;font-size:11px}.modal-close{background:var(--canvas);border:0}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px 24px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);border-radius:9px;outline:none;width:100%;padding:10px 11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087f6c17}.field textarea{resize:vertical;min-height:80px}.form-error{color:#a84444;background:#fff0f0;border-radius:8px;grid-column:1/-1;padding:9px 11px;font-size:11px}.modal-footer{border-top:1px solid var(--line);background:#f8faf9;justify-content:flex-end;align-items:center;gap:9px;padding:15px 24px;display:flex}.detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:18px;display:grid}.detail-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;overflow:hidden}.detail-card-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.detail-card-header h2{margin:0;font-size:16px}.detail-body{padding:20px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.info-item label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:750;display:block}.info-item strong{font-size:14px;font-weight:600}.site-card,.device-card{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.site-card+.site-card,.device-card+.device-card{margin-top:9px}.entity-icon{background:var(--mint);color:var(--teal);border-radius:9px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.empty-inline{color:var(--faint);padding:8px 0;font-size:11px}.summary-hero{color:#fff;background:linear-gradient(135deg,#0d322c,#145d50);border-radius:14px;margin-bottom:18px;padding:25px 28px;position:relative;overflow:hidden}.summary-hero:after{content:"";border:34px solid #c9f05b17;border-radius:50%;width:180px;height:180px;position:absolute;top:-95px;right:-65px}.summary-hero h2{letter-spacing:-.7px;margin:7px 0;font-size:24px}.summary-hero p{color:#b6ccc7;margin:0;font-size:11px}.button{border-radius:var(--radius);min-height:40px}.button.secondary{color:#134d5b;background:#b6ebfb;border-color:#b6ebfb}.button.secondary:hover{background:#9bcfdf}.icon-button,.language-switch,.toolbar-search,.select-control,.field input,.field textarea{border-radius:var(--radius)}.metric-card,.panel,.data-table,.state-panel,.detail-card{border-color:var(--line);border-radius:var(--radius);box-shadow:none}.metric-icon,.date-tile,.entity-icon{border-radius:var(--radius)}.panel-header,.detail-card-header{border-color:var(--line)}.table-head,.modal-footer{background:#f0f4f6}.table-row:hover{background:#f6fafc}.field label,.info-item label,.table-head,.status-badge,.date-tile span{letter-spacing:.05em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-weight:500}.field input,.field textarea,.select-control,.toolbar-search{border-color:var(--technical-outline)}.field input:focus,.field textarea:focus,.select-control:focus,.toolbar-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.primary-text,.info-item strong,.date-tile strong{font-variant-numeric:tabular-nums}.service-table .table-row>:first-child .primary-text,.customer-table .table-row>:nth-child(2),.installation-table .table-row>:nth-child(2){font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:12px}.status-badge{color:#3d484d;background:#e5e9eb}.status-assigned,.status-in_progress{color:#004e5f;background:#b6ebfb}.status-planned,.status-paused{color:#3d484d;background:#dfe3e5}.status-completed{color:#004e5f;background:#b4ebff}.status-cancelled{color:#93000a;background:#ffdad6}.summary-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg,#2b4c56,#316573)}.summary-hero:after{border-color:#65d4f61f}.summary-hero .eyebrow{color:#65d4f6}.summary-hero p{color:#d6dbdd}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.modal-backdrop{background:#2c31338a}@media (max-width:1120px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.system-state{display:none}.service-table .table-head,.service-table .table-row{grid-template-columns:110px minmax(160px,1.2fr) minmax(140px,1fr) 120px 32px}.service-table .table-head>:nth-child(4),.service-table .table-row>:nth-child(4),.service-table .table-head>:nth-child(6),.service-table .table-row>:nth-child(6){display:none}}@media (max-width:820px){.button,.icon-button,.nav-link,.select-control,.toolbar-search{min-height:48px}.sidebar{display:none}.workspace{margin-left:0}.mobile-menu{display:inline-flex}.mobile-nav-layer{z-index:60;display:block;position:fixed;inset:0}.mobile-backdrop{background:#02191480;border:0;width:100%;position:absolute;inset:0}.mobile-sidebar{background:var(--navy);color:#fff;flex-direction:column;width:min(280px,86vw);height:100%;padding:28px 18px 20px;display:flex;position:relative}.mobile-close{position:absolute;top:14px;right:14px}.topbar{gap:14px;padding:0 20px}.global-search{flex:1;width:auto}.global-search kbd{display:none}.content{padding:28px 22px 50px}.detail-grid{grid-template-columns:1fr}.customer-table .table-head,.customer-table .table-row{grid-template-columns:minmax(180px,1fr) 100px 32px}.team-table .table-head,.team-table .table-row{grid-template-columns:minmax(180px,1fr) 120px 110px}.team-table .table-head>:nth-child(4),.team-table .table-row>:nth-child(4),.customer-table .table-head>:nth-child(3),.customer-table .table-head>:nth-child(4),.customer-table .table-head>:nth-child(5),.customer-table .table-row>:nth-child(3),.customer-table .table-row>:nth-child(4),.customer-table .table-row>:nth-child(5){display:none}.installation-table .table-head,.installation-table .table-row{grid-template-columns:minmax(180px,1fr) 120px 32px}.installation-table .table-head>:nth-child(3),.installation-table .table-head>:nth-child(4),.installation-table .table-head>:nth-child(5),.installation-table .table-row>:nth-child(3),.installation-table .table-row>:nth-child(4),.installation-table .table-row>:nth-child(5){display:none}.reports-table .table-head,.reports-table .table-row{grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) 125px 32px}.reports-table .table-head>:nth-child(3),.reports-table .table-head>:nth-child(4),.reports-table .table-head>:nth-child(5),.reports-table .table-row>:nth-child(3),.reports-table .table-row>:nth-child(4),.reports-table .table-row>:nth-child(5){display:none}}@media (max-width:580px){.topbar-actions{gap:8px}.notification-button{display:none}.content{padding:24px 15px 42px}.page-header{flex-direction:column;align-items:flex-start;gap:18px}.page-actions{width:100%}.page-actions .button{flex:1}.metrics-grid{grid-template-columns:1fr;gap:10px}.metric-card{min-height:124px;padding:16px}.metric-value{margin-top:14px;font-size:28px}.order-row{grid-template-columns:48px minmax(0,1fr) 20px}.order-row>:nth-child(3),.order-row>:nth-child(4){display:none}.toolbar{flex-direction:column;align-items:stretch}.toolbar-search{max-width:none}.filter-group{overflow-x:auto}.service-table .table-head,.service-table .table-row{grid-template-columns:100px minmax(150px,1fr) 28px}.service-table .table-head>:nth-child(3),.service-table .table-head>:nth-child(4),.service-table .table-head>:nth-child(5),.service-table .table-head>:nth-child(6),.service-table .table-row>:nth-child(3),.service-table .table-row>:nth-child(4),.service-table .table-row>:nth-child(5),.service-table .table-row>:nth-child(6){display:none}.reports-table .table-head,.reports-table .table-row{grid-template-columns:minmax(160px,1fr) 115px 28px}.reports-table .table-head>:nth-child(2),.reports-table .table-head>:nth-child(3),.reports-table .table-head>:nth-child(4),.reports-table .table-head>:nth-child(5),.reports-table .table-row>:nth-child(2),.reports-table .table-row>:nth-child(3),.reports-table .table-row>:nth-child(4),.reports-table .table-row>:nth-child(5){display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.info-grid{grid-template-columns:1fr}}.auth-loading{min-height:100vh;color:var(--teal);place-items:center;font-weight:600;display:grid}.login-page{background:var(--canvas);grid-template-columns:minmax(380px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-intro{color:#fff;background:linear-gradient(145deg,#173f49 0%,#0a697e 52%,#1290ad 100%);flex-direction:column;min-height:100vh;padding:clamp(34px,6vw,78px);display:flex;position:relative;overflow:hidden}.login-intro:before,.login-intro:after{content:"";border:1px solid #b6ebfb2e;border-radius:50%;width:620px;height:620px;position:absolute;top:18%;right:-220px}.login-intro:after{width:420px;height:420px;top:54%;right:60px}.login-intro-brand,.login-mobile-brand{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.login-intro-brand span,.login-mobile-brand span{background:#1da1c1;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.login-intro-brand strong,.login-mobile-brand strong{letter-spacing:-1px;font-size:27px}.login-intro-copy{z-index:1;max-width:560px;margin:auto 0;position:relative}.login-intro-copy>span{color:#b6ebfb;letter-spacing:.11em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:11px}.login-intro-copy h1{letter-spacing:-2.2px;margin:18px 0;font-size:clamp(36px,4vw,58px);line-height:.99}.login-intro-copy p{color:#d6edf3;max-width:480px;margin:0;font-size:17px;line-height:1.6}.login-intro-points{z-index:1;gap:12px;display:grid;position:relative}.login-intro-points span{color:#e7f8fc;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.login-intro-points svg{color:#65d4f6}.login-intro>small{color:#b6e1ed;z-index:1;margin-top:54px;font-size:11px;position:relative}.login-panel{justify-content:center;align-items:center;padding:36px;display:flex}.login-card{gap:20px;width:100%;max-width:405px;display:grid}.login-mobile-brand{color:var(--teal);display:none}.login-mobile-brand span{width:36px;height:36px}.login-mobile-brand strong{font-size:24px}.login-heading>span{color:var(--teal);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:flex}.login-heading h2{color:var(--ink);letter-spacing:-1px;margin:10px 0 7px;font-size:30px}.login-heading p{color:var(--faint);margin:0;line-height:1.5}.login-card label{color:var(--muted);gap:8px;font-size:12px;font-weight:700;display:grid}.login-card input{border-radius:var(--radius);color:var(--ink);background:#fff;border:1px solid #c8dadd;outline:none;width:100%;padding:13px 14px;transition:border-color .15s,box-shadow .15s}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1da1c126}.login-error{border-radius:var(--radius);color:#a12424;background:#fff0f0;border:1px solid #f1c2c2;padding:11px 12px;font-size:13px}.login-submit{background:var(--teal);border:1px solid var(--teal);border-radius:var(--radius);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:700;transition:background .16s,transform .16s;display:flex}.login-submit:hover{background:var(--teal-dark);transform:translateY(-1px)}.login-submit:disabled{cursor:wait;opacity:.68;transform:none}.login-help{color:var(--faint);text-align:center;margin:0;font-size:12px}@media (max-width:820px){.login-page{display:block}.login-intro{display:none}.login-panel{min-height:100vh;padding:28px}.login-mobile-brand{margin-bottom:26px;display:flex}}.logout-button{color:#6d7d81;cursor:pointer;background:0 0;border:0;margin:7px auto 0;font-size:11px;display:block}
