:root{font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;min-width:100%;min-height:100vh;margin:0;padding:0}html{background:#f4f6f8}body{color:#1f2937;background:#f4f6f8;min-width:320px;min-height:100vh}button,input,select{font:inherit}.mechanic-detail-page{flex-direction:column;gap:16px;padding:22px;display:flex}.mechanic-back{color:#526277;font-size:12px;text-decoration:none}.mechanic-detail-top h1{margin:8px 0 3px}.mechanic-detail-top p{color:#64748b;margin:0;font-size:12px}.mechanic-detail-error{color:#9b2525;background:#fff4f4;border:1px solid #efc0c0;border-radius:8px;padding:12px;font-size:12px}.mechanic-detail-kpis{grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;display:grid}.mechanic-detail-kpis>div,.mechanic-detail-grid section,.mechanic-detail-section{background:#fff;border:1px solid #e1e6ed;border-radius:9px}.mechanic-detail-kpis>div{padding:14px}.mechanic-detail-kpis span,.mechanic-detail-kpis small{color:#68778b;font-size:11px;display:block}.mechanic-detail-kpis strong{margin:6px 0 3px;font-size:20px;display:block}.mechanic-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mechanic-detail-grid section,.mechanic-detail-section{overflow:hidden}.mechanic-detail-grid h2,.mechanic-detail-section h2{margin:0;padding:14px 16px;font-size:15px}.mechanic-detail-page table{border-collapse:collapse;width:100%;font-size:12px}.mechanic-detail-page th{text-align:left;color:#657489;white-space:nowrap;background:#f7f9fb;border-top:1px solid #e8ecf1;border-bottom:1px solid #e8ecf1;padding:8px 10px}.mechanic-detail-page td{border-bottom:1px solid #eef1f4;padding:8px 10px}.mechanic-detail-page td small{color:#8b97a8;margin-top:2px;display:block}.mechanic-detail-section-header{justify-content:space-between;align-items:center;gap:20px;padding-right:14px;display:flex}.mechanic-detail-section-header h2{padding-bottom:2px}.mechanic-detail-section-header p{color:#7b8798;margin:0 0 12px 16px;font-size:11px}.mechanic-detail-section-header form{gap:6px;display:flex}.mechanic-detail-section-header input{border:1px solid #d5dbe3;border-radius:6px;width:300px;height:34px;padding:0 10px}.mechanic-detail-section-header button{color:#fff;cursor:pointer;background:#1e293b;border:0;border-radius:6px;height:34px;padding:0 14px}.mechanic-detail-table-scroll{overflow-x:auto}@media (width<=1300px){.mechanic-detail-kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.mechanic-detail-grid{grid-template-columns:1fr}.mechanic-detail-kpis{grid-template-columns:repeat(2,1fr)}}@keyframes mechanic-spin{to{transform:rotate(360deg)}}.mechanic-loading-banner{color:#334155;background:#fff;border:1px solid #d8e0ea;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.mechanic-loading-banner strong{font-size:13px;display:block}.mechanic-loading-banner span{color:#718096;margin-top:2px;font-size:11px;display:block}.mechanic-loading-spinner{border:3px solid #dbe2ea;border-top-color:#334155;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite mechanic-spin}.mechanic-period-filter{background:#fff;border:1px solid #e1e6ed;border-radius:9px;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;padding:14px 16px;display:flex}.mechanic-period-filter-title{min-width:280px}.mechanic-period-filter-title strong{color:#334155;margin-bottom:4px;font-size:13px;display:block}.mechanic-period-filter-title span{color:#718096;max-width:650px;font-size:11px;line-height:1.45;display:block}.mechanic-period-filter form{align-items:flex-end;gap:10px;display:flex}.mechanic-period-filter label{flex-direction:column;gap:4px;display:flex}.mechanic-period-filter label span{color:#64748b;font-size:10px}.mechanic-period-filter input{height:34px;font:inherit;background:#fff;border:1px solid #d5dbe3;border-radius:6px;padding:0 9px}.mechanic-period-filter button{color:#fff;cursor:pointer;background:#1e293b;border:0;border-radius:6px;height:34px;padding:0 16px}.mechanic-period-filter button:disabled{opacity:.55;cursor:default}@media (width<=900px){.mechanic-period-filter{flex-direction:column;align-items:stretch}.mechanic-period-filter form{flex-wrap:wrap}}.mechanic-material-header h2{margin-bottom:3px}.mechanic-material-header p{color:#718096;margin:0 0 14px;font-size:11px}.mechanic-material-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 14px 16px;display:grid}.mechanic-material-kpis>div{background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;padding:12px}.mechanic-material-kpis span{color:#64748b;margin-bottom:5px;font-size:10px;display:block}.mechanic-material-kpis strong{color:#1e293b;font-size:18px;display:block}.mechanic-material-kpis small{color:#718096;margin-top:3px;font-size:10px;display:block}@media (width<=1100px){.mechanic-material-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.mechanic-material-kpis{grid-template-columns:1fr}}.mechanic-detail-page{--so-red:#e6003d;--so-red-soft:#fff1f4;--so-border:#e2e8f0;--so-border-soft:#edf1f5;--so-page:#f6f8fb;--so-text:#25344a;--so-muted:#7b8ba1;background:var(--so-page);color:var(--so-text);gap:12px;padding:20px 22px 34px}.mechanic-back{color:var(--so-red);font-size:10px;font-weight:600}.mechanic-detail-top h1{color:#26364c;margin:6px 0 2px;font-size:24px}.mechanic-detail-top p{color:var(--so-muted);font-size:10px}.mechanic-period-filter{border:1px solid var(--so-border);border-radius:9px;margin-bottom:0;padding:11px 12px}.mechanic-period-filter-title strong{font-size:11px}.mechanic-period-filter-title span,.mechanic-period-filter label span{font-size:9px}.mechanic-period-filter input{border:1px solid #ced8e3;border-radius:5px;height:34px;font-size:10px}.mechanic-period-filter input:focus{border-color:var(--so-red);outline:none;box-shadow:0 0 0 2px #e6003d12}.mechanic-period-filter button{background:var(--so-red);border-radius:5px;height:34px;font-size:10px}.mechanic-detail-kpis{gap:10px}.mechanic-detail-kpis>div{box-sizing:border-box;border:1px solid var(--so-border);border-radius:9px;min-height:78px;padding:12px 14px}.mechanic-detail-kpis span,.mechanic-detail-kpis small{color:var(--so-muted);font-size:9px}.mechanic-detail-kpis strong{color:#17263a;margin:6px 0 2px;font-size:19px}.mechanic-detail-grid{gap:10px}.mechanic-detail-grid section,.mechanic-detail-section{border:1px solid var(--so-border);background:#fff;border-radius:9px}.mechanic-detail-grid h2,.mechanic-detail-section h2{color:#26364c;padding:11px 14px;font-size:13px}.mechanic-detail-page table{font-size:10px}.mechanic-detail-page th{box-sizing:border-box;border-top:1px solid var(--so-border);border-bottom:1px solid var(--so-border);color:#63758b;cursor:pointer;background:#fafbfc;height:32px;padding:5px 8px;font-size:9px}.mechanic-detail-page th:hover{color:var(--so-red)}.mechanic-detail-page td{box-sizing:border-box;border-bottom:1px solid var(--so-border-soft);color:#3d4f65;height:36px;padding:5px 8px}.mechanic-detail-page tbody tr:hover{background:#f9fbfd}.mechanic-detail-page td small{font-size:8px}.mechanic-material-section{margin-top:0}.mechanic-material-header p{margin:-7px 14px 10px;font-size:9px}.mechanic-material-kpis{gap:7px;margin:0 12px 12px}.mechanic-material-kpis>div{background:#fafbfc;border-radius:5px;padding:9px 10px}.mechanic-material-kpis span,.mechanic-material-kpis small{font-size:8px}.mechanic-material-kpis strong{font-size:15px}.mechanic-detail-section-header{box-sizing:border-box;min-height:48px}.mechanic-detail-section-header p{margin:0 0 8px 14px;font-size:9px}.mechanic-detail-section-header input{border:1px solid #ced8e3;border-radius:5px;width:280px;height:32px;font-size:10px}.mechanic-detail-section-header input:focus{border-color:var(--so-red);outline:none}.mechanic-detail-section-header button{background:var(--so-red);border-radius:5px;height:32px;font-size:10px}.mechanic-loading-banner{border:1px solid var(--so-border);border-radius:7px;padding:9px 12px;font-size:10px}.mechanic-loading-banner strong{font-size:10px}.mechanic-loading-banner span{font-size:9px}.mechanic-loading-spinner{border-width:2px;border-top-color:var(--so-red);width:14px;height:14px}.mechanics-page{flex-direction:column;gap:20px;min-width:0;padding:24px;display:flex}.mechanics-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.mechanics-header h1{margin:0;font-size:28px;font-weight:700}.mechanics-header p{color:#64748b;margin:6px 0 0}.mechanics-period-label{color:#64748b;white-space:nowrap;padding-top:8px;font-size:13px}.mechanics-filters{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.mechanics-search{flex:1;gap:8px;min-width:340px;display:flex}.mechanics-search input{min-width:0;height:40px;font:inherit;background:#fff;border:1px solid #d7dde5;border-radius:8px;flex:1;padding:0 12px}.mechanics-search button{cursor:pointer;height:40px;font:inherit;color:#fff;background:#1f2937;border:0;border-radius:8px;padding:0 16px;font-weight:600}.mechanics-search button.secondary{color:#334155;background:#eef1f5}.mechanics-date-filter{gap:10px;display:flex}.mechanics-date-filter label{color:#64748b;flex-direction:column;gap:5px;font-size:12px;display:flex}.mechanics-date-filter input{height:40px;font:inherit;color:#1f2937;background:#fff;border:1px solid #d7dde5;border-radius:8px;padding:0 10px}.mechanics-error{color:#8f2929;background:#fff5f5;border:1px solid #f0c4c4;border-radius:8px;padding:14px 16px;font-size:13px}.mechanics-error strong{margin-bottom:4px;display:block}.mechanics-kpis{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;display:grid}.mechanics-kpi{background:#fff;border:1px solid #e1e6ed;border-radius:10px;min-width:0;padding:16px}.mechanics-kpi span{color:#64748b;margin-bottom:8px;font-size:12px;display:block}.mechanics-kpi strong{color:#172033;white-space:nowrap;font-size:23px;line-height:1.1;display:block}.mechanics-kpi small{color:#7b8798;margin-top:7px;font-size:11px;display:block}.mechanics-section{background:#fff;border:1px solid #e1e6ed;border-radius:10px;min-width:0;overflow:hidden}.mechanics-section-header{border-bottom:1px solid #e7ebf0;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.mechanics-section-header h2{margin:0;font-size:18px}.mechanics-section-header p{color:#7b8798;max-width:760px;margin:5px 0 0;font-size:12px}.mechanics-result-count{white-space:nowrap;color:#64748b;padding-top:3px;font-size:12px}.mechanics-table-wrapper{width:100%;overflow-x:auto}.mechanics-table{border-collapse:collapse;width:100%;min-width:1250px;font-size:13px}.mechanics-table th{text-align:left;color:#64748b;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e3e8ee;padding:11px 12px;font-size:11px;font-weight:600}.mechanics-table td{color:#283548;vertical-align:middle;border-bottom:1px solid #eef1f4;padding:10px 12px}.mechanics-table tbody tr:last-child td{border-bottom:0}.mechanics-table .number{text-align:right;white-space:nowrap}.mechanic-name{color:#172033;white-space:nowrap;font-weight:600}.mechanic-id{color:#9aa4b2;margin-top:2px;font-family:monospace;font-size:10px}.percentage-cell>span{margin-bottom:4px;display:block}.percentage-track{background:#edf0f3;border-radius:999px;width:84px;height:4px;margin-left:auto;overflow:hidden}.percentage-fill{opacity:.65;background:currentColor;border-radius:999px;height:100%}.coverage-low{color:#9a6700;font-weight:600}.coverage-normal{color:#334155}.value-cell{font-weight:600}.mechanics-empty{text-align:center;color:#7b8798!important;padding:36px!important}@media (width<=1250px){.mechanics-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=850px){.mechanics-page{padding:16px}.mechanics-header{flex-direction:column}.mechanics-search{min-width:100%}.mechanics-date-filter{width:100%}.mechanics-date-filter label{flex:1}.mechanics-date-filter input{box-sizing:border-box;width:100%}.mechanics-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}}.mechanics-page{--so-red:#e6003d;--so-red-soft:#fff1f4;--so-border:#e2e8f0;--so-border-soft:#edf1f5;--so-page:#f6f8fb;--so-text:#25344a;--so-muted:#7b8ba1;background:var(--so-page);color:var(--so-text);gap:12px;padding:20px 22px 34px}.mechanics-header h1{color:#26364c;font-size:24px}.mechanics-header p{color:var(--so-muted);margin-top:3px;font-size:12px}.mechanics-period-label{color:var(--so-muted);padding-top:3px;font-size:10px}.mechanics-filters{border:1px solid var(--so-border);background:#fff;border-radius:9px;grid-template-columns:minmax(300px,1fr) auto;align-items:end;gap:8px;padding:11px 12px;display:grid}.mechanics-search{gap:6px;min-width:0}.mechanics-search input,.mechanics-date-filter input{color:#43546a;background:#fff;border:1px solid #ced8e3;border-radius:5px;height:34px;font-size:11px}.mechanics-search input:focus,.mechanics-date-filter input:focus{border-color:var(--so-red);outline:none;box-shadow:0 0 0 2px #e6003d12}.mechanics-search button{background:var(--so-red);border-radius:5px;height:34px;padding:0 13px;font-size:10px}.mechanics-search button.secondary{color:var(--so-red);background:#fff;border:1px solid #ffb8c8}.mechanics-date-filter{gap:7px}.mechanics-date-filter label{color:var(--so-muted);gap:3px;font-size:9px}.mechanics-kpis{gap:10px}.mechanics-kpi{box-sizing:border-box;border:1px solid var(--so-border);background:#fff;border-radius:9px;min-height:78px;padding:12px 14px}.mechanics-kpi-finance{border-style:solid}.mechanics-kpi span{color:var(--so-muted);margin-bottom:7px;font-size:10px}.mechanics-kpi strong{color:#17263a;font-size:21px}.mechanics-kpi small{margin-top:4px;font-size:9px}.mechanics-section{border:1px solid var(--so-border);background:#fff;border-radius:9px}.mechanics-section-header{align-items:center;padding:11px 14px}.mechanics-section-header h2{color:#26364c;font-size:13px}.mechanics-section-header p{margin-top:2px;font-size:10px}.mechanics-result-count{padding-top:0;font-size:10px}.mechanics-table{font-size:10px}.mechanics-table th{box-sizing:border-box;border-bottom:1px solid var(--so-border);color:#63758b;background:#fafbfc;height:32px;padding:5px 8px;font-size:9px}.mechanics-table td{box-sizing:border-box;border-bottom:1px solid var(--so-border-soft);color:#3d4f65;height:36px;padding:5px 8px}.mechanics-table tbody tr:hover{background:#f9fbfd}.mechanic-name{font-size:10px}.mechanic-name a{color:#2467b1;text-decoration:none}.mechanic-name a:hover{color:var(--so-red);text-decoration:underline}.mechanic-id{margin-top:1px;font-size:8px}.percentage-cell{min-width:80px}.percentage-track{width:65px;height:3px}.mechanics-empty{font-size:10px;padding:22px!important}@media (width<=850px){.mechanics-filters{grid-template-columns:1fr}}.finance-page{flex-direction:column;gap:18px;width:100%;max-width:none;margin:0;padding:22px 28px 32px;display:flex}.finance-header{justify-content:space-between;align-items:flex-end;display:flex}.finance-header h1{color:#172033;margin:0;font-size:27px}.finance-header p{color:#738196;margin:4px 0 0;font-size:13px}.finance-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.finance-kpi,.finance-card{background:#fff;border:1px solid #dce2e8;border-radius:10px;box-shadow:0 1px 3px #0f172a0a}.finance-kpi{text-align:left;min-height:112px;color:inherit;cursor:pointer;padding:16px 18px;transition:all .15s}.finance-kpi-active{background:#f8fafc;border:2px solid #334155;padding:15px 17px}.finance-kpi-value{color:#172033;margin-top:6px;font-size:26px;font-weight:750}.finance-kpi-bottom{color:#8390a0;justify-content:space-between;margin-top:7px;font-size:11px;display:flex}.finance-kpi-action{color:#475569;font-weight:600}.finance-wide-grid{grid-template-columns:1.05fr 1fr 1.45fr;gap:14px;display:grid}.finance-card{min-width:0;padding:16px}.finance-card-heading{justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.finance-card-heading h2,.finance-workreport-header h2{color:#172033;margin:0;font-size:16px}.finance-card-heading span{color:#8996a6;margin-top:3px;font-size:11px;display:block}.finance-chart-list{flex-direction:column;gap:13px;display:flex}.finance-chart-row{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.finance-chart-static{cursor:default}.finance-chart-row-header,.finance-chart-row-footer{justify-content:space-between;gap:8px;display:flex}.finance-chart-row-header{margin-bottom:5px;font-size:12px}.finance-chart-row-header strong{white-space:nowrap}.finance-chart-row-footer{color:#8a96a5;margin-top:3px;font-size:10px}.finance-bar-track{background:#edf1f5;border-radius:99px;height:7px;overflow:hidden}.finance-bar-value{background:#526477;border-radius:99px;height:100%}.finance-table-heading{align-items:center}.finance-table-heading select,.finance-toolbar select,.finance-toolbar input{color:#344256;background:#fff;border:1px solid #d5dde6;border-radius:6px;height:35px;font-size:12px}.finance-table-heading select,.finance-toolbar select{padding:0 28px 0 9px}.finance-customer-list{flex-direction:column;display:flex}.finance-customer-row{border-bottom:1px solid #edf0f3;grid-template-columns:minmax(0,1fr) 76px 100px;align-items:center;gap:10px;min-height:34px;font-size:11px;display:grid}.finance-customer-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.finance-customer-count{text-align:right;color:#8290a0}.finance-customer-row strong{text-align:right;white-space:nowrap}.finance-workreport-card{scroll-margin-top:12px}.finance-workreport-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.finance-active-filter{align-items:center;gap:12px;margin-top:5px;font-size:12px;display:flex}.finance-active-filter span{color:#526477;font-weight:600}.finance-active-filter strong{color:#172033}.finance-reset{cursor:pointer;background:#f8fafc;border:1px solid #cad3dd;border-radius:6px;height:34px;padding:0 12px}.finance-toolbar{grid-template-columns:minmax(300px,1fr) 210px 175px;gap:8px;margin-bottom:10px;display:grid}.finance-toolbar input{padding:0 10px}.finance-table-scroll{overflow:auto}.finance-workreports{height:calc(100vh - 355px);min-height:420px;max-height:850px}.finance-card table{border-collapse:collapse;width:100%;font-size:11px}.finance-card th{text-align:left;color:#657489;white-space:nowrap;border-bottom:1px solid #dce2e8;padding:8px 7px;font-weight:600}.finance-workreports thead th{z-index:2;background:#fff;position:sticky;top:0}.finance-card td{color:#27364a;border-bottom:1px solid #edf0f3;padding:7px}.numeric{text-align:right!important}.value-strong{white-space:nowrap;font-weight:600}.workreport-number{font-weight:600}.contract-cell{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.status-badge{white-space:nowrap;border-radius:99px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-block}.rejection-badge{color:#9b3333;text-align:center;background:#fce9e9;border-radius:99px;min-width:26px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.finance-loading,.finance-error{padding:28px}@media (width>=1700px){.finance-page{padding-left:30px;padding-right:30px}.finance-kpi-grid{grid-template-columns:repeat(4,minmax(260px,1fr))}.finance-wide-grid{grid-template-columns:minmax(360px,.95fr) minmax(360px,.95fr) minmax(560px,1.5fr)}.finance-card table{font-size:12px}.finance-card th,.finance-card td{padding-left:9px;padding-right:9px}.contract-cell{max-width:520px}}@media (width>=2300px){.finance-page{padding-left:36px;padding-right:36px}.finance-wide-grid{grid-template-columns:.9fr .9fr 1.65fr}.finance-workreports{height:calc(100vh - 340px)}}@media (width<=1150px){.finance-wide-grid{grid-template-columns:1fr 1fr}.customer-card{grid-column:1/-1}}@media (width<=800px){.finance-page{padding:14px}.finance-kpi-grid,.finance-wide-grid{grid-template-columns:1fr}.customer-card{grid-column:auto}.finance-toolbar{grid-template-columns:1fr}}.finance-header-actions{align-items:flex-end;gap:18px;display:flex}.finance-projectleader-filter{flex-direction:column;gap:4px;display:flex}.finance-projectleader-filter>span{color:#7b8796;font-size:11px}.finance-projectleader-filter select{color:#344256;background:#fff;border:1px solid #d1d9e2;border-radius:6px;min-width:220px;height:36px;padding:0 10px}.installation-cell{white-space:nowrap;text-overflow:ellipsis;max-width:430px;overflow:hidden}.finance-tree-card{padding:0;overflow:hidden}.finance-tree-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 18px 12px;display:flex}.finance-tree-header h2{margin:0;font-size:16px}.finance-tree-actions{gap:7px;display:flex}.finance-tree-actions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #d3dbe4;border-radius:6px;height:32px;padding:0 11px;font-size:11px}.finance-tree-actions button:hover{background:#f4f7fa}.finance-tree-toolbar{grid-template-columns:minmax(350px,1fr) 220px;gap:8px;padding:0 18px 13px;display:grid}.finance-tree-toolbar input,.finance-tree-toolbar select{color:#344256;background:#fff;border:1px solid #d5dde6;border-radius:6px;height:35px;padding:0 10px;font-size:12px}.finance-tree{border-top:1px solid #dde3e9}.finance-tree-customer{border-bottom:1px solid #dce3e9}.finance-tree-customer-row,.finance-tree-contract-row{color:#253247;text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;width:100%;display:grid}.finance-tree-customer-row{background:#f7f9fb;grid-template-columns:24px minmax(300px,1fr) 110px 130px;min-height:56px;padding:8px 18px}.finance-tree-customer-row:hover{background:#eef3f7}.finance-tree-contracts{border-top:1px solid #e5e9ed}.finance-tree-contract{border-bottom:1px solid #e9edf1}.finance-tree-contract:last-child{border-bottom:0}.finance-tree-contract-row{background:#fff;grid-template-columns:24px minmax(300px,1fr) 110px 130px;min-height:48px;padding:7px 18px 7px 42px}.finance-tree-contract-row:hover{background:#f8fafc}.tree-chevron{color:#64748b;font-size:12px;font-weight:700}.tree-primary{min-width:0}.tree-primary>strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.tree-status-summary{color:#8995a4;flex-wrap:wrap;gap:12px;margin-top:3px;font-size:10px;display:flex}.tree-count{text-align:right;color:#708094;white-space:nowrap;font-size:11px}.tree-value{text-align:right;color:#172033;white-space:nowrap;font-weight:700}.finance-tree-workreports{border:1px solid #e1e6eb;border-radius:7px;margin-bottom:10px;margin-left:66px;margin-right:18px;overflow:hidden}.tree-workreport-header,.tree-workreport-row{grid-template-columns:90px minmax(350px,1fr) 190px 90px 110px;align-items:center;gap:10px;display:grid}.tree-workreport-header{color:#788699;background:#f5f7f9;min-height:30px;padding:5px 10px;font-size:10px;font-weight:600}.tree-workreport-row{background:#fff;border-top:1px solid #edf0f3;min-height:38px;padding:5px 10px;font-size:11px}.tree-workreport-row:hover{background:#f8fafc}.tree-workreport-number{font-weight:600}.tree-installation{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.finance-tree-empty{text-align:center;color:#7d8998;padding:35px;font-size:12px}@media (width>=2200px){.finance-tree-customer-row,.finance-tree-contract-row{grid-template-columns:26px minmax(500px,1fr) 130px 150px}.tree-workreport-header,.tree-workreport-row{grid-template-columns:110px minmax(600px,1fr) 220px 100px 130px}}.finance-dashboard-grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.8fr) minmax(420px,1fr);align-items:stretch;gap:10px;display:grid}.finance-dashboard-grid>.finance-bubble-card{min-width:0;grid-area:1/1!important;width:auto!important}.finance-dashboard-grid>.finance-wide-grid{display:contents!important}.finance-dashboard-grid .finance-wide-grid>.finance-card:first-child{justify-self:start;grid-area:2/1!important;width:calc(50% - 5px)!important}.finance-dashboard-grid .finance-wide-grid>.finance-card:nth-child(2){justify-self:end;grid-area:2/1!important;width:calc(50% - 5px)!important}.finance-dashboard-grid .finance-wide-grid>.finance-card:nth-child(3){grid-area:1/2/span 2!important;width:100%!important;height:100%!important}.finance-dashboard-grid .finance-bubble-card{min-height:0!important}@media (width<=1400px){.finance-dashboard-grid{grid-template-columns:1fr}.finance-dashboard-grid>.finance-bubble-card,.finance-dashboard-grid .finance-wide-grid>.finance-card:first-child,.finance-dashboard-grid .finance-wide-grid>.finance-card:nth-child(2),.finance-dashboard-grid .finance-wide-grid>.finance-card:nth-child(3){grid-area:auto/1!important;width:100%!important}}.finance-page{--so-red:#e6003d;--so-red-soft:#fff1f4;--so-border:#e2e8f0;--so-border-soft:#edf1f5;--so-page:#f6f8fb;--so-text:#25344a;--so-muted:#7b8ba1;background:var(--so-page);color:var(--so-text);gap:12px;padding:20px 22px 34px}.finance-header{align-items:flex-start;margin-bottom:0}.finance-header h1{color:#26364c;font-size:24px}.finance-header p{color:var(--so-muted);margin-top:3px;font-size:12px}.finance-updated{color:var(--so-muted);font-size:10px}.finance-kpi-grid{gap:10px}.finance-kpi,.finance-card{border:1px solid var(--so-border);border-radius:9px;box-shadow:0 1px 2px #10182806}.finance-kpi{background:#fff;min-height:80px;padding:12px 14px}.finance-kpi:hover{border-color:#c8d1dc;transform:none;box-shadow:0 2px 5px #1018280a}.finance-kpi-active{border:1px solid var(--so-red);box-shadow:inset 3px 0 0 var(--so-red);background:#fff;padding:12px 14px}.finance-kpi-title{color:var(--so-muted);font-size:10px;font-weight:500}.finance-kpi-value{color:#17263a;margin-top:7px;font-size:22px}.finance-kpi-bottom{margin-top:5px;font-size:9px}.finance-card{padding:13px}.finance-card-heading{margin-bottom:10px}.finance-card-heading h2,.finance-workreport-header h2,.finance-tree-header h2{color:#26364c;font-size:13px}.finance-card-heading span{color:var(--so-muted);font-size:10px}.finance-toolbar,.finance-tree-toolbar{gap:7px}.finance-toolbar input,.finance-toolbar select,.finance-table-heading select,.finance-tree-toolbar input,.finance-tree-toolbar select,.finance-projectleader-filter select{color:#43546a;background:#fff;border:1px solid #ced8e3;border-radius:5px;height:34px;font-size:11px}.finance-toolbar input:focus,.finance-toolbar select:focus,.finance-table-heading select:focus,.finance-tree-toolbar input:focus,.finance-tree-toolbar select:focus,.finance-projectleader-filter select:focus{border-color:var(--so-red);outline:none;box-shadow:0 0 0 2px #e6003d12}.finance-reset{height:34px;color:var(--so-red);background:#fff;border:1px solid #ffb8c8;border-radius:5px;font-size:10px;font-weight:600}.finance-reset:hover{background:var(--so-red-soft)}.finance-card table{font-size:10px}.finance-card th{box-sizing:border-box;border-bottom:1px solid var(--so-border);color:#63758b;background:#fafbfc;height:32px;padding:5px 8px;font-size:9px}.finance-card td{box-sizing:border-box;border-bottom:1px solid var(--so-border-soft);color:#3d4f65;height:36px;padding:5px 8px}.finance-card tbody tr:hover{background:#f9fbfd}.workreport-number{color:#2467b1;font-weight:600}.status-badge{border-radius:5px;padding:2px 7px;font-size:9px}.status-review{color:#c46500;background:#fff1df}.status-customer{color:#1672b8;background:#e7f4ff}.status-invoice{color:#248750;background:#e7f7ed}.status-invoiced{color:#52657a;background:#eef2f6}.rejection-badge{color:#d22b2b;background:#ffe7e7;border-radius:5px;font-size:9px}.finance-tree-card{border-radius:9px}.finance-tree-header{padding:12px 14px 10px}.finance-tree-actions button{border-radius:5px;height:30px;font-size:10px}.finance-tree-customer-row{background:#f6f8fa;min-height:42px;padding:6px 14px}.finance-tree-contract-row{min-height:38px;padding:5px 14px 5px 38px}.finance-tree-customer-row,.finance-tree-contract-row{grid-template-columns:20px minmax(300px,1fr) 90px 115px}.finance-tree-customer-row:hover,.finance-tree-contract-row:hover{background:#f1f4f7}.tree-primary>strong{color:#33465c;font-size:10px}.finance-tree-customer-row .tree-primary>strong{font-size:11px}.tree-status-summary{gap:8px;margin-top:2px;font-size:9px}.tree-count{font-size:9px}.tree-value{font-size:10px}.finance-tree-workreports{border-radius:5px;margin-left:52px}.tree-workreport-header{min-height:27px;font-size:9px}.tree-workreport-row{min-height:34px;font-size:10px}.finance-chart-list{gap:9px}.finance-chart-row-header{font-size:10px}.finance-chart-row-footer{font-size:9px}.finance-bar-track{height:5px}@media (width>=1700px){.finance-card table{font-size:10px}}.director-page{flex-direction:column;gap:8px;padding-bottom:14px;display:flex}.director-header{justify-content:space-between;align-items:center;min-height:46px;display:flex}.director-header h1{color:#162234;margin:0;font-size:24px;line-height:1}.director-header p{color:#66758a;margin:5px 0 0;font-size:11px}.director-loading{color:#718096;font-size:11px}.director-filterbar{background:#fff;border:1px solid #dce3eb;border-radius:6px;grid-template-columns:120px 120px minmax(200px,1.1fr) minmax(200px,1.1fr) 90px;gap:7px;padding:8px;display:grid}.director-filterbar label{flex-direction:column;gap:3px;min-width:0;display:flex}.director-filterbar label>span{color:#53647b;font-size:9px;font-weight:600}.director-filterbar input,.director-filterbar select{color:#182235;background:#fff;border:1px solid #cdd6e1;border-radius:4px;width:100%;min-width:0;height:30px;padding:0 8px;font-size:11px}.director-filterbar input:focus,.director-filterbar select:focus{border-color:#ea580c;outline:2px solid #ea580c26}.director-clear-button{color:#344256;cursor:pointer;background:#f7f9fb;border:1px solid #ccd5df;border-radius:4px;align-self:end;height:30px;font-size:10px}.director-clear-button:hover{background:#eef2f6}.director-active-filters{background:#fff;border:1px solid #dce3eb;border-radius:5px;flex-wrap:wrap;align-items:center;gap:5px;min-height:30px;padding:5px 8px;display:flex}.director-active-title{color:#53647b;margin-right:3px;font-size:10px;font-weight:700}.director-filter-chip{color:#9a3e0b;background:#fff2eb;border:1px solid #ffd5bf;border-radius:999px;align-items:center;min-height:20px;padding:2px 7px;font-size:9px;display:inline-flex}.director-active-filters button{color:#6b7687;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:9px;text-decoration:underline}.director-error{color:#a11b1b;background:#fff0f0;border:1px solid #f3b7b7;border-radius:5px;padding:8px 10px;font-size:11px}.director-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.director-kpi{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:5px;min-width:0;height:78px;padding:9px 10px;transition:border-color .12s,box-shadow .12s,transform .12s}.director-kpi:hover{border-color:#f0a177;transform:translateY(-1px);box-shadow:0 2px 7px #16223414}.director-kpi-title{color:#607086;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;display:block;overflow:hidden}.director-kpi strong{color:#132033;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:19px;font-weight:700;line-height:1.1;display:block;overflow:hidden}.director-kpi small{color:#8190a2;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:9px;display:block;overflow:hidden}.director-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.director-card{background:#fff;border:1px solid #dce3eb;border-radius:5px;flex-direction:column;min-width:0;height:245px;display:flex;overflow:hidden}.director-card-header{border-bottom:1px solid #edf1f5;flex:0 0 36px;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 9px;display:flex}.director-card-header h2{color:#1d2939;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-weight:700;overflow:hidden}.director-visual-count{color:#7a8797;text-align:center;background:#f1f4f7;border-radius:8px;min-width:21px;padding:2px 5px;font-size:8px}.director-visual-scroll{scrollbar-width:thin;scrollbar-color:#c7d0db transparent;flex:auto;padding:4px 5px 6px;overflow:hidden auto}.director-visual-scroll::-webkit-scrollbar{width:6px}.director-visual-scroll::-webkit-scrollbar-track{background:0 0}.director-visual-scroll::-webkit-scrollbar-thumb{background:#c7d0db;border-radius:10px}.director-bar-row{border-radius:3px;align-items:stretch;min-width:0;transition:background .12s,opacity .12s;display:flex;position:relative}.director-bar-row+.director-bar-row{margin-top:1px}.director-bar-row:hover{background:#f8fafc}.director-bar-row.is-active{background:#fff4ee;box-shadow:inset 3px 0 #ea580c}.director-bar-row.is-dimmed{opacity:.38}.director-bar-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;min-width:0;padding:5px 6px}.director-detail-button{color:#9aa6b5;cursor:pointer;opacity:0;background:0 0;border:0;flex:0 0 24px;width:24px;transition:opacity .12s}.director-bar-row:hover .director-detail-button{opacity:1}.director-bar-head{justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.director-bar-head span{color:#29384c;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:9px;font-weight:500;overflow:hidden}.director-bar-head strong{color:#162234;white-space:nowrap;flex:none;font-size:9px;font-weight:700}.director-bar-track{background:#edf1f5;border-radius:1px;height:5px;margin-top:4px;overflow:hidden}.director-bar-fill{background:#ea580c;border-radius:1px;min-width:2px;height:100%;transition:width .18s}.director-bar-row.is-active .director-bar-fill{background:#c84405}.director-bar-foot{color:#98a4b3;margin-top:3px;font-size:8px}.director-empty{color:#9aa6b5;text-align:center;padding:22px 8px;font-size:10px}.director-phase2{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.director-phase2>div{background:#fafbfc;border:1px dashed #cdd6e1;border-radius:5px;min-height:48px;padding:8px 10px}.director-phase2 strong{color:#344256;font-size:10px;display:block}.director-phase2 span{color:#8a97a7;margin-top:3px;font-size:8px;display:block}.director-modal-backdrop{z-index:1000;background:#151f2e61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.director-modal{background:#fff;border:1px solid #dce3eb;border-radius:6px;width:min(480px,100%);padding:18px;position:relative;box-shadow:0 18px 45px #0f172a3d}.director-modal h2{margin:0 30px 4px 0;font-size:18px}.director-modal>p{color:#718096;margin:0;font-size:11px}.director-modal-close{color:#66758a;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:22px;position:absolute;top:8px;right:10px}.director-modal-values{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px;display:grid}.director-modal-values>div{background:#f6f8fa;border-radius:4px;padding:10px}.director-modal-values span{color:#768598;font-size:9px;display:block}.director-modal-values strong{color:#172235;margin-top:4px;font-size:18px;display:block}@media (width<=1500px){.director-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.director-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1050px){.director-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.director-grid,.director-phase2{grid-template-columns:1fr}}.dv2-page{color:#162234;flex-direction:column;gap:10px;padding-bottom:16px;display:flex}.dv2-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.dv2-header h1{margin:0;font-size:24px}.dv2-header p{color:#66758a;margin:4px 0 0;font-size:12px}.dv2-status{color:#66758a;font-size:12px}.dv2-filters{background:#fff;border:1px solid #dce3eb;border-radius:6px;grid-template-columns:140px 140px repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:8px;padding:10px;display:grid}.dv2-filters label{flex-direction:column;gap:3px;min-width:0;display:flex}.dv2-filters label>span{color:#53647b;font-size:10px;font-weight:600}.dv2-filters input,.dv2-filters select{min-width:0;height:30px;font-size:12px}.dv2-reset{cursor:pointer;height:30px;padding:0 12px;font-size:12px}.dv2-reset:disabled{cursor:default;opacity:.5}.dv2-error{color:#9b1c1c;background:#fdecec;border:1px solid #f5c2c2;border-radius:6px;padding:8px 10px;font-size:12px}.dv2-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.dv2-kpi{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-left:4px solid #8a97a8;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.dv2-kpi:hover{background:#f7f9fb}.dv2-kpi span{color:#53647b;font-size:11px;font-weight:600}.dv2-kpi strong{font-size:20px}.dv2-kpi small{color:#718096;font-size:11px}.dv2-kpi.dark{border-left-color:#162234}.dv2-kpi.green{border-left-color:#2f9e57}.dv2-kpi.orange{border-left-color:#e8891d}.dv2-kpi.red{border-left-color:#d64545}.dv2-kpi.blue{border-left-color:#3b73c4}.dv2-card{background:#fff;border:1px solid #dce3eb;border-radius:6px;min-width:0;padding:10px 12px}.dv2-card-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.dv2-card-head h2{margin:0;font-size:14px}.dv2-card-head small{color:#718096;font-size:11px}.dv2-funnel{flex-direction:column;gap:4px;display:flex}.dv2-funnel-row{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:220px 1fr 110px 70px;align-items:center;gap:10px;padding:4px 6px;font-size:12px;display:grid}.dv2-funnel-row:hover{background:#f4f6f8}.dv2-funnel-row.active{background:#f4f6f8;border-color:#162234}.dv2-funnel-row.dimmed{opacity:.45}.dv2-funnel-track{background:#eef1f5;border-radius:3px;height:14px;overflow:hidden}.dv2-funnel-bar{height:100%;display:block}.dv2-funnel-bar.orange{background:#e8891d}.dv2-funnel-bar.grey{background:#9aa6b5}.dv2-funnel-bar.red{background:#d64545}.dv2-funnel-bar.green{background:#2f9e57}.dv2-funnel-bar.blue{background:#3b73c4}.dv2-funnel-value{text-align:right;font-weight:600}.dv2-funnel-count{text-align:right;color:#66758a}.dv2-grid{grid-template-columns:3fr 2fr;gap:10px;display:grid}.dv2-table{border-collapse:collapse;width:100%;font-size:12px}.dv2-table th{text-align:left;color:#53647b;border-bottom:1px solid #dce3eb;padding:5px 6px;font-size:11px;font-weight:600}.dv2-table td{vertical-align:top;border-bottom:1px solid #eef1f5;padding:5px 6px}.dv2-num{text-align:right;white-space:nowrap}.dv2-num small{color:#718096;font-size:10px;display:block}.dv2-muted{color:#a0aab8}.dv2-empty{text-align:center;color:#718096;padding:12px}.dv2-link{color:#1f5fae;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.dv2-link:hover{text-decoration:underline}.dv2-sub{color:#718096;font-size:10px;display:block}.dv2-warn{color:#b45309}.dv2-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.dv2-modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dv2-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(1100px,100%);max-height:90vh;display:flex}.dv2-modal header,.dv2-modal footer{justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.dv2-modal header{border-bottom:1px solid #dce3eb}.dv2-modal header h2{margin:0;font-size:16px}.dv2-modal header small{color:#718096;font-size:11px}.dv2-modal header button{cursor:pointer;background:0 0;border:none;font-size:22px}.dv2-modal footer{border-top:1px solid #dce3eb;font-size:12px}.dv2-modal-body{padding:0 14px;overflow:auto}@media (width<=1200px){.dv2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dv2-grid{grid-template-columns:1fr}.dv2-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.dv2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dv2-funnel-row{grid-template-columns:1fr 90px 50px}.dv2-funnel-track{display:none}}.k-modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.k-modal{width:min(1100px,100%);max-height:90vh;color:var(--k-text,#1c2b3d);background:#fff;border-radius:8px;flex-direction:column;display:flex;box-shadow:0 10px 30px #0f172a40}.k-modal header{background:linear-gradient(90deg, var(--k-navy-dark,#13304f), var(--k-navy-mid,#1d4470));color:#fff;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.k-modal header h2{margin:0;font-size:18px}.k-modal header small{color:#d6e2f0;font-size:12px}.k-modal header button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:26px;line-height:1}.k-modal-body{padding:0 18px;overflow:auto}.k-modal table{border-collapse:collapse;width:100%;font-size:13px}.k-modal th{background:var(--k-th,#eef2f7);text-align:left;padding:7px 8px;font-weight:600;position:sticky;top:0}.k-modal th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.k-modal td{border-bottom:1px solid var(--k-line,#edf0f4);padding:6px 8px}.k-modal .num{text-align:right;white-space:nowrap}.k-modal-empty{text-align:center;color:#7a8899;padding:20px}.k-modal-error{color:#9b1c1c;background:#fdecec;border-radius:6px;margin:10px 18px 0;padding:8px 10px;font-size:13px}.k-modal footer{border-top:1px solid var(--k-line,#edf0f4);justify-content:space-between;align-items:center;padding:10px 18px;font-size:13px;display:flex}.k-modal footer button{cursor:pointer;height:30px;padding:0 12px}.k-modal.k-modal-small{width:min(520px,100%)}.sb-page{color:#1c2b3d;flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.sb-header{color:#fff;background:linear-gradient(90deg,#13304f,#1d4470);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.sb-title{align-items:center;gap:18px;display:flex}.sb-title h1{margin:0;font-size:28px;font-weight:700}.sb-title p{color:#d6e2f0;margin:4px 0 0;font-size:15px}.sb-loading{color:#9fb6d1}.sb-filters{flex-wrap:wrap;gap:12px;display:flex}.sb-filters label{flex-direction:column;gap:4px;font-size:13px;display:flex}.sb-filters select{color:#1c2b3d;border:none;border-radius:4px;min-width:170px;height:32px;padding:0 8px;font-size:13px}.sb-error{color:#9b1c1c;background:#fdecec;border:1px solid #f5c2c2;border-radius:6px;padding:8px 12px;font-size:13px}.sb-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.sb-kpi{background:#fff;border-radius:8px;align-items:center;gap:14px;padding:14px 16px;display:flex;box-shadow:0 1px 3px #14284614}.sb-kpi-icon{color:#173a63;flex:none;display:flex}.sb-kpi-body{flex-direction:column;gap:2px;min-width:0;display:flex}.sb-kpi-title{color:#34465c;font-size:13px}.sb-kpi-value{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.sb-kpi-value strong{color:#173a63;font-size:28px}.sb-kpi small{color:#6b7a8d;font-size:11px}.sb-trend{font-size:13px;font-weight:600}.sb-trend.up{color:#2f8f4e}.sb-trend.down{color:#c93c3c}.sb-row{gap:12px;display:grid}.sb-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-card{background:#fff;border-radius:8px;min-width:0;padding:14px 16px;box-shadow:0 1px 3px #14284614}.sb-card h2{color:#1c2b3d;margin:0 0 10px;font-size:16px}.sb-table{border-collapse:collapse;width:100%;font-size:13px}.sb-table th{text-align:left;background:#eef2f7;padding:7px 8px;font-weight:600}.sb-table td{border-bottom:1px solid #edf0f4;padding:6px 8px}.sb-table .num{text-align:right;white-space:nowrap}.sb-sub{color:#7a8899;font-size:11px;display:block}.sb-link{font:inherit;color:#1f5fae;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.sb-link:hover{text-decoration:underline}.sb-empty{text-align:center;color:#7a8899;padding:24px;font-size:13px}@media (width<=1300px){.sb-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-row-3{grid-template-columns:1fr}}@media (width<=900px){.sb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-row-2{grid-template-columns:1fr}}.sb-kpi.clickable{cursor:pointer}.sb-kpi.clickable:hover{box-shadow:0 2px 8px #1428462e}.sb-kpis.sb-kpis-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sb-kpi[class*=sb-tone-]{border-left:4px solid var(--k-navy,#173a63)}.sb-kpi.sb-tone-orange{border-left-color:var(--k-orange,#f0913a)}.sb-kpi.sb-tone-grey{border-left-color:var(--k-grey,#9aa6b5)}.sb-kpi.sb-tone-green{border-left-color:var(--k-green,#3a9a5b)}.sb-kpi.sb-tone-red{border-left-color:var(--k-red,#c93c3c)}.sb-kpi.sb-kpi-active{outline:2px solid var(--k-navy,#173a63);outline-offset:-2px}.sb-reset{color:#1c2b3d;cursor:pointer;background:#fff;border:none;border-radius:4px;height:32px;padding:0 12px;font-size:13px}.sb-reset:disabled{opacity:.5;cursor:default}@media (width<=1300px){.sb-kpis.sb-kpis-6{grid-template-columns:repeat(3,minmax(0,1fr))}}.sb-search{margin:0}.sb-search input{border:none;border-radius:4px;min-width:280px;height:32px;padding:0 10px;font-size:13px}.sb-warn{color:#b45309;font-weight:600}.fv2-lead{flex-wrap:wrap;align-items:stretch;gap:14px;display:flex}.fv2-step{border:1px solid var(--k-line,#edf0f4);background:#f8fafc;border-radius:8px;flex-direction:column;flex:200px;gap:4px;padding:14px 16px;display:flex}.fv2-step span{color:#34465c;font-size:13px;font-weight:600}.fv2-step strong{color:var(--k-navy,#173a63);font-size:26px}.fv2-step small{color:#6b7a8d;font-size:11px}.fv2-step.fv2-orange{background:#fff6ee;border-color:#f6c29a}.fv2-step.fv2-green{background:#eff8f2;border-color:#b7dfc4}.fv2-step.fv2-navy{background:#eef2f7;border-color:#c6d6e8}.fv2-arrow{color:#9aa6b5;align-self:center;font-size:22px}.fv2-average{grid-template-columns:1fr 1fr;gap:18px;padding-bottom:12px;display:grid}.fv2-subhead{margin:12px 0 6px;font-size:14px}@media (width<=900px){.fv2-average{grid-template-columns:1fr}}.sb-kpis.wb-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1100px){.sb-kpis.wb-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.rx-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px 12px;display:grid}.rx-form label{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.rx-form label>span{color:#53647b;font-weight:600}.rx-form input,.rx-form select,.rx-saved input,.rx-saved select{border:1px solid #d5dce5;border-radius:4px;min-width:0;height:32px;padding:0 8px;font-size:13px}.rx-wide{grid-column:span 5}.rx-statuses{border:1px solid #e3e8ef;border-radius:6px;flex-wrap:wrap;grid-column:span 3;gap:6px 18px;padding:8px 12px;display:flex}.rx-statuses legend{color:#53647b;padding:0 4px;font-size:12px;font-weight:600}.rx-form .rx-check{flex-direction:row;align-items:center;gap:6px;font-size:13px}.rx-form .rx-check input{height:auto}.rx-actions{grid-column:span 2;justify-content:flex-end;align-items:center;gap:14px;font-size:13px;display:flex}.rx-pdf{background:var(--k-navy,#173a63);color:#fff;cursor:pointer;border:none;border-radius:4px;height:36px;padding:0 18px;font-weight:600}.rx-pdf:disabled{opacity:.5;cursor:default}@media (width<=1100px){.rx-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-wide,.rx-statuses,.rx-actions{grid-column:span 2}}.rx-off{opacity:.45}.rx-lines{table-layout:fixed;border-collapse:collapse;width:100%;color:var(--muted,#5b6b7f);margin:0;font-size:.85em}.rx-lines td{border:0;padding:1px 6px 1px 0}.rx-lines td.num{text-align:right;white-space:nowrap}.rx-lines td{vertical-align:top}.rx-lines .rx-qty{width:44px}.rx-lines .rx-amt{width:84px}.rx-lines .sb-sub{display:inline}.sb-table .rx-col-desc{min-width:260px}.sb-table .rx-col-opbouw{width:380px;min-width:380px;max-width:380px}.sb-table .rx-date{white-space:nowrap}.rx-saved{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px 12px;margin-bottom:12px;display:grid}.rx-saved label{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.rx-saved label>span{color:#53647b;font-weight:600}.rx-saved-actions{align-items:center;gap:8px;display:flex}@media (width<=900px){.rx-saved{grid-template-columns:1fr}}.cc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.cc-head h2{margin:0}.cc-head label{align-items:center;gap:6px;font-size:13px;display:flex}.cc-actions{gap:8px;display:flex}.ko-city th{text-align:left;background:#e2e9f2;font-weight:700}.ko-subtotal td{border-bottom:2px solid #d5dce5;font-weight:700}.ko-check{align-items:center;gap:6px;font-size:13px;display:flex}@media (width>=1401px){.sb-kpis.cc-kpis-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.wb-filters{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:10px 12px;display:grid}.wb-filters label{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.wb-filters label>span{color:#53647b;font-weight:600}.wb-filters input,.wb-filters select{background:#fff;border:1px solid #d5dce5;border-radius:4px;min-width:0;height:32px;padding:0 8px;font-size:13px}.wb-search{grid-column:span 3}.wb-actions{grid-column:span 2;align-items:center;gap:8px;display:flex}.wb-actions button,.wb-export{cursor:pointer;color:#1c2b3d;white-space:nowrap;background:#fff;border:1px solid #d5dce5;border-radius:4px;align-items:center;height:32px;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.wb-actions button:disabled{opacity:.5;cursor:default}.wb-actions .wb-primary{background:var(--k-navy,#173a63);border-color:var(--k-navy,#173a63);color:#fff}.wb-export{background:var(--k-green,#3a9a5b);border-color:var(--k-green,#3a9a5b);color:#fff}.wb-export.disabled{opacity:.5;pointer-events:none}.wb-kpis{grid-template-columns:repeat(2,minmax(0,260px))}.wb-table-card{padding:0;overflow:hidden}.wb-table-wrap{min-height:300px;max-height:calc(100vh - 380px);overflow:auto}.wb-table th{z-index:1;position:sticky;top:0}.wb-table td{vertical-align:top}.wb-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.wb-pager{border-top:1px solid var(--k-line,#edf0f4);justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.wb-pager button{cursor:pointer;height:30px;padding:0 12px}@media (width<=1300px){.wb-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.wb-search,.wb-actions{grid-column:span 3}}.auth-loading{color:#7a8899;padding:40px}.auth-page{background:var(--k-bg,#eef1f6);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#fff;border-radius:10px;flex-direction:column;gap:14px;width:min(380px,100%);padding:28px;display:flex;box-shadow:0 10px 30px #0f172a1f}.auth-brand{background:linear-gradient(90deg, var(--k-navy-dark,#13304f), var(--k-navy-mid,#1d4470));color:#fff;border-radius:10px 10px 0 0;margin:-28px -28px 6px;padding:20px 28px}.auth-brand-title{letter-spacing:.08em;font-size:20px;font-weight:800}.auth-brand-subtitle{color:#d6e2f0;font-size:12px}.auth-card label{flex-direction:column;gap:4px;font-size:12px;display:flex}.auth-card label>span{color:#53647b;font-weight:600}.auth-card input{border:1px solid #d5dce5;border-radius:4px;height:36px;padding:0 10px;font-size:14px}.auth-card button{background:var(--k-navy,#173a63);color:#fff;cursor:pointer;border:none;border-radius:4px;height:38px;font-weight:700}.auth-card button:disabled{opacity:.6;cursor:default}.auth-card small{color:#7a8899;text-align:center;font-size:12px}.auth-error{color:#a12a2a;background:#fdecec;border-radius:4px;padding:8px 10px;font-size:13px}.settings-user{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;font-size:13px;display:flex}.settings-user small{color:#7a8899;display:block}.settings-user button{cursor:pointer;background:#fff;border:1px solid #d5dce5;border-radius:4px;height:28px;padding:0 10px}.auth-denied{padding:40px}.auth-denied h1{margin:0 0 8px}.rr-form{flex-direction:column;gap:14px;padding-top:14px;padding-bottom:14px;display:flex}.rr-form fieldset{border:1px solid #e3e8ef;border-radius:6px;padding:10px 12px}.rr-form legend{color:#53647b;padding:0 4px;font-size:13px;font-weight:700}.rr-name{flex-direction:column;gap:4px;font-size:12px;display:flex}.rr-name>span{color:#53647b;font-weight:600}.rr-name input,.rr-search{border:1px solid #d5dce5;border-radius:4px;height:32px;padding:0 8px;font-size:13px}.rr-search{width:100%;margin-bottom:8px}.rr-check{align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;display:flex}.rr-check .sb-sub{display:block}.rr-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 16px;display:grid}.rr-users{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 16px;max-height:260px;display:grid;overflow:auto}.rr-danger{color:#b42318}:root{--kanters-red:#e6003d;--kanters-red-soft:#fff1f4;--kanters-red-border:#ffb8c8;--page-bg:#f6f8fb;--card-bg:#fff;--border:#e2e8f0;--border-light:#edf1f5;--text:#25344a;--text-muted:#7b8ba1;--text-light:#98a6b8;--blue-soft:#e7f4ff;--blue-text:#1672b8;--orange-soft:#fff1df;--orange-text:#c46500;--danger-soft:#ffe7e7;--danger-text:#d22b2b;--green-soft:#e7f7ed;--green-text:#248750}.malfunction-page{background:var(--page-bg);min-width:0;color:var(--text);padding:20px 22px 34px}.malfunction-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.malfunction-header h1{color:#26364c;margin:0 0 4px;font-size:24px;font-weight:700;line-height:1.2}.malfunction-header p{color:var(--text-muted);margin:0;font-size:12px}.malfunction-header-actions{align-items:center;gap:10px;display:flex}.malfunction-updated{color:var(--text-muted);white-space:nowrap;font-size:11px}.malfunction-kpi-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:12px;display:grid}.malfunction-kpi{appearance:none;border:1px solid var(--border);background:var(--card-bg);text-align:left;min-height:74px;color:inherit;font:inherit;border-radius:9px;padding:12px 14px;box-shadow:0 1px 2px #10182805}button.malfunction-kpi{cursor:pointer}button.malfunction-kpi:hover{border-color:#c8d1dc;box-shadow:0 2px 5px #1018280a}.malfunction-kpi.active{border-color:var(--kanters-red);box-shadow:inset 3px 0 0 var(--kanters-red)}.malfunction-kpi span{min-height:auto;color:var(--text-muted);margin-bottom:9px;font-size:11px;font-weight:500;display:block}.malfunction-kpi strong{color:#17263a;margin:0;font-size:22px;line-height:1;display:block}.malfunction-toolbar{border:1px solid var(--border);background:#fff;border-radius:9px;grid-template-columns:minmax(260px,1.8fr) minmax(130px,.8fr) minmax(135px,.8fr) minmax(180px,1fr) minmax(160px,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:11px 12px;display:grid;box-shadow:0 1px 2px #10182805}.malfunction-toolbar input,.malfunction-toolbar select{box-sizing:border-box;color:#43546a;width:100%;height:34px;font:inherit;background:#fff;border:1px solid #ced8e3;border-radius:5px;padding:0 10px;font-size:12px}.malfunction-toolbar input{min-width:0}.malfunction-toolbar input::placeholder{color:#9aa8b8}.malfunction-toolbar input:hover,.malfunction-toolbar select:hover{border-color:#adbcca}.malfunction-toolbar input:focus,.malfunction-toolbar select:focus{border-color:var(--kanters-red);outline:none;box-shadow:0 0 0 2px #e6003d14}.malfunction-clear-filter{white-space:nowrap;border:1px solid var(--kanters-red-border);height:34px;color:var(--kanters-red);cursor:pointer;font:inherit;background:#fff;border-radius:5px;padding:0 12px;font-size:11px;font-weight:600;text-decoration:none}.malfunction-clear-filter:hover{background:var(--kanters-red-soft)}.malfunction-card{border:1px solid var(--border);background:var(--card-bg);border-radius:9px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 2px #10182805}.malfunction-card-heading{box-sizing:border-box;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:10px 14px;display:flex}.malfunction-card-heading h2{color:#26364c;margin:0;font-size:13px;font-weight:700}.malfunction-card-heading p{color:var(--text-muted);margin:2px 0 0;font-size:10px}.malfunction-card-heading>strong{color:#26364c;text-align:right;min-width:32px;font-size:16px}.malfunction-table-wrap{width:100%;overflow-x:auto}.malfunction-table{border-collapse:collapse;color:#3d4f65;width:100%;font-size:11px}.malfunction-table th{border-bottom:1px solid var(--border);color:#63758b;text-align:left;white-space:nowrap;background:#fafbfc;height:34px;padding:0 10px;font-size:10px;font-weight:600}.malfunction-table td{box-sizing:border-box;border-bottom:1px solid var(--border-light);vertical-align:middle;height:38px;padding:5px 10px}.malfunction-table tbody tr:not(.malfunction-customer-group):hover{background:#f9fbfd}.malfunction-table small{color:var(--text-light);margin-top:2px;font-size:9px;display:block}.malfunction-sort-button{width:auto;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:3px;margin:0;padding:0;font-size:10px;font-weight:600;display:inline-flex}.malfunction-sort-button:hover{color:var(--kanters-red)}.malfunction-sort-button.active{color:#36485f}.malfunction-sort-indicator{min-width:8px;color:var(--kanters-red);align-items:center;font-size:9px;line-height:1;display:inline-flex}.malfunction-workreport-link{color:#2467b1;font-weight:600;text-decoration:none}.malfunction-workreport-link:hover{color:var(--kanters-red);text-decoration:underline}.malfunction-status,.malfunction-priority{box-sizing:border-box;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;min-width:58px;min-height:19px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.status-21{background:var(--orange-soft);color:var(--orange-text)}.status-22{background:var(--blue-soft);color:var(--blue-text)}.status-23{background:var(--green-soft);color:var(--green-text)}.priority-4{color:#fff;background:#151b28}.priority-3{background:var(--orange-soft);color:var(--orange-text)}.priority-2{color:#4d5f75;background:#eef2f6}.priority-1,.priority-0{color:#7a899b;background:#f4f6f8}.malfunction-customer-group td{background:#f6f8fa;border-top:1px solid #dce3eb;border-bottom:1px solid #dce3eb;height:34px!important;padding:0!important}.malfunction-customer-group:hover td{background:#f1f4f7!important}.malfunction-group-button{box-sizing:border-box;color:#33465c;cursor:pointer;width:100%;height:34px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0 10px;display:flex}.malfunction-group-button:hover{background:0 0}.malfunction-group-chevron{color:#8291a3;justify-content:center;align-items:center;width:14px;font-size:9px;display:inline-flex}.malfunction-group-button>strong{color:#33465c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.malfunction-group-summary{align-items:center;gap:5px;margin-left:auto;display:flex}.group-total,.group-chip{box-sizing:border-box;white-space:nowrap;border-radius:4px;align-items:center;min-height:20px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.group-total{color:#52657a;background:#fff;border:1px solid #d7dfe8}.group-chip-plan{background:var(--orange-soft);color:var(--orange-text)}.group-chip-planned{background:var(--blue-soft);color:var(--blue-text)}.group-chip-priority{background:var(--danger-soft);color:var(--danger-text)}.malfunction-empty{color:var(--text-light);text-align:center;padding:20px!important}.malfunction-loading,.malfunction-error{border:1px solid var(--border);background:#fff;border-radius:9px;padding:24px}.malfunction-error{color:#b42318}@media (width<=1350px){.malfunction-toolbar{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(130px,1fr))}.malfunction-clear-filter{grid-column:1/-1;justify-self:start}}@media (width<=1200px){.malfunction-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=850px){.malfunction-page{padding:14px}.malfunction-header{flex-direction:column}.malfunction-kpi-grid{grid-template-columns:repeat(2,1fr)}.malfunction-toolbar{grid-template-columns:1fr}.malfunction-group-summary{display:none}}.malfunction-detail-page{min-width:0;padding:28px}.malfunction-detail-back{margin-bottom:18px}.malfunction-detail-back a{font-weight:600;text-decoration:none}.malfunction-detail-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.malfunction-detail-number{color:#667085;font-size:13px;font-weight:700}.malfunction-detail-header h1{margin:5px 0;font-size:28px}.malfunction-detail-subtitle{color:#667085}.malfunction-detail-status{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.malfunction-detail-status span{color:#175cd3;background:#eff8ff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.malfunction-detail-status strong{font-size:14px}.malfunction-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.malfunction-detail-card{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:20px}.malfunction-detail-wide{margin-bottom:18px}.malfunction-detail-card h2{margin:0 0 16px;font-size:17px}.malfunction-detail-card dl{grid-template-columns:150px 1fr;gap:10px 16px;margin:0;display:grid}.malfunction-detail-card dt{color:#667085}.malfunction-detail-card dd{margin:0;font-weight:600}.malfunction-detail-remarks{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.malfunction-detail-remarks p{white-space:pre-wrap;margin:6px 0 0}.malfunction-detail-table-wrap{overflow-x:auto}.malfunction-detail-table{border-collapse:collapse;width:100%;font-size:13px}.malfunction-detail-table th,.malfunction-detail-table td{text-align:left;border-bottom:1px solid #eaecf0;padding:10px 12px}.malfunction-detail-table th{color:#475467;background:#f9fafb}.malfunction-detail-list{flex-direction:column;gap:10px;display:flex}.malfunction-detail-list-row{border-bottom:1px solid #eaecf0;padding:12px 0}.malfunction-detail-list-row strong,.malfunction-detail-list-row span,.malfunction-detail-list-row p{display:block}.malfunction-detail-list-row span{color:#667085;margin-top:4px;font-size:12px}.malfunction-detail-list-row p{margin:8px 0 0}.malfunction-detail-empty{color:#98a2b3}.malfunction-detail-error{color:#b42318;margin-top:20px}@media (width<=900px){.malfunction-detail-grid,.malfunction-detail-remarks{grid-template-columns:1fr}.malfunction-detail-header{flex-direction:column}.malfunction-detail-status{align-items:flex-start}}.workreport-page{color:#263548;width:100%;padding:24px 30px 40px}.workreport-back{margin-bottom:14px}.workreport-back a,.tree-workreport-link{color:#315f87;font-weight:600;text-decoration:none}.workreport-back a:hover,.tree-workreport-link:hover{text-decoration:underline}.workreport-title{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:12px;display:flex}.workreport-number{color:#758397;font-size:12px;font-weight:600}.workreport-title h1{color:#172033;margin:4px 0;font-size:26px}.workreport-subtitle{color:#6f7e91;font-size:13px}.workreport-title-value{text-align:right}.workreport-title-value span{color:#7c8998;font-size:11px;display:block}.workreport-title-value strong{margin-top:3px;font-size:26px;display:block}.workreport-badges{gap:7px;margin-bottom:18px;display:flex}.workreport-badges span{color:#44566c;background:#eaf0f5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.workreport-badges .danger{color:#9a3737;background:#fdeaea}.workreport-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.detail-card{background:#fff;border:1px solid #dce3e9;border-radius:9px;padding:17px}.detail-wide{margin-bottom:14px}.detail-card h2{margin:0 0 14px;font-size:15px}.detail-card dl{grid-template-columns:155px 1fr;gap:8px 16px;margin:0;font-size:12px;display:grid}.detail-card dt{color:#798697}.detail-card dd{margin:0;font-weight:500}.detail-card .money{font-weight:700}.detail-table{border-collapse:collapse;width:100%;font-size:11px}.detail-table th{text-align:left;color:#6f7d90;border-bottom:1px solid #dce3e9;padding:8px}.detail-table td{border-bottom:1px solid #edf0f3;padding:8px}.detail-table tbody tr:hover{background:#f7f9fb}.detail-list{flex-direction:column;display:flex}.detail-list-row{border-bottom:1px solid #edf0f3;padding:9px 0}.detail-list-row:last-child{border-bottom:0}.detail-list-row strong{font-size:12px;display:block}.detail-list-row span{color:#7d8998;margin-top:2px;font-size:10px;display:block}.detail-list-row p{margin:5px 0 0;font-size:11px}.detail-empty{color:#8290a0;font-size:12px}.remark-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.remark-grid strong{font-size:11px}.remark-grid p{margin:4px 0 0;font-size:12px;line-height:1.5}@media (width<=1000px){.workreport-grid,.remark-grid{grid-template-columns:1fr}}.data-refresh-control{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.data-refresh-button{color:#1e293b;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 14px;font-weight:600}.data-refresh-button:hover:not(:disabled){background:#f8fafc}.data-refresh-button:disabled{cursor:wait;opacity:.65}.data-refresh-status{color:#64748b;min-height:16px;font-size:11px}.sidebar{flex-direction:column;display:flex}.settings-menu{margin-top:auto;padding-top:12px;position:relative}.settings-toggle{color:#cbd5e1;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.settings-toggle:hover,.settings-toggle.active{color:#fff;background:#ffffff14}.settings-panel{z-index:40;color:#1c2b3d;background:#fff;border-radius:8px;width:300px;padding:14px 16px;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0f172a4d}.settings-panel h3{margin:0 0 10px;font-size:15px}.settings-item{color:#53647b;flex-direction:column;gap:8px;font-size:13px;display:flex}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0}.app-shell{background:#f4f6f8;grid-template-columns:220px minmax(0,1fr);width:100%;min-height:100vh;display:grid}.sidebar{color:#fff;background:#1f2937;height:100vh;padding:22px 14px;position:sticky;top:0}.brand{padding:4px 10px 24px}.brand-title{letter-spacing:.08em;font-size:20px;font-weight:800}.brand-subtitle{opacity:.6;margin-top:2px;font-size:12px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#ffffffb8;border-radius:7px;padding:10px 12px;font-size:14px;text-decoration:none}.sidebar nav a:hover{color:#fff;background:#ffffff14}.sidebar nav a.active{color:#fff;background:#ffffff26;font-weight:600}.main-content{width:100%;min-width:0;min-height:100vh;overflow-x:hidden}.placeholder-page{padding:28px}.placeholder-page h1{margin-top:0}@media (width>=1800px){.app-shell{grid-template-columns:210px minmax(0,1fr)}}@media (width>=2600px){.app-shell{grid-template-columns:220px minmax(0,1fr)}}@media (width<=800px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:12px;position:static}.sidebar nav{flex-flow:wrap}}:root{--k-navy:#173a63;--k-navy-dark:#13304f;--k-navy-mid:#1d4470;--k-blue:#3f86c6;--k-blue-light:#7fb2e0;--k-orange:#f0913a;--k-orange-light:#f6c29a;--k-green:#3a9a5b;--k-red:#c93c3c;--k-grey:#9aa6b5;--k-text:#1c2b3d;--k-muted:#6b7a8d;--k-bg:#eef2f6;--k-card:#fff;--k-line:#edf0f4;--k-th:#eef2f7;--k-radius:8px;--k-shadow:0 1px 3px #14284614}html,body,.main-content{background:var(--k-bg)}.main-content{color:var(--k-text)}.main-content :is(.director-header,.finance-header,.malfunction-header,.mechanics-header,.mechanic-detail-top,.malfunction-detail-header,.workreport-title,.dv2-header,.sb-header){border-radius:var(--k-radius);background:linear-gradient(90deg, var(--k-navy-dark), var(--k-navy-mid));color:#fff;min-height:0;box-shadow:var(--k-shadow);border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:16px 20px;display:flex}.main-content :is(.director-header,.finance-header,.malfunction-header,.mechanics-header,.mechanic-detail-top,.malfunction-detail-header,.workreport-title,.dv2-header,.sb-header) :is(h1){color:#fff;margin:0;font-size:28px;font-weight:700;line-height:1.15}.main-content :is(.director-header,.finance-header,.malfunction-header,.mechanics-header,.mechanic-detail-top,.malfunction-detail-header,.workreport-title,.dv2-header,.sb-header) :is(p,small,span,label,a,.workreport-number,.workreport-subtitle,.malfunction-detail-number){color:#d6e2f0}.main-content :is(.director-header,.finance-header,.malfunction-header,.mechanics-header,.mechanic-detail-top,.malfunction-detail-header,.workreport-title,.dv2-header,.sb-header) :is(select,input,option){color:var(--k-text);background:#fff;border:none;border-radius:4px}.main-content :is(.director-card,.finance-card,.malfunction-card,.malfunction-detail-card,.mechanic-detail-section,.mechanics-section,.detail-card,.dv2-card,.sb-card,.director-filterbar,.dv2-filters,.mechanics-filters,.mechanic-period-filter){background:var(--k-card);border-radius:var(--k-radius);box-shadow:var(--k-shadow);border:none}.main-content :is(.director-card,.finance-card,.malfunction-card,.malfunction-detail-card,.mechanic-detail-section,.mechanics-section,.detail-card,.dv2-card,.sb-card) :is(h2){color:var(--k-text)}.main-content :is(.director-kpi,.finance-kpi,.malfunction-kpi,.mechanics-kpi,.dv2-kpi,.sb-kpi){background:var(--k-card);border-radius:var(--k-radius);box-shadow:var(--k-shadow);border-top:none;border-bottom:none;border-right:none}.main-content :is(.director-kpi,.finance-kpi,.malfunction-kpi,.mechanics-kpi,.dv2-kpi,.sb-kpi) strong,.main-content .finance-kpi-value{color:var(--k-navy)}.main-content table th{background:var(--k-th);color:var(--k-text)}.main-content table td{border-bottom-color:var(--k-line)}.main-content :is(.director-page,.finance-page,.malfunction-page,.malfunction-detail-page,.mechanic-detail-page,.mechanics-page,.workreport-page,.dv2-page,.sb-page){background:0 0}.app-link{white-space:nowrap;color:#1f5fae;font-size:12px}
