
/* 3dp CNC Studio — 3dp.lv krāsas, gaišs darba vides stils */
@font-face{font-family:"Inter";font-style:normal;font-weight:300 800;font-display:swap;src:url(../../theme/meistars/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:300 800;font-display:swap;src:url(../../theme/meistars/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:300 800;font-display:swap;src:url(../../theme/meistars/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{
  --bg:#ece6dc; --chrome:#faf7f2; --surface:#fffdf9; --panel:#fcfaf6; --ink:#1d1915; --ink2:#3a332c; --muted:#6b6157; --line:#ddd3c5; --line2:#ebe4d8;
  --accent:#2f4b3c; --accent2:#243b2f; --accent-ink:#ffffff; --accent-soft:#e6eee8; --sel:#d6e5da; --hover:#f4efe7; --warm:#b9583a; --gold:#e7c9a9;
  --ok:#1a7f45; --warn:#a15c00; --bad:#c0262d; --okbg:#e6f4ec; --warnbg:#fdf3e2; --badbg:#fcebec; --code:#f5f7fa;
  --vp:#efe9df;
  --alu:#c3ccd5; --steel:#7a8591; --rail:#e3e7eb; --wood:#c99c63; --motor:#2c323a; --spin:#eef0f2; --cab:#a7b3bf; --drive:#4a535d; --plate:#3d4f64; --edge:rgba(20,30,40,.35);
  --paint:#3e6488; --paint2:#4f7f6d; --screw:#d6dbe0; --mdf:#b89466; --black:#24292f; --slot:#8e99a4; --carr:#9aa7b4; --cab2:#c9d2db; --orange:#d9832b; --red:#c62828; --teal:#2e8b8b; --white:#e9edf1; --sheet:#d7dde3; --glass:#9fd0e0; --tubein:#e6f3f7; --granite:#77736d;
  --f:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r:6px; --sh:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{overflow:hidden;margin:0;background:var(--bg)}
body{color:var(--ink);font-family:var(--f);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit}
.ico{flex:none;display:block}
.app{max-width:1600px;margin:0 auto;padding:10px max(10px,env(safe-area-inset-left,0px)) 14px max(10px,env(safe-area-inset-right,0px))}
/* virsrakstu josla */
.tbar{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px 10px 0 0;padding:8px 12px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:9px;min-width:0}
.logo b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em}
.logo>div>span{display:block;font-size:11px;color:var(--muted);white-space:nowrap}
.types{display:flex;background:var(--bg);border-radius:8px;padding:3px;gap:2px}
.types button{border:0;background:transparent;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:500;color:var(--ink2);white-space:nowrap}
.types button:hover{background:rgba(255,255,255,.6)}
.types button.on{background:var(--surface);color:var(--accent);box-shadow:var(--sh);font-weight:600}
.kpi{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.kpi div{display:flex;flex-direction:column;line-height:1.2}
.kpi span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.kpi b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.lang{display:flex;align-items:center}.lang select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:8px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1l5 5 5-5%27 fill=%27none%27 stroke=%27%236b6157%27 stroke-width=%271.6%27/%3E%3C/svg%3E") right 9px center/10px no-repeat;padding:6px 28px 6px 10px;font:600 12px var(--f);color:var(--ink);cursor:pointer}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lang button{border:0;background:var(--surface);padding:5px 9px;cursor:pointer;font-weight:600;font-size:12px;color:var(--muted)}
.lang button.on{background:var(--accent);color:#fff}
/* lentes cilnes */
.rib{display:flex;gap:2px;background:var(--chrome);border:1px solid var(--line);border-top:0;padding:0 8px;overflow-x:auto;scrollbar-width:none}
.rib button{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:9px 13px 8px;cursor:pointer;color:var(--ink2);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}
.rib button:hover{color:var(--accent)}
.rib button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
/* komandu josla */
.cmd{display:flex;align-items:stretch;gap:2px;background:var(--surface);border:1px solid var(--line);border-top:0;padding:4px 6px;overflow-x:auto;min-height:58px;scrollbar-width:thin}
.cb{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:74px;border:1px solid transparent;background:transparent;border-radius:6px;padding:5px 8px;cursor:pointer;color:var(--ink2);font-size:11.5px;white-space:nowrap}
.cb:hover{background:var(--hover);border-color:var(--line2)}
.cb.on{background:var(--accent-soft);border-color:#b9d3f3;color:var(--accent);font-weight:600}
.cb.err{color:var(--bad)}
.cb .dot{position:absolute;top:5px;right:9px;width:7px;height:7px;border-radius:50%;background:transparent}
.cb .dot.v{background:var(--ok)}.cb .dot.e{background:var(--bad)}
.cmdt{display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--ink2)}
.cmdt b{font-size:14px}.cmdt span{color:var(--muted)}
.cmdb{display:flex;align-items:center;gap:6px;margin-left:auto;padding-right:4px}
/* darba vide */
.ws{display:grid;grid-template-columns:260px minmax(0,1fr) 340px;height:760px;border:1px solid var(--line);border-top:0;background:var(--line);gap:1px}
.fm,.pm{background:var(--panel);min-height:0}
.fm{display:flex;flex-direction:column}
.fmt{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.fmh{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line2);background:var(--chrome)}
.fmh b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2)}
.fmh>span{color:var(--muted);font-size:11px;margin-right:auto;background:var(--bg);border-radius:9px;padding:0 6px}
.fmc{overflow:auto;flex:1;min-height:0;padding:2px 0 8px}
.fmk{display:flex;justify-content:space-between;padding:3px 10px 3px 28px;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line2);position:sticky;top:0;background:var(--panel);z-index:1}
.tr,.tr ul{list-style:none;margin:0;padding:0}
.tr ul{padding-left:14px}
.row{display:flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;cursor:pointer;min-height:23px;border-left:2px solid transparent}
.row:hover{background:var(--hover)}
.row.sel{background:var(--sel);border-left-color:var(--accent)}
.row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row.asm .nm{font-weight:600}
.row .m{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}
.car{border:0;background:none;width:14px;padding:0;cursor:pointer;color:var(--muted);font-size:11px}
.ia,.ip{width:12px;height:12px;border-radius:3px;flex:none}
.ia{background:linear-gradient(135deg,#7ea9db,#0b62c4)}
.ip{background:linear-gradient(135deg,#d9dee5,#93a0ae);margin-left:14px;border-radius:2px}
.props{border-top:1px solid var(--line);background:var(--surface);max-height:48%;overflow:auto;padding:8px 10px 10px;flex:none}
.ph{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.ph b{flex:1;font-size:12.5px;line-height:1.3}
.ph .ip{margin-left:0}
.x{border:0;background:var(--bg);border-radius:4px;width:22px;height:22px;cursor:pointer;color:var(--muted)}
.pt{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}
.pt th{text-align:left;color:var(--muted);font-weight:500;padding:3px 8px 3px 0;vertical-align:top;white-space:nowrap;width:1%}
.pt td{padding:3px 0;border-bottom:1px solid var(--line2)}
.lnk{border:0;background:none;padding:0;color:var(--accent);cursor:pointer;text-align:left}
/* skats */
.gfx{background:var(--surface);min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}
.view{flex:1;min-height:0;position:relative}
.view[hidden],.content[hidden]{display:none}
.v3{position:absolute;inset:0;background:linear-gradient(180deg,#f8fafc 0%,#e3e8ee 100%)}
.v3c{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.v3c:active{cursor:grabbing}
.v3tools{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:8px;padding:3px;box-shadow:var(--sh);z-index:3}
.v3tools button{border:0;background:transparent;width:32px;height:30px;border-radius:5px;display:grid;place-items:center;cursor:pointer;color:var(--ink2)}
.v3tools button:hover{background:var(--hover)}
.v3tools button.on{background:var(--accent-soft);color:var(--accent)}
.v3tools .sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.v3axes{position:absolute;left:10px;bottom:28px;z-index:2;pointer-events:none}
.v3labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.v3l{position:absolute;transform:translate(-50%,-50%);font:600 11px var(--f-mono);background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px;white-space:nowrap}
.v3l.dim{background:rgba(255,255,255,.95);color:var(--ink);border:1px solid var(--line)}
.v3hint{position:absolute;right:10px;bottom:6px;font-size:11px;color:var(--muted);pointer-events:none;text-align:right}
.isov{padding:20px}.isov svg{width:100%;height:auto}
/* saturs (analīzes, rasējums, BOM) */
.content{flex:1;min-height:0;overflow:auto;background:var(--bg)}
.doc,.an{padding:14px}
.doc h3,.sec h3{font-size:13px;margin:0 0 8px;font-weight:600}
.doc h3{margin-top:14px}
.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px}
.sheet svg{width:100%;height:auto;display:block}
.sumrow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}
.kcard{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:1px;min-width:0}
.kcard:hover{border-color:#b9d3f3}
.kcard.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.kcard .t{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.kcard b{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kcard .s{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:10px}
.sec.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sec h4{font-size:12px;margin:12px 0 6px;color:var(--ink2)}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:4px 0 10px}
.kpis div{background:var(--panel);border:1px solid var(--line2);border-radius:5px;padding:6px 9px;display:flex;flex-direction:column}
.kpis span{font-size:10.5px;color:var(--muted)}
.kpis b{font-size:14px;font-variant-numeric:tabular-nums}
.form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.form label,.inl{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}
.inl{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
select,input[type=number]{font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:5px 7px;background:var(--surface);min-width:0}
select:focus,input:focus{outline:2px solid #9cc2f0;outline-offset:0;border-color:var(--accent)}
.form input{width:96px}
.st{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:12px}
.st i{font-style:normal;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;font-size:10px;color:#fff}
.st.ok i{background:var(--ok)}.st.warn i{background:var(--warn)}.st.bad i{background:var(--bad)}
.st.ok{color:var(--ok)}.st.warn{color:var(--warn)}.st.bad{color:var(--bad)}
.recs{margin:6px 0 0;padding:0;list-style:none}
.recs li{background:var(--warnbg);border-left:3px solid var(--warn);padding:6px 10px;border-radius:4px;margin-bottom:4px;font-size:12.5px}
.recs li.okk{background:var(--okbg);border-left-color:var(--ok)}
.disc,.hint{color:var(--muted);font-size:11.5px;margin:6px 0 0}
.mut{color:var(--muted)}
/* grafiki */
.chart{position:relative}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart .gl{stroke:var(--line2);stroke-width:1}
.chart .ax{stroke:var(--line);stroke-width:1}
.chart .tk{fill:var(--muted);font-size:10.5px;font-family:var(--f)}
.chart .tk.b,.chart .dl.b{fill:var(--ink);font-weight:600}
.chart .dl{fill:var(--ink2);font-size:11px;font-family:var(--f)}
.chart .mk{stroke:var(--ink2);stroke-dasharray:3 3}
.chart .band{fill:var(--ok);opacity:.07}
.chart .hit{fill:transparent;cursor:crosshair}
.chart .xh{stroke:var(--muted);stroke-width:1}
.chart .tip{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 14px rgba(16,24,40,.12);padding:6px 9px;font-size:11.5px;pointer-events:none;min-width:150px;z-index:4}
.chart .tip div{display:flex;align-items:center;gap:6px}.chart .tip em{margin-left:auto;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
.chart .tip i,.legend i,.dleg i{width:10px;height:10px;border-radius:2px;flex:none;display:inline-block}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink2);margin-top:4px}
.legend span{display:flex;align-items:center;gap:5px}
.hb{list-style:none;margin:0;padding:0}
.hb li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) auto;align-items:center;gap:8px;padding:3px 0;font-size:12px}
.hb li[data-sel]{cursor:pointer}.hb li[data-sel]:hover .l{color:var(--accent)}
.hb .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb .b{height:10px;background:var(--line2);border-radius:2px;overflow:hidden}
.hb .b i{display:block;height:100%;background:#2a78d6;border-radius:0 4px 4px 0}
.hb .v{font-variant-numeric:tabular-nums;color:var(--ink2);white-space:nowrap;min-width:64px;text-align:right}
.donut{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.donut svg{width:150px;height:150px;flex:none}
.donut .dc{font-size:15px;font-weight:700;fill:var(--ink)}
.dleg{list-style:none;margin:0;padding:0;flex:1;min-width:180px}
.dleg li{display:flex;align-items:center;gap:7px;padding:2px 0;font-size:12px}
.dleg span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dleg b{font-weight:600;font-variant-numeric:tabular-nums}.dleg em{font-style:normal;color:var(--muted);width:40px;text-align:right}
/* tabulas */
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%}
.tb,.bom{font-size:12px;background:var(--surface)}
.tb th,.bom th{text-align:left;font-weight:600;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0}
.tb td,.bom td{padding:5px 8px;border-bottom:1px solid var(--line2);vertical-align:top}
.tb tr.cur td{background:var(--accent-soft)}
td.n,th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tb sup{color:var(--warn);font-weight:600}
.bom{border:1px solid var(--line)}
.bom tr.cat td{background:var(--accent-soft);font-weight:600;color:var(--accent2)}
.bom tr.sum td{font-weight:600;color:var(--ink2)}
.bom tr.tot td{font-size:14px;font-weight:700;border-top:2px solid var(--ink)}
.note{display:block;font-size:11px;color:var(--muted)}
pre{background:var(--code);border:1px solid var(--line);border-radius:var(--r);padding:10px;font:11.5px/1.45 var(--f-mono);white-space:pre-wrap;max-height:420px;overflow:auto}
textarea{width:100%;min-height:150px;font:12px/1.45 var(--f-mono);border:1px solid var(--line);border-radius:var(--r);padding:8px;background:var(--code)}
.how{counter-reset:s;list-style:none;padding:0;margin:0}
.how li{counter-increment:s;display:flex;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;margin-bottom:6px}
.how li::before{content:counter(s);flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;font-size:11.5px}
.how p{margin:2px 0}.tol{font:11px var(--f-mono);color:var(--accent)}
/* īpašību pārvaldnieks */
.pm{overflow:auto;padding:0 0 12px}
.pmh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line2);background:var(--chrome);position:sticky;top:0;z-index:2}
.pmt{display:flex;align-items:center;gap:7px;color:var(--accent)}
.pmt b{color:var(--ink);font-size:13.5px}
.pmn{display:flex;gap:4px}
.ib{border:1px solid var(--line);background:var(--surface);width:28px;height:26px;border-radius:5px;cursor:pointer;font-size:17px;line-height:1;color:var(--ink2);display:grid;place-items:center}
.ib.sm{width:22px;height:22px;font-size:13px}
.ib.ok{background:var(--accent);border-color:var(--accent);color:#fff}
.ib:disabled{opacity:.4;cursor:default}
.lead{margin:8px 10px;color:var(--ink2);font-size:12px}
.alert{margin:0 10px 8px;background:var(--badbg);border:1px solid #f2c4c6;border-radius:5px;padding:6px 8px;color:var(--bad);font-size:12px}
.alert div{margin:2px 0}
.alert button,.iss button{border:1px solid currentColor;background:var(--surface);color:inherit;border-radius:4px;font-size:11px;padding:1px 6px;cursor:pointer;margin-left:4px}
.roll{border-top:1px solid var(--line2)}
.rh{display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;padding:7px 10px;cursor:pointer;text-align:left}
.rh:hover{background:var(--hover)}
.rh b{font-size:12px;font-weight:600;flex:1}
.rh .cnt{font-size:10.5px;color:var(--muted);background:var(--bg);border-radius:9px;padding:0 6px}
.chev{width:7px;height:7px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);margin:0 3px 3px 2px;transition:transform .15s}
.roll.shut .chev{transform:rotate(-45deg);margin:0 3px 0 2px}
.rb{padding:0 8px 8px}
.opt{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:5px;padding:6px 7px;cursor:pointer;margin:1px 0}
.opt:hover{background:var(--hover);border-color:var(--line2)}
.opt.sel{background:var(--accent-soft);border-color:#b9d3f3}
.opt.bl{opacity:.62;cursor:not-allowed}
.opt.bl.sel{opacity:1}
.rd,.cbx{flex:none;width:14px;height:14px;border:1.6px solid #9aa6b3;border-radius:50%;margin-top:2px;background:var(--surface)}
.cbx{border-radius:3px}
.opt.sel .rd{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--surface);background:var(--accent)}
.opt.sel .cbx{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.opt .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.opt .tx b{font-weight:600;font-size:12.5px}
.opt .ds{font-size:11.5px;color:var(--muted)}
.opt .sp{font-size:11px;color:var(--accent2)}
.opt .why{font-size:11px;color:var(--bad)}
.opt .whyw{font-size:11px;color:var(--warn)}
.rec{font-style:normal;font-size:10px;font-weight:600;color:var(--ok);background:var(--okbg);border-radius:3px;padding:0 4px;margin-left:6px;vertical-align:1px}
.opt .pr{font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink2);white-space:nowrap;padding-top:1px}
.opt.sel .pr{color:var(--accent)}
.xyz{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:2px 2px 6px}
.xyz label{display:flex;flex-direction:column;gap:2px;font-weight:600;font-size:11px;color:var(--muted)}
.xyz span{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);padding-right:6px}
.xyz input{border:0;width:100%;font-size:14px;font-weight:600;padding:6px 7px;outline:none;background:transparent}
.xyz em{font-style:normal;color:var(--muted);font-size:11px}
.presets{display:flex;flex-wrap:wrap;gap:4px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:2px 9px;cursor:pointer;font-size:11.5px;font-variant-numeric:tabular-nums}
.chip:hover,.chip.on{border-color:var(--accent);color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:5px;padding:7px 12px;cursor:pointer;font-weight:600;font-size:12.5px}
.btn:hover{background:var(--accent2)}
.btn.ghost{background:var(--surface);color:var(--accent)}
.btn.ghost:hover{background:var(--accent-soft)}
.btn.sm{padding:4px 10px;font-size:12px}
.btn.wide{display:flex;width:calc(100% - 20px);margin:8px 10px}
.btn:disabled{opacity:.45;cursor:default}
.mini{font-size:11.5px}
.mini td{padding:3px 4px;border-bottom:1px solid var(--line2);vertical-align:top}
.mini tr.hov{cursor:pointer}.mini tr.hov:hover td{background:var(--hover)}
.mini tr.sum td{font-weight:600}
.pmf{display:flex;justify-content:space-between;gap:6px;padding:10px 10px 0;border-top:1px solid var(--line2);margin-top:4px}
.ready{margin:4px 10px 8px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--warnbg)}
.ready.ok{background:var(--okbg)}
.ready p{margin:6px 0 0;display:flex;gap:4px;flex-wrap:wrap}
.golist{display:flex;flex-direction:column;gap:4px;padding:0 10px}
.golist button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 10px;cursor:pointer;text-align:left;color:var(--accent)}
.golist button:hover{border-color:var(--accent)}
.golist span{display:flex;flex-direction:column;color:var(--ink)}
.golist em{font-style:normal;font-size:11px;color:var(--muted)}
.dls{margin:10px 0 0;border-top:1px solid var(--line2);padding-top:8px}
.dls>b{display:block;padding:0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 10px}
.row3 .btn{padding:4px 4px;font-size:11px}
.sums{display:flex;flex-direction:column;gap:4px;padding:8px 10px}
.srow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 9px;cursor:pointer;text-align:left;color:var(--accent)}
.srow:hover{border-color:var(--accent)}
.srow>span{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--ink)}
.srow em{font-style:normal;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.srow b{font-size:14px;font-variant-numeric:tabular-nums}
.srow small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iss{list-style:none;margin:0;padding:0}
.iss li{font-size:12px;padding:5px 8px;border-radius:4px;margin-bottom:3px;border-left:3px solid var(--warn);background:var(--warnbg)}
.iss li.bad{border-left-color:var(--bad);background:var(--badbg)}
.iss li.info{border-left-color:var(--accent);background:var(--accent-soft)}
.bar{display:flex;align-items:center;gap:8px;margin-top:6px}
.toast{color:var(--ok);font-weight:600}
/* statusa josla */
.sb{display:flex;align-items:center;gap:14px;background:var(--chrome);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:5px 12px;font-size:11.5px;color:var(--muted)}
.sbi{font-weight:600;white-space:nowrap}.sbi.bad{color:var(--bad)}.sbi.warn{color:var(--warn)}.sbi.ok{color:var(--ok)}
.sbt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbu{font-family:var(--f-mono);font-size:11px}
:focus-visible{outline:2px solid #6ea8ec;outline-offset:1px}
@media (max-width:1280px){.ws{grid-template-columns:230px minmax(0,1fr) 320px}.kpi .hm{display:none}.sumrow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){
 .ws{grid-template-columns:1fr;height:auto}
 .gfx{order:1;height:auto}.view{height:420px;flex:none}.content{max-height:none;overflow:visible}
 .pm{order:2;max-height:none;overflow:visible}.fm{order:3}.fmc{max-height:360px}.props{max-height:none}
 .kpi{margin-left:0;order:3;width:100%;justify-content:space-between}.kpi .hm{display:none}
 .sec.two{grid-template-columns:1fr}.sumrow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
 .app{padding:6px 6px 10px}.tbar{gap:8px}.logo>div>span{display:none}.hb li{grid-template-columns:minmax(0,1fr) 70px auto}.types{order:4;width:100%;overflow-x:auto}.types button{padding:6px 8px;font-size:12px}
 .view{height:330px}.v3hint{display:none}.cb{min-width:62px;font-size:10.5px}.sbt{display:none}
 .kpi b{font-size:13.5px}
}

.amode{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11.5px;color:var(--muted);padding:2px 2px 8px}
.amode::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok,#2f9e44);flex:none}
.amode.man::before{background:var(--warn,#d97706)}
.amode{justify-content:flex-start}.amode button{margin-left:auto;font:inherit;font-weight:600;color:var(--accent);background:none;border:0;cursor:pointer;padding:2px 4px;border-radius:4px}
.amode button:hover{background:var(--accent-soft)}
.anote{position:absolute;left:14px;bottom:14px;z-index:6;display:flex;flex-direction:column;gap:2px;max-width:min(360px,70%);background:rgba(255,255,255,.96);border:1px solid var(--line,#e2e5ea);border-left:3px solid var(--accent);border-radius:8px;box-shadow:0 6px 24px rgba(15,23,42,.12);padding:9px 12px;font-size:12px;color:var(--ink2,#374151);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.anote.on{opacity:1;transform:none}.anote b{font-size:12px;color:var(--ink,#111827);margin-bottom:2px}.anote em{font-style:normal;font-weight:600;color:var(--ink,#111827)}

.tr .row.aux .nm,.tr .row.aux .m{color:var(--muted);font-style:italic}
td.mut,.mut{color:var(--muted)}

/* materiālu bāze */
.mfil{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.mgrid.sm{opacity:.82}
.mcard{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:7px;transition:box-shadow .2s,transform .2s;border-top:3px solid var(--line)}
.mcard:hover{box-shadow:0 10px 24px -16px rgba(0,0,0,.35);transform:translateY(-2px)}
.mcard.y{border-top-color:var(--ok)}.mcard.l{border-top-color:var(--warn)}.mcard.n{border-top-color:var(--bad)}
.mcard header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.mcard header b{font-size:14px}
.mcard p{margin:0;color:var(--ink2)}.mcard .mpar{font-family:var(--f-mono);font-size:12px;background:var(--code);border-radius:6px;padding:5px 8px;color:var(--ink)}
.mcard dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:12px}.mcard dt{color:var(--muted)}.mcard dd{margin:0}
.mwarn{background:var(--badbg);color:var(--bad)!important;border-radius:6px;padding:6px 8px;font-weight:600;font-size:12px}
.mtech{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:4px}
.mtech .mt{font-size:10.5px;padding:2px 7px;border-radius:999px;border:1px solid var(--line2);color:var(--muted)}
.mtech .mt.y{background:var(--okbg);color:var(--ok);border-color:transparent}.mtech .mt.l{background:var(--warnbg);color:var(--warn);border-color:transparent}.mtech .mt.n{text-decoration:line-through;opacity:.6}
.mtech .mt.me{outline:2px solid var(--accent);outline-offset:1px}
.plist{list-style:none;margin:8px 0 0;padding:0}.plist li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dashed var(--line2)}.mut{color:var(--muted)}
/* ---- Montāža un faili ---- */
.fdoc{max-width:1100px}
.fhero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,var(--accent-soft),var(--surface) 70%);margin-bottom:12px}
.fhero h3{margin:0 0 4px;font-size:16px}.fhero p{margin:0;color:var(--ink2);max-width:640px;line-height:1.5}
.fprog{position:relative;flex:none;width:76px;height:76px;display:grid;place-items:center}
.fprog svg{position:absolute;inset:0;transform:rotate(-90deg)}
.fprog circle{fill:none;stroke-width:3.2}.fprog .bgc{stroke:var(--line)}.fprog .fgc{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .5s ease}
.fprog b{font-size:15px;line-height:1;margin-top:8px}.fprog small{font-size:10.5px;color:var(--muted);margin-top:-14px}
.fcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:6px 0 4px}
.fcard{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.fcard:hover,.fcard:focus-visible{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px -14px rgba(20,40,30,.45)}
.fcard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fic{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff}.fic svg{stroke:#fff}
.ftx{display:flex;flex-direction:column;gap:3px;min-width:0}.ftx b{font-size:13px}.ftx small{font-size:11.5px;color:var(--ink2);line-height:1.4}
.fext{position:absolute;top:10px;right:10px;font:600 10px var(--f-mono);color:var(--ink2);border:1px solid var(--line2);padding:1px 6px;border-radius:6px}
.ftx{padding-right:58px}
.how.chk li{align-items:flex-start;transition:background .2s,opacity .2s}
.how.chk li.done{background:var(--okbg)}.how.chk li.done b{text-decoration:line-through;text-decoration-color:var(--ok)}
.gck{flex:none;cursor:pointer;position:relative;width:22px;height:22px;margin-top:1px}
.gck input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.gck span{display:block;width:22px;height:22px;border-radius:7px;border:1.6px solid var(--line2);background:var(--surface);transition:all .15s}
.gck input:checked+span{background:var(--ok);border-color:var(--ok)}
.gck input:checked+span::after{content:"";position:absolute;left:7.5px;top:3.5px;width:6px;height:11px;border:solid #fff;border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.gck input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.fcols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.fbox{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.fbox h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px}
.fbox ul{margin:0;padding-left:18px;line-height:1.55}.fbox li{margin:2px 0}
.fbox.warn{border-color:color-mix(in srgb,var(--orange) 45%,var(--line));background:color-mix(in srgb,var(--orange) 7%,var(--surface))}
.fbox.warn h4{color:color-mix(in srgb,var(--orange) 70%,var(--ink))}
@media (max-width:760px){.fcols{grid-template-columns:1fr}.fhero{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.fcard,.fprog .fgc{transition:none}}
