:root{font-family:Segoe UI,Arial,sans-serif;color:#1f2937;background:#eef2f5}*{box-sizing:border-box}body{margin:0}header{background:#173b57;color:#fff;padding:16px 28px;display:flex;justify-content:space-between;align-items:center}h1,h2{margin:0}.sub{opacity:.75;font-size:13px;margin-top:4px}nav{display:flex;gap:8px}button{border:0;border-radius:7px;padding:10px 16px;background:#1f6f9f;color:#fff;cursor:pointer;font-weight:600}.navbtn{background:#29516c}.navbtn.active{background:#4f8db5}main{max-width:1700px;margin:auto;padding:24px}.card{background:#fff;border-radius:10px;box-shadow:0 1px 5px #0002;padding:20px;margin-bottom:20px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pill{background:#edf4f8;color:#173b57;padding:9px 12px;border-radius:7px;cursor:pointer;border:1px solid #d8e5ed}.grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:14px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:600;color:#435466;margin:12px 0}input{width:100%;margin-top:5px;padding:8px;border:1px solid #cbd5df;border-radius:6px}.hidden{display:none}.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.number{color:#1f6f9f;font-weight:700}.muted{color:#6b7785}.status{margin-top:10px;color:#52606d}.summary{display:flex;gap:10px}.summary div{background:#edf4f8;padding:10px 15px;border-radius:8px;text-align:center}.summary b{display:block;font-size:20px}.summary span{font-size:11px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.badge{background:#edf4f8;border:1px solid #d8e5ed;padding:6px 10px;border-radius:999px;font-size:12px}.tablewrap{overflow:auto;border:1px solid #dce4ea;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:1100px}th{background:#dce9f2;padding:9px 8px;font-size:12px}td{border-bottom:1px solid #e7edf1;padding:7px 8px;font-size:13px;text-align:center}td:first-child,th:first-child{text-align:left}tr.parent{background:#f8fafb;font-weight:600}tr.child td:first-child{padding-left:30px;color:#52606d}.stage{width:18px;height:18px}.warn{background:#fff3cd}@media(max-width:900px){.grid,.split{grid-template-columns:1fr}}

.component-row{background:#f6f7f8;color:#697786}.component-row td{font-size:12px;border-bottom:1px dashed #dfe4e8}

.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7f8ba3;font-weight:700;margin-bottom:4px}
.kalku-top{position:sticky;top:0;z-index:3}
.kalku-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kalku-actions select{min-width:170px}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:16px}
.kpi{border:1px solid #2f3745;border-radius:10px;padding:12px;background:#171c24}
.kpi span{display:block;color:#8f9bad;font-size:12px;margin-bottom:5px}
.kpi b{font-size:20px}
.kpi.accent{border-color:#5b6f94}
.kalku-shell{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start}
.kalku-menu{position:sticky;top:150px;display:flex;flex-direction:column;gap:6px}
.kalku-menu button{text-align:left;background:#171c24;border:1px solid #2c3441}
.kalku-menu button.active{background:#273246;border-color:#536782}
.kalku-content{min-width:0}
.kpanel .card{margin-top:0}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.formgrid.compact label{margin:0}
.formgrid input,.kalku-actions select,.kalku-content select{width:100%;box-sizing:border-box}
.metricline{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #29313d}
.metricline.strong{font-size:17px;border-bottom:0}
.placeholder-box{border:1px dashed #465267;border-radius:10px;padding:16px;color:#aab4c4;background:#151a21}
.placeholder-box p{margin:6px 0 10px}
.tag{display:inline-block;border:1px solid #435168;border-radius:99px;padding:3px 8px;font-size:11px;color:#9ba9bc}
.checklist{display:grid;gap:8px}
.checkitem{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:8px;background:#171c24}
.checkitem.good::before{content:"✓";color:#88c999;font-weight:800}
.checkitem.warn::before{content:"⚠";color:#d6b36c;font-weight:800}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.summary-grid>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #29313d}
.summary-grid .total{font-size:17px;font-weight:700}
.summary-grid .grand{font-size:21px;font-weight:800;border-top:2px solid #58667a;border-bottom:0;margin-top:8px}
.version-list{display:grid;gap:8px;margin-top:14px}
.version-row{display:grid;grid-template-columns:90px 1fr 160px 100px;gap:12px;align-items:center;padding:10px;border:1px solid #2e3745;border-radius:9px;background:#171c24}
.version-row.current{border-color:#5b6f94;background:#1b2330}
.keditable{min-width:90px}
@media(max-width:900px){
 .kpi-grid{grid-template-columns:repeat(2,1fr)}
 .kalku-shell{grid-template-columns:1fr}
 .kalku-menu{position:static;flex-direction:row;overflow:auto}
 .kalku-menu button{white-space:nowrap}
 .summary-grid,.formgrid{grid-template-columns:1fr}
}

.import-preview{margin-top:12px;border:1px solid #334052;border-radius:10px;padding:12px;background:#151a21}.import-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.import-kpis>div{padding:9px;border-radius:8px;background:#1b222d;border:1px solid #303a49}.import-kpis b{display:block;font-size:19px}.import-kpis span{font-size:11px;color:#9ba7b7}.change-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.change-box{padding:10px;border-radius:8px;border:1px solid #303a49}.change-box b{display:block;margin-bottom:5px}.change-box small{display:block;color:#9ba7b7;max-height:90px;overflow:auto}@media(max-width:900px){.import-kpis,.change-grid{grid-template-columns:repeat(2,1fr)}}

.kdiff-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.kdiff-badge.unchanged{background:#202630;border:1px solid #39414d;color:#a7b0bf}
.kdiff-badge.changed{background:#382f1f;border:1px solid #6c5730;color:#e3c57f}
.kdiff-badge.added{background:#1d3328;border:1px solid #355f48;color:#95d5ae}
.kdiff-badge.removed{background:#382327;border:1px solid #693b43;color:#e5a2ad}
tr.krow-changed{background:rgba(164,126,47,.08)}
tr.krow-added{background:rgba(55,126,80,.08)}
tr.krow-removed{background:rgba(145,64,75,.08);opacity:.72}
tr.krow-removed td{text-decoration-color:#7f444c}
.kchange-list{display:flex;flex-wrap:wrap;gap:5px;min-width:220px}
.kchange-chip{display:inline-block;border-radius:6px;padding:3px 6px;font-size:11px;background:#202732;border:1px solid #384453;white-space:nowrap}
.kchange-chip b{font-weight:700}
.kchange-old{opacity:.65;text-decoration:line-through}
.kchange-arrow{opacity:.55;padding:0 3px}
.kdiff-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}

/* v0.5.4: make version-diff values readable in dark mode */
.kchange-chip{
  color:#dce5f2 !important;
  background:#202732 !important;
  border-color:#465466 !important;
}
.kchange-chip b{
  color:#f2f6fb !important;
}
.kchange-old{
  color:#9aa7b8 !important;
  opacity:1 !important;
}
.kchange-arrow{
  color:#8290a3 !important;
  opacity:1 !important;
}

.kproject-link{margin-top:12px}.kproject-link input{background:#151a21;color:#dce5f2;border:1px solid #394657;border-radius:7px;padding:8px;width:150px}

/* v0.6.1 — dark form contrast */
input, select, textarea,
.formgrid input, .formgrid select,
.kalku-actions input, .kalku-actions select,
.kalku-content input, .kalku-content select {
  background:#151a21 !important;
  color:#dce5f2 !important;
  border:1px solid #3b4656 !important;
}
input::placeholder, textarea::placeholder {
  color:#8793a5 !important;
  opacity:1;
}
option {
  background:#151a21;
  color:#dce5f2;
}

/* Compact searchable inquiry selector and version selector */
#kalkuProjectSelect {
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
}
#kalkuVersionSelect {
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
  text-align:center;
}

/* v0.6.2 — dark panels need explicit light text, not inherited page text */
.kpi,
.placeholder-box,
.checkitem,
.version-row,
.import-preview,
.import-kpis>div,
.change-box,
.kalku-menu button {
  color:#dce5f2;
}
.kpi b,
.import-kpis b,
.change-box b,
.version-row b,
.checkitem b,
.placeholder-box b {
  color:#f1f5f9 !important;
}
.kpi span,
.import-kpis span,
.change-box small {
  color:#9eabbc !important;
}

/* Searchable inquiry picker: searches number, object and customer ourselves */
.inquiry-picker{
  position:relative;
  width:240px;
}
#kalkuProjectSelect{
  width:240px !important;
  min-width:240px !important;
  max-width:240px !important;
  margin-top:0;
}
.inquiry-picker-menu{
  position:absolute;
  right:0;
  top:calc(100% + 5px);
  z-index:40;
  width:430px;
  max-height:340px;
  overflow:auto;
  background:#151a21;
  border:1px solid #3b4656;
  border-radius:8px;
  box-shadow:0 10px 28px #0005;
  padding:5px;
}
.inquiry-picker-row{
  width:100%;
  display:grid;
  grid-template-columns:115px 1fr;
  gap:10px;
  text-align:left;
  align-items:center;
  background:transparent;
  color:#dce5f2;
  padding:9px 10px;
  border-radius:6px;
}
.inquiry-picker-row:hover{
  background:#263244;
}
.inquiry-picker-row b{
  color:#f5f8fc;
}
.inquiry-picker-row span{
  color:#aab5c4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inquiry-picker-empty{
  color:#9da9b8;
  padding:10px;
}

/* v0.6.3 — derived profile values */
#kProfileCoef, #kProfileExtraPct {
  font-variant-numeric: tabular-nums;
}

.node-input{min-width:68px!important;width:68px!important;text-align:right}

.node-type-table input{width:95px!important;text-align:right}
.node-matrix-wrap{overflow:auto;max-height:520px}
.node-matrix{min-width:max-content}
.node-matrix th{max-width:115px;white-space:normal;line-height:1.15}
.node-matrix td{min-width:72px}
.node-matrix input{width:58px!important;min-width:58px!important;text-align:right;padding:6px!important}

/* v0.6.7 — clean manual node inputs without spinner controls */
.knodeqty{
  appearance:textfield;
  -moz-appearance:textfield;
}
.knodeqty::-webkit-outer-spin-button,
.knodeqty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

#kview-admin .card{min-height:120px}

.tech-input{min-width:105px!important;width:105px!important}.u-input{min-width:72px!important;width:72px!important;text-align:right}.drawing-check{width:18px!important;height:18px!important}

.guarantee-card{margin-top:16px}
.guarantee-row{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:24px;align-items:end}
@media(max-width:800px){.guarantee-row{grid-template-columns:1fr}}

.metricline.strong{font-weight:700}

.glass-type-table{min-width:1050px}
.glass-type-table td:nth-child(2){min-width:310px}
.glass-type-table td:nth-child(3){min-width:220px}
.glass-type-table input{width:90px!important;text-align:right}
.importline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}

.material-auto-table{display:grid;gap:0;margin:10px 0 12px;border:1px solid #303a49;border-radius:8px;overflow:hidden}
.matrow{display:grid;grid-template-columns:70px minmax(190px,1.5fr) 100px 145px 110px;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid #29313d}
.matrow:last-child{border-bottom:0}
.mathead{font-size:11px;color:#9ba7b7;text-transform:uppercase;letter-spacing:.04em;background:#171c24}
.matrow>input[type="checkbox"]{width:18px!important;height:18px!important;margin:auto}
.inline-price{width:78px!important;min-width:78px!important;text-align:right;margin:0!important}
.matrow label{display:flex;align-items:center;gap:5px;margin:0}
@media(max-width:900px){.matrow{grid-template-columns:45px 1fr 80px 120px 95px;font-size:12px}}

.glass-price-cell{display:flex;gap:6px;align-items:center}.glass-price-cell select{min-width:170px}.glass-price-cell input{width:85px!important}.quote-cards{display:grid;gap:8px;margin:12px 0}.quote-card{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center;border:1px solid #303a49;border-radius:8px;padding:9px 10px}.quote-card>div{display:flex;flex-direction:column}.quote-card span{font-size:11px;color:#9ba7b7}.small{padding:5px 8px;font-size:11px}textarea{width:100%;box-sizing:border-box;background:#10151d;color:#e7edf5;border:1px solid #354052;border-radius:7px;padding:9px;resize:vertical}

.quote-card-warning{outline:1px solid #c88700;}
.quote-warning{font-weight:700;}

/* v0.7.1 — authentication, companies and permissions */
header{position:relative}.accountbar{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:#aab5c4}.accountbar select{width:auto;min-width:150px;margin:0;padding:7px}.logoutlink{color:#dce5f2;text-decoration:none;border:1px solid #354052;border-radius:6px;padding:7px 9px}.logoutlink:hover{background:#263244}.permission-grid{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 16px}.permission-grid label{display:flex;align-items:center;gap:7px}.permission-grid input[type=checkbox],#usersRows input[type=checkbox]{width:18px!important;height:18px!important}.role-select{min-width:130px}.auth-body{margin:0;background:#0d1117;color:#e7edf5;min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:#171c24;border:1px solid #303a49;border-radius:12px;padding:28px;box-sizing:border-box}.auth-card h1{margin:6px 0 22px}.auth-card label{display:block;margin:13px 0}.auth-card input{width:100%;box-sizing:border-box}.auth-card button{width:100%;margin-top:10px}.auth-error{margin:12px 0;padding:10px 12px;border:1px solid #8f4040;border-radius:7px;background:#2a1717;color:#ffd6d6}
@media(max-width:1100px){header{flex-wrap:wrap}.accountbar{width:100%;justify-content:flex-end}}

.password-reset{display:flex;gap:4px;align-items:center}.password-reset input{min-width:0;width:72px!important;padding:6px!important;margin:0}.password-reset button{white-space:nowrap;padding:6px 7px;font-size:11px}.accountbtn{background:#29516c;border:1px solid #4a6477;border-radius:6px;padding:7px 9px;color:#fff;cursor:pointer;font:inherit;font-weight:600}.accountbtn:hover{background:#376985}

/* v0.7.6 — compact users/permissions table */
#usersView .users-tablewrap{overflow-x:hidden}
#usersView .users-table{width:100%;min-width:0;table-layout:fixed}
#usersView .users-table th,#usersView .users-table td{white-space:normal;padding:6px 3px;font-size:11px;vertical-align:middle}
#usersView .users-table th{line-height:1.1}
#usersView .users-table .c-name{width:12%}
#usersView .users-table .c-user{width:9%}
#usersView .users-table .c-role{width:11%}
#usersView .users-table .c-manage{width:6%}
#usersView .users-table .c-perm{width:4.5%}
#usersView .users-table .c-password{width:13%}
#usersView .users-table .c-active{width:5%}
#usersView .usr-name{min-width:0;width:100%;padding:6px!important;margin:0}
#usersView .role-select{min-width:0;width:100%;padding:6px 3px;font-size:11px}
#usersView .users-head-groups th[colspan]{border-bottom:1px solid #c7d7e3}
#usersView .users-head-sub th{font-size:10px;font-weight:600}
#usersView td input[type=checkbox]{display:block;margin:auto}
@media(max-width:1050px){
  #usersView .users-table th,#usersView .users-table td{font-size:10px;padding:5px 2px}
  #usersView .users-head-sub th{font-size:9px}
  #usersView .password-reset{flex-direction:column;gap:3px}
  #usersView .password-reset input{width:100%!important}
  #usersView .password-reset button{width:100%;padding:5px 2px;font-size:10px}
}

/* v0.8.0 ettevõtte projektinumbri seaded */
.project-number-help{margin-top:8px;line-height:1.55}
.project-number-preview{margin:12px 0;font-size:15px}
.checklabel{display:flex!important;align-items:center;gap:9px;min-height:42px}
.checklabel input[type="checkbox"]{width:auto;margin:0}


/* v0.8.4 — compact project register and historical Excel import */
.project-admin-actions,.project-import-actions,.project-register-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.project-register-tools{justify-content:space-between;margin:8px 0 12px}
#projectSearch{max-width:420px;margin:0}
.project-register-wrap{max-height:520px}
.project-register{min-width:980px}
.project-register th,.project-register td{text-align:left}
.project-register th:first-child,.project-register td:first-child{width:78px}
.project-register-row{cursor:pointer}
.project-register-row:hover{background:#eef5fa}
.project-status{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf4f8;border:1px solid #d8e5ed;white-space:nowrap;font-size:11px}
.project-empty{text-align:center!important;padding:24px!important}
.project-import-actions{margin-top:12px}
#existingProjectsPreview{margin-top:14px}
#existingProjectsPreview .import-kpis{background:transparent;border:0;padding:0}
#existingProjectsPreview .import-kpis>div{background:#f5f8fa;border-color:#dce4ea;color:#173b57}
#existingProjectsPreview .import-kpis b{color:#173b57!important}
#existingProjectsPreview .import-kpis span{color:#6b7785!important}
.project-import-preview-wrap{max-height:360px}
.project-import-preview-table{min-width:720px}
.project-import-preview-table th,.project-import-preview-table td{text-align:left}
@media(max-width:900px){.project-admin-actions{width:100%}.project-register-tools{align-items:stretch}#projectSearch{max-width:none}}

/* v0.8.6 – positsioonide import projektikaardil */
.project-position-import{margin-top:14px;padding:14px;border:1px solid var(--line,#d7e0e7);border-radius:10px;background:rgba(255,255,255,.025)}
.project-position-import h3{margin:0 0 6px}


/* v0.8.7: eraldi projekti töövaade */
.project-detail-toolbar{display:flex;align-items:center;margin:0 0 10px 0}
.project-detail-toolbar button{min-width:120px}
#projectDetailView #projectCard{margin-top:0}
.project-register-row{cursor:pointer}
.project-register-row:hover td{background:rgba(32,128,176,.08)}
/* v0.8.8 project workspace tabs */
.project-workspace-head{margin-bottom:0}
.project-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px;padding:6px;background:#eef1f4;border-radius:10px}
.project-tab{border:0;background:transparent;padding:9px 15px;border-radius:7px;font-weight:600;cursor:pointer}
.project-tab.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.project-tab-panel>.card{margin-top:0}
.kalku-readonly-banner{padding:10px 12px;border-radius:8px;background:#f2f4f6;margin:10px 0 14px;font-weight:600}
.kalku-readonly-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:12px 0}
.kalku-readonly-kpis>div{background:#f5f6f7;border-radius:8px;padding:10px 12px}.kalku-readonly-kpis b{display:block;font-size:18px}.kalku-readonly-kpis span{font-size:12px;color:#667}
.kalku-version-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.kalku-version-row select{max-width:280px}
@media(max-width:900px){.kalku-readonly-kpis{grid-template-columns:repeat(2,1fr)}}


/* v0.8.9 — project tabs contrast fix */
.project-tab{
  color:#334155 !important;
  background:transparent;
}
.project-tab:hover{
  background:#e1e7ec;
  color:#173b57 !important;
}
.project-tab.active{
  background:#fff;
  color:#173b57 !important;
}

/* v0.9.0 — projektipõhine tellimuste töövaade */
.project-order-import-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;margin-top:14px}
.project-order-import-box{padding:14px;border:1px solid var(--line,#d7e0e7);border-radius:10px;background:#f7f9fa}
.project-order-import-box h3{margin-top:0}
@media(max-width:900px){.project-order-import-grid{grid-template-columns:1fr}}

/* v0.9.2 — tellimuste ja positsioonide seosed */
.order-position-chip{display:inline-block;padding:2px 7px;margin:2px;border:1px solid #b8c5cf;border-radius:999px;background:#f4f7f9;color:#24323c;font-size:12px}.order-position-chip.auto{background:#eef6f1}.order-unmatched{margin-top:5px;font-size:12px;color:#8a4b12}.profile-position-link{margin-top:5px}.order-link-overlay{position:fixed;inset:0;background:rgba(20,30,38,.38);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.order-link-dialog{width:min(650px,95vw);max-height:85vh;overflow:auto;background:#fff;color:#24323c;border-radius:12px;padding:20px;box-shadow:0 12px 40px rgba(0,0,0,.25)}.order-position-picker{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;margin:16px 0}.order-position-picker label{padding:8px;border:1px solid #d7e0e7;border-radius:7px;background:#f8fafb}.order-link-actions{display:flex;gap:8px}@media(max-width:700px){.order-position-picker{grid-template-columns:1fr 1fr}}
.order-check-ok{font-weight:700}.order-check-error,.order-check-warning{font-weight:700}
.order-check-note{margin-top:4px;font-size:12px;color:#7c5a00}

/* v0.9.24 — keep node type headings visible while scrolling the node matrix */
.node-matrix-wrap .node-matrix thead th{position:sticky;top:0;z-index:5;background:#dce9f2;box-shadow:0 1px 0 #c9d6df}
.node-matrix-wrap .node-matrix thead th:first-child{z-index:6}

/* v0.9.26 — inquiry register and neutral KALKU landing */
.inquiries-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.inquiries-sidebar{position:sticky;top:12px;max-height:calc(100vh - 110px);display:flex;flex-direction:column}
#inquirySearch{width:100%;margin:10px 0 8px}
.inquiry-register{overflow:auto;min-height:220px;padding-right:3px}
.inquiry-register-row{width:100%;display:grid;grid-template-columns:1fr;text-align:left;gap:2px;padding:9px 10px;margin:0 0 4px;background:#171d25;border:1px solid #303b49;border-radius:7px;color:#dce5f2}
.inquiry-register-row:hover{background:#263244;border-color:#526177}
.inquiry-register-row b{color:#f5f8fc;font-variant-numeric:tabular-nums}
.inquiry-register-row span{color:#dce5f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inquiry-register-row small{color:#9eabbc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inquiry-empty{padding:12px 4px}
.kalku-empty-card{display:none;text-align:center;padding:42px 20px}
#kalkuView.kalku-empty .kalku-empty-card{display:block}
#kalkuView.kalku-empty .kpi-grid,#kalkuView.kalku-empty .kproject-link,#kalkuView.kalku-empty .kalku-shell{display:none}
#kalkuView.kalku-empty #kalkuVersionSelect,#kalkuView.kalku-empty #kalkuNewVersionBtn{display:none}
.offer-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.offer-actions label{margin:0}.offer-actions select{margin-top:3px}
@media(max-width:850px){.inquiries-layout{grid-template-columns:1fr}.inquiries-sidebar{position:static;max-height:none}.inquiry-register{max-height:360px}}
/* v0.9.28 — compact project creation/linking controls */
.kproject-actions{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;max-width:1000px}
.kproject-action{display:flex;flex-direction:column;gap:6px;min-width:0}
.kproject-action>b{font-size:12px;color:#66758a;font-weight:700}
.kproject-fields{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.kproject-fields select{width:330px;max-width:45vw;background:#151a21;color:#dce5f2;border:1px solid #394657;border-radius:7px;padding:8px}
.kproject-fields input{width:145px!important}
.kproject-divider{color:#8491a3;padding-bottom:9px}
@media(max-width:900px){.kproject-actions{align-items:stretch}.kproject-divider{display:none}.kproject-action{width:100%}.kproject-fields select{max-width:100%;width:100%}}

/* v0.9.30 — tellimuse/TK olek positsioonides ja projekti dokumendid */
.material-order-state{display:inline-block;padding:3px 7px;border-radius:999px;font-size:12px;white-space:nowrap}.material-order-state.ok{background:#e8f5ec;color:#22613a;border:1px solid #b8ddc4}.material-order-state.none{background:#f1f3f5;color:#6b737a;border:1px solid #d8dde1}.project-documents{margin-top:14px}.project-documents a{color:#245d8c;text-decoration:none}.project-documents a:hover{text-decoration:underline}

/* v0.9.33 — kontrollitud tootmisseandmine */
.production-release-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:18px;margin-top:14px}.production-position-picker{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:7px;max-height:330px;overflow:auto}.production-position-choice{padding:8px;border:1px solid #d7e0e7;border-radius:7px;background:#f8fafb;color:#24323c}.production-release-card{padding:12px 0;border-bottom:1px solid #d7e0e7}.production-release-card:last-child{border-bottom:0}.production-release-positions{margin:7px 0}.production-release-docs{margin-top:7px}.production-release-docs a{color:#245d8c}.production-release-state{display:inline-block;padding:3px 7px;border-radius:999px;font-size:12px;white-space:nowrap}.production-release-state.ok{background:#e8f5ec;color:#22613a;border:1px solid #b8ddc4}.production-release-state.none{background:#f1f3f5;color:#6b737a;border:1px solid #d8dde1}@media(max-width:850px){.production-release-grid{grid-template-columns:1fr}.production-position-picker{grid-template-columns:1fr 1fr}}

/* v0.9.34 — tootmisjuhi eraldi töölaud */
.production-manager-list{display:grid;gap:12px}.production-manager-card{border-left:4px solid #c8d2da}.production-manager-card.has-note{border-left-color:#d58a18}.production-manager-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.production-project-no{display:inline-block;font-weight:800;margin-right:5px}.production-manager-positions{margin:12px 0}.production-attention{margin:12px 0;padding:12px 14px;border:1px solid #e3b45c;border-radius:9px;background:#fff7df;color:#4e3a12}.production-attention b{display:block;margin-bottom:5px;color:#7b4d00}.production-manager-docs{margin-top:12px}.production-manager-docs a{color:#245d8c}.production-manager-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.production-manager-actions button{background:#edf2f5;color:#24323c;border:1px solid #cbd6dd}.production-status-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.production-status-badge.waiting{background:#f1f3f5;color:#59636b}.production-status-badge.production{background:#e8f1fb;color:#245d8c}.production-status-badge.done{background:#e8f5ec;color:#22613a}@media(max-width:700px){.production-manager-title{flex-direction:column}}


/* v0.9.36 ownCloud */
.project-cloud-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.button-link{display:inline-block;padding:8px 12px;border-radius:7px;background:#173b57;color:#fff!important;text-decoration:none;font-weight:600}
.project-cloud-row button{margin:0}

/* v0.9.37 production planning */
.production-position-choice{display:flex;justify-content:space-between;align-items:center;gap:14px}.production-deadline{display:flex;align-items:center;gap:7px;font-size:12px;color:#59636b}.production-deadline input{width:auto;padding:5px 7px}.production-load-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.production-load-chip{display:flex;flex-direction:column;gap:2px;min-width:105px;padding:10px 12px;border:1px solid #d7e0e6;border-radius:9px;background:#fff}.production-load-chip span{font-size:13px;color:#59636b}.production-plan-list{display:grid;gap:10px}.production-plan-section h4{margin:8px 0 10px}.production-plan-row{display:grid;grid-template-columns:minmax(280px,1fr) 160px 155px;gap:14px;align-items:center;padding:11px 12px;border:1px solid #dbe2e7;border-left:4px solid #aab6bf;border-radius:8px;margin:7px 0;background:#fff}.production-plan-row.preparation{border-left-color:#8a6d1d}.production-plan-row.assembly{border-left-color:#245d8c}.production-plan-row.done{border-left-color:#39754a;opacity:.8}.production-plan-main .muted{margin-top:3px}.production-plan-note{margin-top:6px;font-size:13px;padding:6px 8px;background:#fff7df;border-radius:5px}.production-plan-deadline{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#59636b}.production-plan-deadline input,.production-plan-state select{width:100%;padding:7px;background:#fff;color:#24323c;border:1px solid #cbd6dd;border-radius:6px}.production-done{margin-top:14px}.production-done summary{cursor:pointer}.production-history-row{padding:10px 0;border-bottom:1px solid #e5eaed;font-size:13px}.production-history-row:last-child{border-bottom:0}@media(max-width:850px){.production-plan-row{grid-template-columns:1fr}.production-position-choice{align-items:flex-start;flex-direction:column}}
\n\n/* v0.9.38 compact production plan */\n.production-position-picker{grid-template-columns:1fr;max-height:430px}\n.production-position-choice{display:grid;grid-template-columns:minmax(170px,.7fr) 175px minmax(220px,1.3fr);gap:10px;align-items:center;padding:6px 8px}\n.production-position-pick{white-space:nowrap}.production-position-note{display:flex;align-items:center;gap:7px;font-size:12px;color:#59636b}.production-position-note input{min-width:0;width:100%;padding:5px 7px}\n.production-plan-list{display:block}.production-plan-section h4{margin:8px 0 7px}.production-plan-head,.production-plan-row{display:grid;grid-template-columns:minmax(165px,.9fr) minmax(205px,1.05fr) 115px minmax(180px,1.4fr) 145px;gap:8px;align-items:center}\n.production-plan-head{padding:0 8px 4px 10px;font-size:11px;font-weight:700;color:#68747d}.production-plan-row{padding:5px 8px;border:1px solid #dbe2e7;border-left:3px solid #aab6bf;border-radius:5px;margin:3px 0;background:#fff;min-height:38px}.production-plan-row.preparation{border-left-color:#8a6d1d}.production-plan-row.assembly{border-left-color:#245d8c}.production-plan-row.done{border-left-color:#39754a;opacity:.8}.production-plan-project,.production-plan-position{display:flex;align-items:baseline;gap:6px;min-width:0}.production-plan-project span,.production-plan-position span{font-size:12px;color:#65717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-plan-date{font-size:13px;font-weight:600}.production-plan-row-note{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-plan-state select{width:100%;padding:5px 6px;background:#fff;color:#24323c;border:1px solid #cbd6dd;border-radius:5px}.production-done{margin-top:10px}\n@media(max-width:1000px){.production-plan-head{display:none}.production-plan-row{grid-template-columns:1fr 1fr 110px 140px}.production-plan-row-note{grid-column:1/-1}.production-position-choice{grid-template-columns:1fr 170px}.production-position-note{grid-column:1/-1}}\n@media(max-width:700px){.production-plan-row{grid-template-columns:1fr}.production-position-choice{grid-template-columns:1fr}.production-plan-row-note{grid-column:auto}}\n

/* v0.9.39 — deadline safety and load visibility */
.production-position-choice{grid-template-columns:minmax(170px,.7fr) 175px minmax(220px,1.3fr) auto}
.production-position-choice.released{background:#f8fafb}
.production-position-choice .production-plan-save{white-space:nowrap;padding:6px 10px}
.production-load-card{padding-bottom:10px}
.production-load-card .production-load-summary{margin:8px 0 0}
.production-load-chip.warning{border-color:#e5b85c;background:#fff8e7}
@media(max-width:1000px){.production-position-choice{grid-template-columns:1fr 170px auto}.production-position-note{grid-column:1/3}}
@media(max-width:700px){.production-position-choice{grid-template-columns:1fr}.production-position-note{grid-column:auto}}

/* v0.9.40 project production rows */
.production-position-picker{display:block;max-height:520px;overflow-y:auto;overflow-x:hidden;border:1px solid #d7e0e7;border-radius:8px;background:#fff}
.production-position-table-head,.production-position-choice{display:grid;grid-template-columns:minmax(150px,.7fr) 90px 170px minmax(300px,1.6fr);gap:10px;align-items:center}
.production-position-table-head{position:sticky;top:0;z-index:2;padding:7px 10px;background:#eef3f6;border-bottom:1px solid #d7e0e7;font-size:11px;font-weight:700;color:#64717a}
.production-position-choice{padding:6px 10px;border:0;border-bottom:1px solid #e4eaee;border-radius:0;background:#fff;color:#24323c;min-height:44px}
.production-position-choice:last-child{border-bottom:0}.production-position-choice.released{background:#f8fafb}
.production-position-pick{display:flex;align-items:center;gap:7px;white-space:nowrap}.production-position-pick input{margin:0}.production-position-status{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700}.production-position-status.is-released{background:#e8f1f8;color:#245d8c}.production-position-status.is-new{background:#f1f3f5;color:#69747c}
.production-position-choice .production-deadline,.production-position-choice .production-position-note{display:grid;grid-template-columns:1fr;gap:2px;margin:0;font-size:11px;color:#65717a}.production-position-choice .production-deadline span,.production-position-choice .production-position-note span{display:none}.production-position-choice .production-deadline input,.production-position-choice .production-position-note input{width:100%;min-width:0;box-sizing:border-box;padding:6px 7px;background:#fff;color:#24323c;border:1px solid #cbd6dd;border-radius:5px}.production-position-choice .production-position-note input{min-width:260px}
.production-position-actions{display:flex;align-items:center;gap:10px;margin-top:9px}.production-position-actions button{white-space:nowrap}
@media(max-width:1000px){.production-position-table-head{display:none}.production-position-choice{grid-template-columns:minmax(130px,.7fr) 80px 160px minmax(220px,1.2fr)}}
@media(max-width:760px){.production-position-choice{grid-template-columns:1fr 90px}.production-position-choice .production-deadline,.production-position-choice .production-position-note{grid-column:1/-1}.production-position-choice .production-deadline span,.production-position-choice .production-position-note span{display:block}.production-position-choice .production-position-note input{min-width:0}}

/* v0.9.41 legacy KALKU import */
.legacy-kalku-import{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.legacy-kalku-import input{max-width:520px}.legacy-kalku-preview{margin-top:10px}.legacy-kalku-summary{margin:6px 0 10px}.legacy-kalku-table{max-width:720px;border:1px solid #d8dde6;border-radius:8px;overflow:hidden;margin-bottom:10px}.legacy-kalku-head,.legacy-kalku-row{display:grid;grid-template-columns:minmax(160px,1fr) 130px 130px;gap:10px;padding:7px 10px;align-items:center}.legacy-kalku-head{font-weight:700;background:#f3f5f8}.legacy-kalku-row{border-top:1px solid #e6e9ef}.legacy-kalku-row.unmatched{background:#fff5e8}.legacy-kalku-row span:nth-child(2){text-align:right}

/* v0.9.42: visible KALKU register and production timeline */
.kalku-empty .kalku-register-tools{display:flex;gap:12px;align-items:center;margin:16px 0}.kalku-register-tools input{width:min(100%,650px);min-width:0}.kalku-register-list{max-height:55vh;overflow:auto}.kalku-register-row{display:grid;grid-template-columns:115px minmax(160px,2fr) minmax(130px,1fr) 90px;gap:12px;align-items:center;width:100%;text-align:left;padding:12px;background:transparent;color:inherit;border:0;border-bottom:1px solid #59627355;cursor:pointer}.kalku-register-row:hover{background:#788da122}.kalku-register-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kalku-top .inquiry-picker{width:min(390px,35vw)}#kalkuProjectSelect{width:100%!important;min-width:0!important;max-width:none!important}.timeline-scroll{overflow-x:auto}.timeline-grid{display:grid;grid-template-columns:260px repeat(8,minmax(75px,1fr));gap:3px;min-width:880px;align-items:stretch}.timeline-label{padding:7px;display:flex;flex-direction:column;gap:3px;min-width:0}.timeline-label small{font-size:11px;color:#929eaa}.timeline-label input{max-width:160px;font-size:12px;padding:3px}.timeline-week{text-align:center;font-size:12px;font-weight:600;padding:9px 2px}.timeline-cell{background:#8c9ca015;min-height:54px;border-radius:3px}.timeline-cell.scheduled{background:#448d9d}.load-track{height:7px;background:#8c9ca033;border-radius:5px;overflow:hidden;width:100%}.load-track>div{height:100%;background:#448d9d}@media(max-width:650px){.kalku-register-row{grid-template-columns:80px 1fr}.kalku-register-row span:nth-last-child(-n+2){display:none}}

/* v0.9.43 compact production timeline and single KALKU register search */
#kalkuView.kalku-empty .kalku-top .inquiry-picker{display:none!important}
.timeline-grid{grid-template-columns:230px repeat(8,minmax(65px,1fr));gap:2px;min-width:770px}
.timeline-label{padding:3px 6px;gap:1px;min-height:37px;display:grid;grid-template-columns:minmax(0,1fr) 114px;align-items:center}
.timeline-label b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-label small{font-size:10px;grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-label input{grid-column:2;grid-row:1/span 2;width:114px;max-width:114px;font-size:10px;padding:2px 3px;min-height:24px}
.timeline-cell{min-height:37px;border-radius:2px}.timeline-week{padding:4px 1px;font-size:11px}

/* v0.9.44: compact ISO-week timeline and visibly tentative scheduling */
.timeline-grid{grid-template-columns:230px repeat(8,minmax(65px,1fr));gap:2px}
.timeline-month{text-align:center;font-weight:700;font-size:12px;padding:5px 2px;background:#8c9ca018;text-transform:capitalize}
.timeline-dates{font-weight:400;font-size:10px;color:#778794}
.timeline-heading{min-height:22px!important;display:flex!important;justify-content:center;font-size:11px}
.timeline-cell.suggested{background:#9ebbc3;outline:1px dashed #448d9d;outline-offset:-2px}

.production-plan-row.status-saved{outline:2px solid #4b9b83;outline-offset:-2px}

/* v0.9.48 — administraatori toimingud ühes menüüs */
.project-admin-actions{position:relative;display:block}
.project-admin-actions.hidden{display:none}
.project-admin-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:265px;padding:7px;background:white;border:1px solid #dce4ea;border-radius:9px;box-shadow:0 8px 22px #173b5726;display:flex;flex-direction:column;gap:3px}
.project-admin-menu.hidden{display:none}
.project-admin-menu>button,.project-admin-menu .project-import-actions button{display:block;width:100%;text-align:left;background:transparent;color:#173b57;padding:10px 12px;border-radius:5px}
.project-admin-menu>button.hidden{display:none}
.project-admin-menu>button:hover,.project-admin-menu .project-import-actions button:hover{background:#edf4f8}
.project-admin-menu .project-import-actions{margin:4px 0 0;padding-top:4px;border-top:1px solid #dce4ea;display:block}
.project-admin-menu .project-import-actions.hidden{display:none}

/* v0.9.49 — projektide nimekirja otsingulahtri hele kujundus */
#projectSearch{background:#fff!important;color:#1f2937!important;border:1px solid #cbd5df!important;border-radius:7px;padding:9px 12px;min-height:36px;box-shadow:none}
#projectSearch::placeholder{color:#7b8794!important;opacity:1}
#projectSearch:focus{outline:2px solid #a8cce4;outline-offset:1px;border-color:#5797bf!important}

/* v0.9.50 – project register status filter */
.project-status-filters{display:inline-flex;gap:0;border:1px solid #ccd9e4;border-radius:7px;overflow:hidden;background:#fff}
.project-status-filters button{margin:0;padding:9px 15px;border:0;border-radius:0;background:#fff;color:#526578;font-size:13px;cursor:pointer;white-space:nowrap}
.project-status-filters button+button{border-left:1px solid #dbe4ec}
.project-status-filters button.active{background:#216f9e;color:white;font-weight:600}
.project-status-filters button:focus-visible{outline:2px solid #216f9e;outline-offset:-3px}
.project-register-tools #projectRegisterCount{margin-left:auto}
@media(max-width:650px){.project-status-filters{max-width:100%}.project-status-filters button{padding:9px 12px}}

/* v0.9.51 – project overview visual refinements */
#projectMeta{display:none !important;}
#projectCard .project-card-fields label{display:flex;flex-direction:column;align-items:stretch;gap:5px;}
#projectCard .project-card-fields input,
#projectCard .project-card-fields select{
  display:block;width:100%;box-sizing:border-box;min-width:0;
  background:#fff !important;color:#24323c !important;
  border:1px solid #cbd6dd !important;border-radius:7px;
  padding:9px 11px;min-height:36px;font:inherit;
}
#projectCard .project-card-fields input:focus,
#projectCard .project-card-fields select:focus{outline:2px solid #a9cfe7;outline-offset:1px;border-color:#2779ad !important;}
#projectCard .project-card-fields select option{background:#fff;color:#24323c;}
#projectCard .project-card-fields input[type=date]{color-scheme:light;}

/* v0.9.52 – KALKU version selector matches light project forms */
.project-tab-panel[data-project-panel="kalku"] .kalku-version-row select{
  background:#fff !important;color:#24323c !important;
  border:1px solid #cbd6dd !important;border-radius:7px;
  padding:8px 10px;min-height:36px;color-scheme:light;
}
.project-tab-panel[data-project-panel="kalku"] .kalku-version-row select option{background:#fff;color:#24323c;}
.project-tab-panel[data-project-panel="kalku"] .kalku-version-row select:focus{outline:2px solid #a9cfe7;outline-offset:1px;}

/* v0.9.54: project order file inputs and position-link action */
.project-tab-panel[data-project-panel="orders"] .project-order-import-box input[type="file"]{background:#fff;color:#1f2937;border:1px solid #cbd5df;border-radius:7px;padding:8px;min-height:38px;color-scheme:light}
.project-tab-panel[data-project-panel="orders"] .project-order-import-box input[type="file"]::file-selector-button{background:#f1f5f9;color:#173b57;border:1px solid #cbd5df;border-radius:5px;padding:5px 10px;margin-right:10px;cursor:pointer;font:inherit;font-weight:600}
.project-tab-panel[data-project-panel="orders"] .profile-position-link{margin-top:6px;padding:10px 16px;font-size:13px;background:#1f6f9f;color:#fff;border-radius:7px;font-weight:600}

/* v0.9.55 – force light native file selectors in project orders (Firefox/Chromium) */
#projectProfileCustomerOrder, #projectOrderPdf, #projectGlassCustomerPdf, #projectGlassPdf {
  display:block; width:100%; box-sizing:border-box; min-height:44px;
  background-color:#ffffff !important; color:#24323c !important;
  border:1px solid #cbd6dd !important; border-radius:7px;
  padding:7px 9px; color-scheme:light !important;
  font:inherit;
}
#projectProfileCustomerOrder::file-selector-button, #projectOrderPdf::file-selector-button,
#projectGlassCustomerPdf::file-selector-button, #projectGlassPdf::file-selector-button {
  background:#edf4f8 !important; color:#173b57 !important;
  border:1px solid #cbd6dd !important; border-radius:5px;
  padding:5px 10px; margin-right:10px; cursor:pointer; font:inherit; font-weight:600;
}

/* v0.9.56 – light fields only in the project's production tab */
.project-tab-panel[data-project-panel="production"] .production-position-choice .production-deadline input,
.project-tab-panel[data-project-panel="production"] .production-position-choice .production-position-note input,
#productionReleaseNote {
  background:#fff !important; color:#24323c !important;
  border:1px solid #cbd6dd !important; border-radius:7px;
  color-scheme:light !important;
}
.project-tab-panel[data-project-panel="production"] .production-position-choice input:focus,
#productionReleaseNote:focus {outline:2px solid #a9cfe7;outline-offset:1px;}
#productionCuttingFiles, #productionAssemblyFiles, #legacyKalkuFile {
  display:block; width:100%; box-sizing:border-box; min-height:44px;
  background-color:#fff !important; color:#24323c !important;
  border:1px solid #cbd6dd !important; border-radius:7px;
  padding:7px 9px; color-scheme:light !important; font:inherit;
}
#productionCuttingFiles::file-selector-button, #productionAssemblyFiles::file-selector-button,
#legacyKalkuFile::file-selector-button {
  background:#edf4f8 !important; color:#173b57 !important;
  border:1px solid #cbd6dd !important; border-radius:5px;
  padding:5px 10px; margin-right:10px; cursor:pointer; font:inherit; font-weight:600;
}

/* v0.9.57 – production release columns 65/35 */
@media (min-width:851px){.production-release-grid{grid-template-columns:minmax(0,65fr) minmax(0,35fr)}}

/* v0.9.59 – inquiry view visual consistency only */
#inquiriesView #inquirySearch,
#inquiriesView .inquiries-main .formgrid input {
  background:#fff !important; color:#24323c !important;
  border:1px solid #cbd5df !important; border-radius:7px;
  color-scheme:light !important;
}
#inquiriesView #inquirySearch::placeholder,
#inquiriesView .inquiries-main .formgrid input::placeholder {color:#78889a !important;opacity:1}
#inquiriesView #inquirySearch:focus,
#inquiriesView .inquiries-main .formgrid input:focus {outline:2px solid #a9cfe7;outline-offset:1px}
#inquiriesView .inquiry-register-row {
  background:#fff !important; color:#24323c !important;
  border:1px solid #d5e0e8 !important;
}
#inquiriesView .inquiry-register-row:hover,
#inquiriesView .inquiry-register-row:focus-visible {
  background:#eef5fa !important; border-color:#90b6ce !important;
}
#inquiriesView .inquiry-register-row b {color:#173b57 !important}
#inquiriesView .inquiry-register-row span {color:#24323c !important}
#inquiriesView .inquiry-register-row small {color:#66788a !important}

/* v0.9.61: compact project actions, sticky finance strip and light navigation */
#kalkuView .kalku-top{position:relative;top:auto;z-index:2;margin-bottom:12px}
#kalkuView .kproject-link{margin:0 0 12px;padding:14px 20px}
#kalkuView .kproject-link .head{margin-bottom:8px}
#kalkuView .kproject-link h2{font-size:19px}
#kalkuView .kproject-link .kproject-actions{gap:12px}
#kalkuView .kalku-finance-sticky{position:sticky;top:0;z-index:20;background:#eef2f5;padding:6px 0 10px;margin-bottom:10px}
#kalkuView .kalku-finance-sticky .kpi-grid{margin:0}
#kalkuView .kalku-menu{top:110px;max-height:calc(100vh - 122px);overflow-y:auto;align-self:start}
#kalkuView .kalku-menu button{background:#fff;color:#173b57;border:1px solid #d5e0e8;box-shadow:0 1px 2px #0000000c}
#kalkuView .kalku-menu button:hover{background:#eef4f8}
#kalkuView .kalku-menu button.active{background:#e0edf6;color:#124b72;border-color:#91b5cd;font-weight:700}
@media(max-width:900px){#kalkuView .kalku-menu{position:static;max-height:none;overflow-x:auto;overflow-y:visible}#kalkuView .kalku-finance-sticky{position:static}}

/* v0.9.62 — light editable fields in KALKU header, project actions and overview.
   Scoped intentionally: finance KPI cards, status messages and other KALKU tabs retain their styling. */
#kalkuView .kalku-top input:not([type="checkbox"]),
#kalkuView .kalku-top select,
#kalkuView .kproject-link input:not([type="checkbox"]),
#kalkuView .kproject-link select,
#kalkuView #kview-overview input:not([type="checkbox"]),
#kalkuView #kview-overview select {
  background:#fff !important;
  color:#24323c !important;
  border:1px solid #cbd5df !important;
  border-radius:7px;
  color-scheme:light;
}
#kalkuView .kalku-top input::placeholder,
#kalkuView .kproject-link input::placeholder,
#kalkuView #kview-overview input::placeholder {color:#78889a !important;opacity:1}
#kalkuView .kalku-top select option,
#kalkuView .kproject-link select option,
#kalkuView #kview-overview select option {background:#fff;color:#24323c}
#kalkuView .kalku-top input:focus,
#kalkuView .kalku-top select:focus,
#kalkuView .kproject-link input:focus,
#kalkuView .kproject-link select:focus,
#kalkuView #kview-overview input:focus,
#kalkuView #kview-overview select:focus {outline:2px solid #a9cfe7;outline-offset:1px}
#kalkuView .kalku-top input:disabled {background:#f1f5f9 !important;color:#64748b !important}

/* v0.9.63 — overview status, project linkage and aligned version picker */
#kalkuView #kview-overview .checkitem {
  background:#f3f6f8 !important;
  color:#24323c !important;
  border:1px solid #dce5ec;
  padding:10px 12px;
}
#kalkuView #kview-overview .checkitem b {color:#24323c !important}
#kalkuView #kview-overview .checkitem.good::before {color:#228352}
#kalkuView #kview-overview .checkitem.warn::before {color:#b17b12}
#kalkuView .kproject-link {padding:16px 20px}
#kalkuView .kproject-heading {margin-bottom:12px}
#kalkuView .kproject-heading h2 {margin-bottom:3px}
#kalkuView .kproject-link .kproject-actions {
  display:flex;align-items:flex-end;gap:16px;max-width:none;
}
#kalkuView .kproject-link .kproject-action {flex:0 1 auto}
#kalkuView .kproject-link .kproject-divider {align-self:flex-end;padding-bottom:10px}
#kalkuView .kproject-link .kproject-fields {flex-wrap:wrap}
#kalkuView .kproject-link .kproject-fields select {width:280px;max-width:100%}
#kalkuView .kalku-actions {align-items:center}
#kalkuView #kalkuVersionSelect {
  height:36px !important;min-height:36px !important;
  padding:7px 8px !important;margin:0 !important;
  line-height:20px;align-self:center;
}
@media(max-width:1100px){
 #kalkuView .kproject-link .kproject-actions {flex-wrap:wrap;align-items:flex-start}
 #kalkuView .kproject-link .kproject-divider {align-self:center}
}
@media(max-width:700px){#kalkuView .kproject-link .kproject-divider{display:none}}


/* v0.9.64 — KALKU positsioonide impordi ja tabeli visuaalne ühtlustamine */
#kalkuView #kview-positions .kimport-subtitle {margin:16px 0 2px;font-size:16px}
#kalkuView #kview-positions .kimport-u-section {border-top:1px solid #d8e2e9;margin-top:18px;padding-top:16px}
#kalkuView #kview-positions .kimport-u-section h3 {margin:0 0 12px;font-size:16px}
#kalkuView #kview-positions input:not([type="checkbox"]),
#kalkuView #kview-positions select,
#kalkuView #kview-positions textarea {
 background:#fff !important;color:#24323c !important;border:1px solid #cbd5df !important;
 border-radius:6px;color-scheme:light !important;
}
#kalkuView #kview-positions input::placeholder {color:#78889a !important;opacity:1}
#kalkuView #kview-positions input[type="file"] {padding:7px 9px}
#kalkuView #kview-positions input[type="file"]::file-selector-button {
 background:#edf4f8;color:#173b57;border:1px solid #cbd5df;
 border-radius:5px;padding:6px 10px;margin-right:10px;cursor:pointer;font-weight:600;
}
#kalkuView #kview-positions #kPositionRows tr:nth-child(odd):not(.krow-removed) {background-color:#fff}
#kalkuView #kview-positions #kPositionRows tr:nth-child(even):not(.krow-removed) {background-color:#f3f6f8}
#kalkuView #kview-positions #kPositionRows td {border-bottom:1px solid #d5e0e8}
#kalkuView #kview-positions #kPositionRows tr:hover {background-color:#eaf3f9 !important}
#kalkuView #kview-positions #kPositionRows input:not([type="checkbox"]),
#kalkuView #kview-positions #kPositionRows select {margin-top:0;padding:5px 6px;min-height:28px}
#kalkuView #kview-positions #kPositionRows input[type="checkbox"] {accent-color:#1f6f9f}

/* v0.9.65 — kompaktne import ning olemasolevate staatuste heledad värvikoodid */
#kalkuView #kview-positions > .card:first-child {padding-top:16px;padding-bottom:14px}
#kalkuView #kview-positions .kimport-subtitle {margin:10px 0 0}
#kalkuView #kview-positions .formgrid {row-gap:2px;column-gap:10px}
#kalkuView #kview-positions .formgrid label {margin:6px 0;font-weight:600}
#kalkuView #kview-positions .formgrid input[type="file"],
#kalkuView #kview-positions .kimport-u-section input[type="file"] {padding:4px 7px;min-height:37px}
#kalkuView #kview-positions input[type="file"]::file-selector-button {padding:5px 9px}
#kalkuView #kview-positions .kimport-u-section {margin-top:12px;padding-top:10px}
#kalkuView #kview-positions .kimport-u-section h3 {margin-bottom:5px}
#kalkuView #kview-positions .kimport-u-section .importline {margin:4px 0 0;gap:7px}
#kalkuView #kview-positions .kdiff-badge.unchanged {background:#edf2f6;border-color:#d2dde6;color:#536577}
#kalkuView #kview-positions .kdiff-badge.changed {background:#fff1d6;border-color:#e9cd8e;color:#8a5b13}
#kalkuView #kview-positions .kdiff-badge.added {background:#e1f4e8;border-color:#afd9bd;color:#276b42}
#kalkuView #kview-positions .kdiff-badge.removed {background:#fde8e9;border-color:#e9b6bd;color:#993d4b}
#kalkuView #kview-positions #kPositionRows select.node-status-select {width:100%;min-width:0;max-width:100%;font-size:11px;padding:5px 1px;border-radius:5px;font-weight:700;cursor:pointer}
#kalkuView #kview-positions #kPositionRows select.node-status-kontrollimata {background:#f0f2f5 !important;color:#566574 !important;border-color:#cbd5df !important}
#kalkuView #kview-positions #kPositionRows select.node-status-automaatne {background:#f0f2f5 !important;color:#566574 !important;border-color:#cbd5df !important}
#kalkuView #kview-positions #kPositionRows select.node-status-kinnitatud {background:#ddf3e6 !important;color:#236640 !important;border-color:#a9d8bc !important}

/* v0.9.67 — impordi allikavaliku kõrguse ühtlustamine */
#kalkuView #kview-positions #kImportSource {height:37px;min-height:37px;padding:6px 9px;box-sizing:border-box}

/* v0.9.69 — impordist pärit väärtused ei ole sisestusväljad */
#kalkuView .kimport-locked{display:inline-block;box-sizing:border-box;padding:7px 4px;color:#334155;white-space:nowrap;}
#kalkuView .kimport-locked-number{min-width:70px;text-align:right;font-variant-numeric:tabular-nums;}

/* v0.9.70 – sõlmetüüpide kokkuvõte */
.node-total-details summary{cursor:pointer;list-style:none}.node-total-details summary::-webkit-details-marker{display:none}.node-total-types{padding:5px 12px 10px 22px;border-bottom:1px solid #d4dde5}.node-total-types .metricline{font-size:.92em;padding:5px 0}.node-total-types .metricline:last-child{border-bottom:0}

/* v0.9.71: Materjalide vaate heledad väljad ja ühtne materjalide tabel */
#kview-materials input:not([type="checkbox"]):not([type="file"]),
#kview-materials select,#kview-materials textarea{
 background:#fff!important;color:#142438!important;border:1px solid #c9d6e2!important;
 border-radius:6px!important;min-height:34px;box-sizing:border-box;
}
#kview-materials input[type="file"]{
 background:#fff!important;color:#142438!important;border:1px solid #c9d6e2!important;
 border-radius:6px;padding:5px;box-sizing:border-box;
}
#kview-materials .mathead{background:#deebf4!important;color:#19344b!important}
#kview-materials .material-auto-table{border-color:#c9d6e2!important}
#kview-materials .matrow{border-bottom-color:#dce5ee!important}
#kview-materials .matrow:nth-child(2n+1):not(.mathead){background:#f6f9fb}
#kview-materials .matrow input.inline-price{min-height:30px!important}
#kview-materials .glass-type-table td{vertical-align:middle}
#kview-materials .glass-pos-details td{background:#f4f8fb!important;text-align:left!important;white-space:normal;line-height:1.6;padding:12px 16px}
#kview-materials .quote-card{border-color:#d0dce7;background:#fff}
#kview-materials .quote-card span{color:#657c94}
#kview-materials .quote-card-warning{border-color:#c88700}
#kview-materials .custom-materials-section{margin-top:18px}
#kview-materials .custom-materials-section h3{font-size:15px;margin:0 0 10px}
#kview-materials .custom-material-form{display:grid;grid-template-columns:minmax(160px,2fr) 100px 105px 125px 85px auto;align-items:end;gap:10px}
#kview-materials .custom-material-form label{display:flex;flex-direction:column;gap:5px;font-size:12px}
#kview-materials .custom-material-form input{width:100%;min-width:0}
#kview-materials .custom-material-form>span{padding-bottom:9px;text-align:right;font-weight:700}
#kview-materials .custom-material-row{display:grid;grid-template-columns:minmax(160px,2fr) 110px 130px 100px 65px 75px;align-items:center;gap:10px;border-bottom:1px solid #dce5ee;padding:8px 4px}
#kview-materials .custom-material-row:nth-child(odd){background:#f6f9fb}
#kview-materials .custom-material-row .custom-material-name{font-weight:650}
#kview-materials .material-totals{margin-top:18px;border-top:1px solid #dce5ee;padding-top:14px}
#kview-materials .material-totals>label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
#kview-materials .material-totals>label input{width:125px!important}
#kview-materials .material-base-details{font-size:12px;color:#667b90;padding:8px 0}
#kview-materials .material-base-details summary{cursor:pointer}
@media(max-width:1000px){#kview-materials .custom-material-form{grid-template-columns:repeat(2,minmax(0,1fr))}#kview-materials .custom-material-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

#kview-materials .custom-material-list{display:contents}
#kview-materials .custom-material-row{display:grid;grid-template-columns:70px minmax(190px,1.5fr) 100px 145px 110px;gap:10px;align-items:center;padding:8px 10px}
#kview-materials .custom-material-row .custom-material-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#kview-materials .custom-material-row button{font-weight:500}

/* v0.9.72: freely added materials are edited in place */
#kview-materials .custom-material-row.editing input{box-sizing:border-box;width:100%;min-width:0;background:#fff;color:#17283c;border:1px solid #c7d7e6;border-radius:5px;padding:7px 8px;font:inherit}
#kview-materials .custom-material-row.editing .custom-material-edit-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#kview-materials .custom-material-row.editing .custom-material-edit-name>.cm-name{flex:1 1 150px}
#kview-materials .custom-material-row.editing .custom-material-actions{display:flex;gap:5px}
#kview-materials .custom-material-row.editing .custom-material-numbers{display:flex;gap:5px}
#kview-materials .custom-material-row.editing .custom-material-numbers input{width:50%;flex:1}

/* v0.9.73 – work estimate input alignment */
#kview-works .card > label:has(>input.kparam){display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:9px 0}
#kview-works .card > label > input.kparam{width:125px!important;max-width:35%;margin:0!important;flex:0 0 125px}
#kview-works .formgrid.compact{display:block}
#kview-works .formgrid.compact label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:9px 0}
#kview-works .formgrid.compact input.kparam{width:125px!important;max-width:35%;margin:0!important}
#kview-works input.kparam,#kview-works .node-matrix input.knodeqty{background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6!important;border-radius:5px!important}
#kview-works input.kparam:focus,#kview-works .node-matrix input.knodeqty:focus{outline:2px solid #81b6dc;outline-offset:1px}
#kview-works .installation-extras{border-top:1px solid #d9e2eb;margin-top:14px;padding-top:12px}
#kview-works .installation-extras h3{font-size:15px;margin:0 0 10px}
#kview-works .custom-install-form{display:grid;grid-template-columns:minmax(0,1fr) 145px auto;align-items:end;gap:10px;margin:12px 0}
#kview-works .custom-install-form label{display:flex;flex-direction:column;gap:5px;font-size:12px}
#kview-works .custom-install-form input,#kview-works .custom-install-row.editing input{width:100%;box-sizing:border-box;background:#fff;color:#17283c;border:1px solid #c8d7e6;border-radius:5px;padding:8px}
#kview-works .custom-install-row{display:grid;grid-template-columns:minmax(0,1fr) 145px auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #e1e8ee}
#kview-works .custom-install-row .ci-total{text-align:right}
#kview-works .custom-install-row .ci-actions{display:flex;gap:5px}
@media(max-width:650px){#kview-works .custom-install-form,#kview-works .custom-install-row{grid-template-columns:minmax(0,1fr) 110px}#kview-works .custom-install-form button,#kview-works .custom-install-row .ci-actions{grid-column:1/-1}}

/* v0.9.74: Work page polishing */
#kview-works .node-matrix tbody tr:nth-child(even){background:#f0f6fa}
#kview-works .node-matrix tbody tr:nth-child(odd){background:#fff}
#kview-works .node-matrix tbody tr:hover{background:#e4f1fa}
#kview-works .node-matrix td{border-bottom:1px solid #d9e4ec}
#kview-works .node-matrix-wrap{overflow-x:auto;max-width:100%}
#kview-works .node-matrix{width:100%;table-layout:auto}
#kview-works .node-matrix td{min-width:0;padding:4px 5px}
#kview-works .node-matrix input{width:48px!important;min-width:0!important}
#kview-works .custom-install-form input,#kview-works .work-extra-add input,#kview-works .work-extra-row input,#kview-positions .pos-equipment-editor input{background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6!important;border-radius:5px;padding:7px;box-sizing:border-box}
#kview-works .work-extra-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid #dfe8ef;padding:7px 0}
#kview-works .work-extra-row>span:first-child{flex:1}
#kview-works .work-extra-row input{width:115px;min-width:0}
#kview-works .work-extra-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 16px}
#kview-works .work-extra-add input{width:125px;flex:1;min-width:90px}
#kview-works .work-extra-add input:first-child{flex:2}
#kview-works .subcontract-extra .sc-name{flex:2}
#kview-works .subcontract-extra .sc-unit{width:65px}
#kview-works .subcontract-extra .sc-qty,#kview-works .subcontract-extra .sc-price{width:85px}
#kview-works .subcontract-extra b{min-width:85px;text-align:right}
#kview-works h3{font-size:15px;margin:15px 0 8px}
#kview-positions .pos-equipment-editor{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px;background:#f3f8fc}
#kview-positions .pos-equipment-editor label{display:flex;align-items:center;gap:7px}
#kview-positions .pos-equipment-editor input{width:65px}

/* Koondi hinnakujundus */
.kpricing-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #dce4ea}
.kpricing-controls label{margin:0;min-width:160px;max-width:235px;flex:1}
.kpricing-controls button{white-space:nowrap}
.kpricing-controls .muted{font-size:12px;flex-basis:100%}

/* v0.9.79 pakkumise tekstiread */
.offer-structured{display:flex;flex-direction:column;gap:7px;margin:10px 0 14px}.offer-line{display:flex;align-items:center;gap:9px}.offer-line-on{width:17px;height:17px;flex-shrink:0}.offer-line-text{flex:1;min-width:0;background:#fff!important;color:#172235!important;border:1px solid #cbd5e1;border-radius:6px;padding:8px}.offer-line-remove{min-width:30px}.offer-line-add{align-self:flex-start}.offer-finish{display:grid;grid-template-columns:1fr 2fr;gap:12px}.offer-finish select,.offer-finish textarea{background:#fff!important;color:#172235!important}@media(max-width:760px){.offer-finish{grid-template-columns:1fr}}

/* v0.9.80 – pakkumise tekstide kompaktne kujundus */
#kview-offer .offer-structured{gap:4px;margin:9px 0 10px}
#kview-offer .offer-line{display:flex;align-items:flex-start;gap:9px;min-height:34px}
#kview-offer .offer-line-on{width:17px!important;height:17px!important;margin:8px 2px 0 1px;flex:none;accent-color:#1f6f9f}
#kview-offer .offer-line-text{flex:1;min-width:0;width:100%;min-height:33px;height:33px;max-height:240px;overflow-y:auto;resize:vertical;margin:0!important;padding:7px 9px!important;line-height:18px;font:inherit;font-size:13px;background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6!important;border-radius:5px;box-sizing:border-box}
#kview-offer .offer-line-disabled .offer-line-text{color:#87939f!important;background:#f6f8fa!important}
#kview-offer .offer-line-remove{flex:none;min-width:26px;width:26px;height:29px;padding:0;background:transparent;color:#7c8996;border:1px solid transparent;border-radius:5px;font-size:18px;font-weight:400}
#kview-offer .offer-line-remove:hover{background:#f3f5f7;border-color:#d9e1e7;color:#b13c3c}
#kview-offer .offer-line-add{align-self:flex-start;margin-top:3px;padding:6px 11px;font-size:12px}
#kview-offer .offer-finish select,#kview-offer .offer-finish textarea,#kview-offer .koffertext{background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6;border-radius:5px;color-scheme:light}
#kview-offer .offer-finish textarea{min-height:56px}
#kview-offer .card{padding-top:18px;padding-bottom:18px}


/* v0.9.81 – pakkumise vormi ühtsed valikud ja mahutabeli loetavus */
#kview-offer .offer-actions #kOfferLanguage{
  appearance:auto;display:block;width:132px;min-width:132px;height:35px;
  padding:6px 9px;margin-top:5px;background:#fff!important;color:#17283c!important;
  border:1px solid #c8d7e6!important;border-radius:5px;font:inherit;font-size:13px;
  color-scheme:light;
}
#kview-offer .offer-finish>label{min-width:0;margin-top:8px}
#kview-offer .offer-finish #kOfferFinishType{
  appearance:auto;display:block;width:100%;height:35px;min-height:35px;
  margin-top:5px;padding:6px 9px;box-sizing:border-box;
  background:#fff!important;color:#17283c!important;
  border:1px solid #c8d7e6!important;border-radius:5px;
  font:inherit;font-size:13px;color-scheme:light;
}
#kview-offer #kOfferRows tr:nth-child(odd){background:#fff}
#kview-offer #kOfferRows tr:nth-child(even){background:#edf4f8}
#kview-offer #kOfferRows tr:hover{background:#dfeef8}
#kview-offer #kOfferRows td{border-bottom:1px solid #dbe5ed}


/* v0.9.82 – Versioonid ja Admin / parameetrid: hele ühtne kujundus */
#kview-versions .version-row,
#kview-versions .version-row.current{
  background:#f4f8fb!important;color:#20384d!important;
  border:1px solid #d5e2ec!important;border-radius:7px;
}
#kview-versions .version-row.current{background:#e9f3fa!important;border-color:#a6c9e2!important}
#kview-versions .version-row b,#kview-versions .version-row strong{color:#173b57!important}
#kview-versions .version-row:hover{background:#e1eff8!important}
#kview-admin input.kparam,#kview-admin .node-type-table input{
  background:#fff!important;color:#17283c!important;
  border:1px solid #c8d7e6!important;border-radius:5px!important;
  min-height:34px;padding:6px 9px;color-scheme:light;
  font:inherit;font-size:13px;
}
#kview-admin input.kparam:focus,#kview-admin .node-type-table input:focus{
  outline:2px solid #81b6dc;outline-offset:1px;
}
#kview-admin .node-type-table input{width:100px!important;max-width:100%;text-align:right}
#kview-admin .node-type-table tbody tr:nth-child(even){background:#f4f8fb}
#kview-admin .node-type-table tbody tr:hover{background:#e9f3fa}

/* v0.9.83: ettevõtte baasparameetrite adminivaade */
#kview-admin.admin-forbidden{display:none!important}
#kview-admin .kbaseparam,#kview-admin .kbasenodetype{background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6;border-radius:5px;color-scheme:light}
#kBaseSaveBtn{margin-top:14px}
#kBaseLastChange{margin-top:10px}

/* v0.9.84 – ühtne administreerimise kujundus */
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.admin-tab{background:#fff;color:#193852;border:1px solid #cbdce9;border-radius:7px;padding:11px 17px;font-weight:650;cursor:pointer}
.admin-tab:hover{background:#edf5fa}
.admin-tab.active{background:#dcecf7;border-color:#8db9d8;color:#104c76}
#usersView .admin-section>.card{margin-bottom:16px}
#usersView input:not([type=checkbox]),#usersView select,#usersView .kbasenodetype,#usersView .kbaseparam{background:#fff!important;color:#1c3041!important;border:1px solid #c7d8e5!important;border-radius:5px;min-height:35px;box-sizing:border-box;color-scheme:light}
#usersView .users-table input:not([type=checkbox]),#usersView .users-table select{min-height:31px}
#usersView .node-type-table tbody tr:nth-child(even){background:#edf4f8}
#usersView .node-type-table tbody tr:hover{background:#dfeef8}
#usersView .node-type-table input{max-width:130px}
#usersView .admin-section .formgrid{margin-top:12px}
#usersView .admin-defaults .card{margin-bottom:16px}

/* v0.9.88: contact columns in the users table */
.users-table .c-contact{width:150px}
.users-table .usr-email,.users-table .usr-phone{width:100%;min-width:110px;box-sizing:border-box;background:#fff;color:#193044;border:1px solid #cbd9e5;border-radius:4px;padding:5px}

.finance-overrun{color:#b42318;font-weight:700;background:#fff0ee}

/* v0.9.97 – project portfolio usability, presentation only */
#portfolioView .portfolio-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0 16px}
#portfolioView .portfolio-filters label{display:flex;flex-direction:column;gap:5px;color:#27445d;font-weight:600;font-size:13px;min-width:145px}
#portfolioView .portfolio-filters .portfolio-search-label{flex:1 1 240px;max-width:440px}
#portfolioView .portfolio-filters select,#portfolioView .portfolio-filters input{height:36px;box-sizing:border-box;background:#fff!important;color:#17283c!important;border:1px solid #c8d7e6!important;border-radius:6px;padding:6px 10px;font:inherit;font-weight:400;color-scheme:light;width:100%}
#portfolioView .portfolio-filters select:focus,#portfolioView .portfolio-filters input:focus{outline:2px solid #81b6dc;outline-offset:1px}
#portfolioView .portfolio-scroll{max-height:calc(100vh - 290px);min-height:220px;overflow:auto;overscroll-behavior:contain;border:1px solid #d5e2ec;border-radius:7px;position:relative;scrollbar-gutter:stable}
#portfolioView .portfolio-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}
#portfolioView .portfolio-grid th,#portfolioView .portfolio-grid td{white-space:nowrap;padding:8px 10px;border-bottom:1px solid #dbe5ed;box-sizing:border-box}
#portfolioView .portfolio-grid thead th{position:sticky;background:#dce9f3;z-index:3;text-align:center}
#portfolioView .portfolio-grid thead tr:first-child th{top:0;height:38px}
#portfolioView .portfolio-grid thead tr:nth-child(2) th{top:38px;height:32px}
#portfolioView .portfolio-grid thead tr:first-child th[rowspan]{top:0;z-index:5}
#portfolioView .portfolio-grid tbody tr:nth-child(odd){background:#fff}
#portfolioView .portfolio-grid tbody tr:nth-child(even){background:#f0f5f9}
#portfolioView .portfolio-grid tbody tr:hover{background:#e1eef7}
#portfolioView .portfolio-grid .portfolio-group-start{border-left:2px solid #7894aa}
#portfolioView .portfolio-grid tbody .finance-overrun{color:#b42318;font-weight:700;background:#fff0ee}
@media(max-height:550px){#portfolioView .portfolio-scroll{max-height:320px}}

/* v0.9.98: aligned fixed-width portfolio columns and stable sticky intersections */
#portfolioView .portfolio-grid{table-layout:fixed;width:max-content;min-width:0}
#portfolioView .portfolio-grid col.portfolio-width-number{width:76px}
#portfolioView .portfolio-grid col.portfolio-width-name{width:195px}
#portfolioView .portfolio-grid col.portfolio-width-owner{width:104px}
#portfolioView .portfolio-grid col.portfolio-width-money{width:135px}
#portfolioView .portfolio-grid th,#portfolioView .portfolio-grid td{width:auto;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis}
#portfolioView .portfolio-grid thead tr:first-child th{height:38px}
#portfolioView .portfolio-grid thead tr:nth-child(2) th{height:32px}
#portfolioView .portfolio-grid .portfolio-fixed.portfolio-col-number{position:sticky;left:0;min-width:0;max-width:none}
#portfolioView .portfolio-grid .portfolio-fixed.portfolio-col-name{position:sticky;left:76px;min-width:0;max-width:none}
#portfolioView .portfolio-grid .portfolio-fixed.portfolio-col-owner{position:sticky;left:271px;min-width:0;max-width:none;border-right:2px solid #7894aa}
/* Disable positional sticky rules: in the second header row nth-child(1) is a money column. */
#portfolioView .portfolio-grid thead tr:nth-child(2) th:nth-child(-n+3){position:sticky;left:auto;z-index:4}
#portfolioView .portfolio-grid thead .portfolio-fixed{z-index:9!important;background:#dce9f3}
#portfolioView .portfolio-grid tbody td.portfolio-fixed{z-index:5}
#portfolioView .portfolio-grid tbody tr:nth-child(odd)>td.portfolio-fixed{background:#fff}
#portfolioView .portfolio-grid tbody tr:nth-child(even)>td.portfolio-fixed{background:#f0f5f9}
#portfolioView .portfolio-grid tbody tr:hover>td.portfolio-fixed{background:#e1eef7}
#portfolioView .portfolio-grid tbody tr.portfolio-total>th{position:sticky;bottom:0;background:#dce9f3;z-index:6}
#portfolioView .portfolio-grid tbody tr.portfolio-total>th.portfolio-fixed{z-index:10}
#portfolioView .portfolio-grid tbody tr.portfolio-total>td{position:sticky;bottom:0;background:#dce9f3;z-index:6}
#portfolioView .portfolio-grid tbody tr.portfolio-total>td.finance-overrun{color:#b42318}
#portfolioView .portfolio-grid tbody tr.portfolio-total>td.portfolio-group-start{border-left:2px solid #7894aa}
