@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}:root{--bg:#f7f8fa;--surface:#ffffff;--surface-2:#f0f4fa;--surface-3:#f8fafc;--line:#dfe5ee;--text:#111111;--muted:#646a73;--primary:#1268d8;--primary-dark:#064da8;--danger:#a53c35;--warning:#b97318;--shadow:0 18px 44px rgba(20,35,55,0.08)}.dark{--bg:#0b111c;--surface:#111827;--surface-2:#172235;--surface-3:#0f1724;--line:#263449;--text:#f5f7fb;--muted:#aab5c4;--primary:#4c93ff;--primary-dark:#82b5ff;--danger:#ff7f78;--warning:#f2b45f;--shadow:0 18px 44px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;font-feature-settings:"cv11","ss01"}body.signature-mode-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.centered,.login-page{display:grid;min-height:100vh;place-items:center}.login-page{background:linear-gradient(90deg,rgba(18,104,216,.08),rgba(255,255,255,0) 42%),var(--bg);padding:24px}.login-card{display:grid;grid-gap:16px;gap:16px;width:min(440px,calc(100vw - 32px));padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-logo{justify-self:center;width:min(300px,100%);height:auto;object-fit:contain}.app-shell{display:block;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;display:flex;flex-direction:column;gap:24px;border-right:1px solid var(--line);background:var(--surface);padding:24px}.brand{display:flex;align-items:flex-start;justify-content:center;min-height:208px;border-bottom:1px solid var(--line);padding-top:72px;padding-bottom:28px}.brand img{width:min(220px,100%);height:auto}.side-nav{display:grid;grid-gap:8px;gap:8px}.logout-button{min-height:34px;margin-top:auto;font-size:.76rem;font-weight:700}.user-menu{position:relative;margin-top:auto}.user-menu-trigger{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;grid-gap:10px;gap:10px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px;text-align:left}.row-menu svg,.user-menu-content svg,.user-menu-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.row-actions svg circle,.user-menu-trigger svg circle{stroke:none}.avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:.78rem;font-weight:900}.user-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.user-meta small,.user-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:.82rem}.user-meta small{color:var(--muted);font-size:.72rem}.row-menu,.user-menu-content{position:absolute;z-index:30;display:grid;grid-gap:4px;gap:4px;min-width:190px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:6px}.user-menu-content{right:0;bottom:calc(100% + 8px);left:0}.row-menu button,.user-menu-content button{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--text);padding:0 10px;text-align:left;font-size:.84rem;font-weight:700}.row-menu button:hover,.user-menu-content button:hover{background:var(--surface-2)}.remote-status-line{display:inline-flex;align-items:center;gap:6px;overflow:hidden;color:var(--text);font-size:.72rem;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.menu-status-dot,.remote-status-dot{width:10px;height:10px;border-radius:999px}.menu-status-dot.online,.remote-status-dot.online{background:#10a66f}.menu-status-dot.busy,.remote-status-dot.busy{background:#d98200}.menu-status-dot.offline,.remote-status-dot.offline{background:var(--muted)}.row-menu button.danger,.user-menu-content button.danger{color:var(--danger)}.nav-item{width:100%;min-height:42px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);padding:0 16px;text-align:left;font-size:.78rem;font-weight:800;text-transform:uppercase}.nav-item.active,.nav-item:hover{border-color:var(--line);background:#eef5ff;color:var(--primary-dark)}.workspace{--content-width:100%;margin-left:280px;width:calc(100% - 280px);max-width:calc(100% - 280px);min-width:0;min-height:100vh;padding:28px;background:linear-gradient(90deg,rgba(18,104,216,.08),rgba(255,255,255,0) 42%),var(--bg)}.topbar-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.workspace>*{width:min(var(--content-width),100%);max-width:var(--content-width);min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;margin-bottom:18px}.topbar h1{line-height:1.12;white-space:nowrap}.topbar .button,.topbar .icon-button{flex:0 0 auto}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:18px}.eyebrow{margin:0 0 5px;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eyebrow,h1{color:var(--primary)}h1{font-size:clamp(1.7rem,3vw,2.35rem);font-weight:900}h1,h2{margin:0}h2{font-size:1rem}.login-card h1{line-height:1.14}.login-card p{margin:0;line-height:1.45}.form-panel,.search-panel,.status-band,.table-panel{display:block;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.form-panel,.machine-form,.search-panel,.status-band,.table-panel{width:min(var(--content-width),100%);max-width:var(--content-width);min-width:0}.machine-form{display:grid;grid-gap:18px;gap:18px}.machine-form>.section-header{margin-bottom:0}.form-card,.machine-form>.section-header{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.form-card{display:grid;grid-gap:16px;gap:16px}.form-card h3{margin:0;color:var(--text);font-size:.98rem}.component-card,.component-list{display:grid;grid-gap:14px;gap:14px}.component-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:14px}.component-card .section-header,.form-card .section-header{margin-bottom:0}.support-grid{border-top:1px solid var(--line);margin-top:2px;padding-top:16px}.status-band{margin-bottom:18px;border-left:5px solid var(--primary);box-shadow:none}.status-band strong{display:block;width:100%;line-height:1.45;white-space:normal}.status-band span{display:block;margin-top:6px;color:var(--muted);line-height:1.4}.view{display:grid;width:min(var(--content-width),100%);max-width:var(--content-width);min-width:0;grid-gap:18px;gap:18px}.view>*{width:100%}label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.88rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #c9d4d0;border-radius:6px;background:var(--surface);color:var(--text);padding:11px 12px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(18,104,216,.14)}.checkbox-field{display:flex;align-items:center;gap:10px;min-height:42px}.checkbox-field input{width:18px;height:18px;margin:0}.button{min-height:40px;border:1px solid transparent;border-radius:999px;background:var(--surface-2);color:var(--text);padding:0 16px;font-weight:800}.button.primary{background:var(--primary);color:#fff}.button.ghost{border-color:var(--line);background:transparent}.icon-button{display:inline-grid;width:32px;height:32px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--primary-dark);line-height:1}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:transparent;color:var(--primary);transform:translateY(-1px)}.icon-button.danger{color:var(--danger);font-size:1.45rem}.icon-button.download,.icon-button.edit{color:var(--primary-dark)}.icon-button.download{width:38px;height:38px;border:0;background:transparent;box-shadow:none}.icon-button.download svg{width:28px;height:28px;stroke-width:2.25}.icon-button.download:hover{background:transparent;color:var(--primary)}.icon-button.add-action,.icon-button.save-action{width:42px;height:42px;background:transparent;color:var(--primary-dark);box-shadow:none}.topbar-actions .icon-button{width:42px;height:42px;border-radius:12px}.topbar-actions .icon-button svg{width:24px;height:24px}.icon-button.add-action svg{width:30px;height:30px;stroke-width:2.6}.icon-button.save-action{width:42px;height:42px}.icon-button.save-action svg{width:26px;height:26px}.icon-button.add-action:hover,.icon-button.save-action:hover{background:transparent;color:var(--primary)}.form-message{color:var(--muted);line-height:1.4}.auth-links{display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-top:-4px}.auth-links button{border:0;background:transparent;color:var(--primary);padding:0;font-size:.84rem;font-weight:700}.auth-links button:hover{color:var(--primary-dark)}.auth-secondary-action{justify-self:center}.segmented-control{display:inline-flex;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);padding:5px}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:0 16px;font-weight:800}.segmented-control button.active,.segmented-control button:hover{background:var(--surface);color:var(--primary-dark)}.segmented-control button.active{box-shadow:0 8px 22px rgba(18,104,216,.12)}.segmented-control svg{width:18px;height:18px;flex:0 0 auto}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.wide{grid-column:1/-1}.signature-panel{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:14px}.signature-panel .section-header{margin-bottom:0}.signature-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.signature-expand-button{display:none}.signature-panel h3,.signature-panel p{margin:0}.signature-panel p{margin-top:5px;color:var(--muted);font-size:.84rem;font-weight:600}.signature-canvas-wrap{position:relative}.signature-canvas{width:100%;height:180px;border:1px solid #c9d4d0;border-radius:6px;background:#fff;touch-action:none}.signature-expanded{position:fixed;inset:0;z-index:1200;grid-template-rows:auto minmax(0,1fr);width:100vw;height:100dvh;border-radius:0;padding:16px}.signature-expanded .signature-canvas-wrap{min-height:0}.signature-expanded .signature-canvas{height:min(68dvh,520px)}.signature-guide{position:absolute;right:8%;bottom:32px;left:8%;display:flex;justify-content:center;border-bottom:1px solid rgba(86,97,112,.55);color:rgba(86,97,112,.72);font-size:.74rem;font-weight:700;pointer-events:none}.signature-guide span{transform:translateY(18px)}.details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.details-grid div{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:12px}.details-grid span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.details-grid strong{overflow-wrap:anywhere}.machine-dashboard{gap:20px}.dashboard-card,.machine-hero{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.machine-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);grid-gap:30px;gap:30px;align-items:center;padding:28px}.machine-hero-main{display:grid;grid-gap:28px;gap:28px;min-width:0}.machine-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.machine-title-row h2{color:var(--text);font-size:clamp(2rem,4vw,3.1rem);font-weight:850;line-height:.96;text-transform:uppercase}.code-pill,.soft-pill{display:inline-flex;align-items:center;min-height:32px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));color:var(--primary);padding:0 14px;font-weight:750;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soft-pill.warning-pill{background:color-mix(in srgb,#d98200 14%,var(--surface-2));color:#b76b00}.soft-pill.danger-pill{background:color-mix(in srgb,var(--danger) 12%,var(--surface-2));color:var(--danger)}.machine-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:22px 32px;gap:22px 32px}.card-title,.machine-metrics div{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;min-width:0}.card-title svg,.contract-card svg,.machine-metrics svg{width:24px;height:24px;fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.machine-metrics span{display:block;color:var(--muted);font-size:.78rem;font-weight:550;white-space:nowrap}.machine-metrics p{min-width:0;margin:0}.machine-metrics strong{display:block;margin-top:2px;color:var(--text);font-size:.98rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-metrics .metric-wide{grid-column:1/-1}.machine-metrics .metric-wide strong{white-space:nowrap}.contract-card{display:grid;justify-items:center;grid-gap:6px;gap:6px;min-height:172px;border-radius:12px;background:linear-gradient(145deg,rgba(18,104,216,.12),rgba(16,185,129,.14));padding:24px;text-align:center}.contract-card.inactive{background:linear-gradient(145deg,rgba(165,60,53,.1),rgba(100,106,115,.12))}.contract-card.negotiating{background:linear-gradient(145deg,rgba(217,130,0,.14),rgba(18,104,216,.08))}.contract-card svg{width:34px;height:34px;stroke:#10a567}.contract-card.inactive svg{stroke:var(--danger)}.contract-card.negotiating svg{stroke:#d98200}.contract-card strong{color:#0f9b5f;font-size:1.08rem;font-weight:800}.contract-card.inactive strong{color:var(--danger)}.contract-card.negotiating strong{color:#b76b00}.contract-card small,.contract-card span{color:var(--muted);font-size:.82rem;font-weight:600}.contract-card b{color:var(--text);font-size:.9rem}.contract-card em{color:#0f9b5f;font-style:normal;font-size:1.35rem;font-weight:850}.contract-card.inactive em{color:var(--danger)}.contract-card.negotiating em{color:#b76b00}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.dashboard-card{display:grid;grid-template-rows:32px minmax(0,auto);grid-gap:18px;gap:18px;align-content:start;min-width:0;padding:18px}.overview-page{gap:18px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}.kpi-card{display:grid;grid-gap:7px;gap:7px;min-height:126px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.kpi-card small,.kpi-card span{color:var(--muted);font-size:.78rem;font-weight:650}.kpi-card strong{color:var(--text);font-size:clamp(1.7rem,3vw,2.35rem);font-weight:850;letter-spacing:0}.kpi-card.accent strong{color:var(--primary)}.kpi-card.success strong{color:#0f9b5f}.kpi-card.warning strong{color:#d48114}.kpi-card.danger strong{color:var(--danger)}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;grid-gap:16px;gap:16px}.wide-card{grid-column:span 2}.trend-chart{grid-template-columns:repeat(6,minmax(34px,1fr));min-height:220px;grid-gap:14px;gap:14px;border-radius:10px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--primary) 5%,transparent));padding:16px 8px 0}.trend-bar,.trend-chart{display:grid;align-items:end}.trend-bar{grid-template-rows:24px minmax(0,1fr) 24px;justify-items:center;height:100%;min-width:0}.trend-bar small,.trend-bar span{color:var(--muted);font-size:.74rem;font-weight:700}.trend-bar div{width:min(42px,72%);border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,var(--primary),#0f4ea8);min-height:8px}.bar-list{display:grid;grid-gap:12px;gap:12px}.bar-list.compact{gap:8px}.bar-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px 12px;gap:7px 12px;align-items:center}.bar-list span,.contract-summary-list span,.mini-list span{overflow:hidden;color:var(--muted);font-size:.82rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.bar-list strong,.contract-summary-list strong,.mini-list strong{color:var(--text);font-weight:800}.bar-list em{grid-column:1/-1;overflow:hidden;height:7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2))}.bar-list i{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--primary)}.contract-summary-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.contract-summary-list div{display:grid;grid-gap:4px;gap:4px;border-radius:10px;background:var(--surface-2);padding:10px}.state-map-list{display:grid;align-content:start;grid-gap:6px;gap:6px}.geo-card{grid-column:span 2;grid-row:span 2}.geo-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,.28fr);grid-gap:14px;gap:14px;min-height:520px}.real-map{overflow:hidden;min-height:520px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.real-map .leaflet-popup-content{margin:12px 14px;color:#152033;font-family:var(--font-sans),system-ui,sans-serif;line-height:1.35}.real-map .leaflet-popup-content strong{display:block;margin-bottom:6px;color:#1268d8}.real-map .leaflet-popup-content ul{margin:0;padding-left:18px}.state-map-list button{display:flex;align-items:center;justify-content:space-between;min-height:34px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--primary) 4%,var(--surface));color:var(--text);padding:0 10px;cursor:pointer}.state-map-list button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary)}.state-map-list span{overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.state-map-list strong{color:var(--primary);font-size:.82rem;font-weight:850}.empty-card-note{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.donut-panel{display:grid;grid-template-columns:140px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center}.donut{display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at center,var(--surface) 58%,transparent 59%),conic-gradient(var(--primary) var(--value),color-mix(in srgb,var(--primary) 10%,var(--surface-2)) 0)}.donut strong{color:var(--primary);font-size:1.4rem;font-weight:850}.donut span{margin-top:-32px;color:var(--muted);font-size:.72rem;font-weight:700}.mini-list{display:grid;grid-gap:10px;gap:10px}.mini-list div{display:flex;justify-content:space-between;gap:12px}.bottom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-rank-card{grid-column:1}.overview-table{display:grid;grid-gap:7px;gap:7px}.overview-table button{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.8fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:42px;border:0;border-radius:8px;background:transparent;color:var(--text);padding:0 8px;text-align:left;cursor:pointer}.overview-table button:hover{background:var(--surface-2)}.overview-table em,.overview-table span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-table span{font-weight:750}.overview-table em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:650}.overview-table strong{justify-self:end;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));color:var(--primary);padding:4px 8px;font-size:.78rem;font-weight:800}.card-title{grid-template-columns:30px minmax(0,1fr) auto;height:32px;min-height:32px;align-items:center}.card-title h3,.history-list em,.history-list span,.history-list strong,.overview-table em,.overview-table span,.soft-pill,.spec-list dd,.spec-list dt{min-width:0}.card-title h3{margin:0;font-size:1rem;font-weight:750;line-height:1.2}.card-title .button{min-height:32px;padding:0 12px;font-size:.78rem}.card-title .soft-pill{align-self:center}.spec-list{display:grid;grid-gap:0;gap:0;margin:0}.spec-list div{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;border-bottom:1px solid var(--line)}.spec-list div:last-child{border-bottom:0}.spec-list dt{color:var(--muted);font-size:.82rem;font-weight:550}.spec-list dd{margin:0;color:var(--text);font-weight:650;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-list{display:grid;grid-gap:4px;gap:4px}.history-list button{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text);padding:0 8px;text-align:left}.history-list button:hover{background:var(--surface-2)}.history-list em,.history-list span{color:var(--muted);font-size:.8rem;font-style:normal;font-weight:600}.history-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:650}.history-list em{border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-2));color:var(--primary);padding:4px 8px}.history-list p{margin:0;color:var(--muted);font-size:.9rem}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.quick-action-grid button{display:grid;grid-gap:8px;gap:8px;min-height:74px;place-items:center;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface));color:var(--primary);padding:12px;font-size:.82rem;font-weight:700}.quick-action-grid button:disabled{cursor:not-allowed;opacity:.45}.quick-action-grid button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 40%,var(--line));transform:translateY(-1px)}.quick-action-grid svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-page{width:min(var(--content-width),100%)}.chat-shell{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,2fr);grid-gap:16px;gap:16px;align-items:stretch}.chat-list-panel,.chat-main-panel,.chat-presence-panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.chat-presence-panel{display:none}.chat-conversation-list,.online-list{display:grid;grid-gap:10px;gap:10px}.chat-conversation-list button{display:grid;grid-gap:6px;gap:6px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--text);padding:12px;text-align:left}.chat-conversation-list button.active,.chat-conversation-list button:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.chat-conversation-list small,.chat-conversation-list span,.chat-header p,.chat-meta-strip,.empty-state,.online-list small{color:var(--muted)}.chat-conversation-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-main-panel{display:grid;grid-template-rows:auto auto minmax(360px,1fr) auto;grid-gap:14px;gap:14px}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.chat-header h2{margin:0;font-size:1.35rem}.section-kicker{color:var(--primary);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.chat-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chat-actions select{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 10px}.danger-button{border-color:color-mix(in srgb,var(--danger) 38%,var(--line));color:var(--danger)}.chat-meta-strip{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:.9rem}.chat-message-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:4px}.chat-message{width:min(78%,680px);border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:10px 12px}.chat-message.outbound{align-self:flex-end;border-color:color-mix(in srgb,var(--primary) 26%,var(--line));background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.chat-message.system{align-self:center;width:min(92%,620px);text-align:center;background:var(--surface-2)}.chat-message div{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.78rem}.chat-message p{margin:8px 0 0;line-height:1.45;white-space:pre-wrap}.chat-media-button{width:max-content;margin-top:10px;border:1px solid color-mix(in srgb,var(--primary) 36%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--primary);padding:8px 12px;font-size:.82rem;font-weight:800}.chat-media-button:hover{background:color-mix(in srgb,var(--primary) 14%,var(--surface))}.chat-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:14px}.chat-reply-form textarea{min-height:70px;resize:vertical}.online-list div{display:grid;grid-template-columns:10px minmax(0,1fr);grid-gap:4px 10px;gap:4px 10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:10px}.online-list small{grid-column:2}.presence-dot{width:10px;height:10px;border-radius:999px;background:#10a66f;box-shadow:0 0 0 4px color-mix(in srgb,#10a66f 14%,transparent)}.transfer-card{width:min(480px,100%)}.transfer-list{display:grid;grid-gap:10px;gap:10px}.transfer-list button{display:grid;grid-template-columns:10px minmax(0,1fr);grid-gap:4px 10px;gap:4px 10px;align-items:center;min-height:54px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--text);padding:10px;text-align:left}.transfer-list button:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.transfer-list small{grid-column:2;color:var(--muted)}.chat-empty-panel{display:grid;min-height:420px;place-items:center;align-content:center;color:var(--muted);text-align:center}.full-history-card .section-header{margin-bottom:0}.full-history-card{scroll-margin-top:24px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:8px}table{width:100%;min-width:1120px;border-collapse:collapse;background:var(--surface)}.home-table{min-width:0;table-layout:fixed}.home-table td,.home-table th{box-sizing:border-box;overflow:hidden;padding:11px 9px;text-overflow:ellipsis;white-space:nowrap}.home-table td:first-child,.home-table th:first-child{width:13%}.home-table td:nth-child(2),.home-table th:nth-child(2){width:14%}.home-table td:nth-child(3),.home-table th:nth-child(3){width:17%}.home-table td:nth-child(4),.home-table th:nth-child(4){width:22%}.home-table td:nth-child(5),.home-table th:nth-child(5){width:12%}.home-table td:nth-child(6),.home-table th:nth-child(6){width:8%}.home-table td:nth-child(7),.home-table th:nth-child(7){width:14%}.home-table td:last-child,.home-table th:last-child{text-align:left}.home-table .sort-header{max-width:100%;white-space:nowrap}.history-table{min-width:760px;table-layout:fixed}.history-table td:first-child,.history-table th:first-child{width:16%}.history-table td:nth-child(2),.history-table td:nth-child(3),.history-table th:nth-child(2),.history-table th:nth-child(3){width:20%}.history-table td:nth-child(4),.history-table th:nth-child(4){width:36%}.history-table td:nth-child(5),.history-table th:nth-child(5){width:8%}.compact-table{min-width:520px}.schedule-table{min-width:1120px;table-layout:fixed}.schedule-table td:first-child,.schedule-table td:nth-child(2),.schedule-table th:first-child,.schedule-table th:nth-child(2){width:9%}.schedule-table td:nth-child(3),.schedule-table th:nth-child(3){width:11%}.schedule-table td:nth-child(4),.schedule-table th:nth-child(4){width:15%}.schedule-table td:nth-child(5),.schedule-table th:nth-child(5){width:20%}.schedule-table td:nth-child(6),.schedule-table th:nth-child(6){width:12%}.schedule-table td:nth-child(7),.schedule-table th:nth-child(7){width:24%}.schedule-table td:nth-child(8),.schedule-table th:nth-child(8){width:8%;text-align:center}.schedule-table td{vertical-align:top}.schedule-table td:nth-child(5),.schedule-table td:nth-child(7){overflow-wrap:anywhere;white-space:pre-wrap}td,th{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:middle}td:last-child,th:last-child{text-align:center}th{background:var(--surface-3);color:var(--muted);font-size:.8rem;text-transform:uppercase}.sort-header{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;text-transform:inherit}.sort-header span{color:var(--primary);font-size:.78rem}.sort-header:hover{color:var(--primary-dark)}tbody tr:hover{background:var(--surface-2)}.clickable-row{cursor:pointer}.link-button{border:0;background:transparent;color:var(--primary-dark);padding:0;font-weight:800;text-align:left}.actions-row,.modal-actions{gap:10px;flex-wrap:wrap}.actions-row,.modal-actions,.service-form-actions{display:flex;align-items:center;justify-content:flex-end}.service-form-actions{gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.row-actions{position:relative;display:inline-flex;justify-content:center}.menu-trigger svg{width:22px;height:22px}.row-menu{top:calc(100% + 6px);right:0;min-width:180px}.floating-row-menu{position:fixed;top:var(--menu-top,auto);right:var(--menu-right,12px);z-index:1250}.modal-backdrop{position:fixed;inset:0;width:100vw;min-height:100vh;min-height:100dvh;z-index:1000;display:grid;place-items:center;background:rgba(17,24,39,.38);padding:20px}.modal-card{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px rgba(20,35,55,.22);padding:22px}.record-details{display:grid;grid-gap:14px;gap:14px}.record-details div{display:grid;grid-gap:5px;gap:5px;border-top:1px solid var(--line);padding-top:12px}.record-details span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.record-details p{margin:0;line-height:1.5}.signature-detail{grid-column:1/-1}.signature-detail img{display:block;width:min(420px,100%);min-height:110px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff}.help-card p{margin:0;color:var(--muted);line-height:1.55}.help-card{width:min(920px,100%)}.help-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.help-topic-list article{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);padding:12px}.help-topic-list h3{margin:0;color:var(--text);font-size:.9rem}.modal-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}@media (max-width:920px){.app-shell{display:block}.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line)}.workspace{margin-left:0;width:100%;max-width:100%}.logout-button{margin-top:0}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.machine-hero{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-card,.wide-card{grid-column:1/-1}.geo-card{grid-row:auto}.machine-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:921px) and (max-width:1240px){.machine-hero{grid-template-columns:minmax(0,1fr)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-card{min-height:auto}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-card,.wide-card{grid-column:1/-1}.geo-card{grid-row:auto}}@media (max-width:680px){.app-shell{display:block}.workspace{--content-width:100%;padding:16px}.sidebar{gap:12px;padding:14px 16px}.brand{align-items:center;min-height:auto;padding:8px 0 14px}.brand img{width:min(190px,72vw)}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.nav-item{min-height:36px;padding:0 8px;text-align:center;font-size:.68rem}.user-menu-trigger{grid-template-columns:34px minmax(0,1fr) 24px}.section-header,.topbar{align-items:stretch;flex-direction:column}.topbar{gap:14px}.topbar h1{white-space:normal}.topbar-actions{justify-content:flex-start}.actions-row,.modal-actions,.service-form-actions{align-items:stretch;flex-direction:column}.details-grid,.machine-hero{grid-template-columns:1fr}.machine-hero{gap:18px;padding:18px}.machine-title-row{flex-direction:column}.machine-title-row h2{font-size:clamp(1.9rem,12vw,2.8rem)}.bottom-grid,.chat-shell,.history-list button,.kpi-grid,.machine-metrics,.overview-grid,.quick-action-grid{grid-template-columns:1fr}.geo-card,.wide-card{grid-column:auto}.geo-card{grid-row:auto}.geo-panel{grid-template-columns:1fr}.real-map{min-height:360px}.donut-panel,.help-topic-list{grid-template-columns:1fr}.donut-panel{justify-items:center}.card-title{grid-template-columns:28px minmax(0,1fr);height:auto;min-height:32px}.card-title .button,.card-title .soft-pill{grid-column:2;justify-self:start;margin-top:4px}.overview-table button{grid-template-columns:1fr auto}.overview-table em{grid-column:1/-1}.spec-list div{align-items:flex-start;flex-direction:column;gap:4px;padding:9px 0}.spec-list dd{text-align:left;max-width:100%}.segmented-control{width:100%}.segmented-control button{flex:1 1}.auth-links{justify-content:center}.fields-grid{grid-template-columns:1fr}.button{width:100%}.card-title .button,.row-menu .button,.signature-actions .button{width:auto}.icon-button.add-action,.icon-button.save-action,.topbar-actions .icon-button{width:42px;height:42px}.signature-panel .section-header{gap:12px}.signature-actions{justify-content:flex-start}.chat-header,.chat-reply-form{grid-template-columns:1fr;flex-direction:column}.chat-actions{justify-content:flex-start}.chat-message{width:100%}}@media (max-width:760px){.signature-expand-button{display:inline-flex}.signature-expanded{overflow:auto}.signature-expanded .section-header{align-items:center;flex-direction:row}.signature-expanded .signature-actions{flex:0 0 auto}}@media (max-width:760px) and (orientation:landscape){.signature-expanded{grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);grid-template-rows:1fr;gap:14px}.signature-expanded .section-header{align-content:start;align-items:stretch;flex-direction:column;margin-bottom:0}.signature-expanded .signature-canvas{height:calc(100dvh - 32px)}}