:root{
  --bg:#0f1113;--card:#181b1f;--soft:#202429;--input:#14171a;--text:#f4f4f2;--muted:#a7abb0;
  --border:#30353a;--accent:#c97d2f;--accent-soft:rgba(201,125,47,.16);--good:#7bc398;--warn:#e0ae68;
  --bad:#e99a9a;--danger:#7c3838;--shadow:0 14px 40px rgba(0,0,0,.22)
}
body.light{
  --bg:#f3f0e9;--card:#fff;--soft:#f8f5ef;--input:#fff;--text:#34383c;--muted:#777c80;
  --border:#d8d3ca;--accent:#b87533;--accent-soft:rgba(184,117,51,.13);--shadow:0 12px 35px rgba(66,55,43,.09)
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);color-scheme:dark}
body.light{color-scheme:light}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:calc(28px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.shell{width:min(820px,100%);margin:auto;padding:12px 14px 40px}
.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 12px;background:linear-gradient(var(--bg) 72%,transparent)}
.brandButton{border:0;background:transparent;color:var(--text);padding:0;text-align:left;display:grid;cursor:pointer}
.brand{font-size:25px;line-height:1;font-weight:900;letter-spacing:.02em}.tag{margin-top:4px;font-size:11px;color:var(--accent);font-style:italic}
.topActions{display:flex;align-items:center;gap:7px}.iconBtn{width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:20px;display:grid;place-items:center}.build{font-size:11px;border:1px solid var(--border);border-radius:999px;background:var(--card);padding:7px 9px;color:var(--muted)}
.topNavButton{font-weight:900}.topNavButton:focus-visible,.brandButton:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.frameMenuSearch input{margin-top:7px}.frameMenuObjects{display:grid;gap:8px;max-height:min(42vh,390px);overflow:auto;margin-top:11px}.frameMenuObject{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:15px;background:var(--soft);color:var(--text);padding:12px 13px;text-align:left}.frameMenuObject strong,.frameMenuObject small{display:block}.frameMenuObject small{color:var(--muted);font-size:12px;margin-top:3px}.frameMenuObject b{font-size:24px;color:var(--muted)}.frameMenuLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.frameMenuLinks button,.frameMenuTheme button{border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--text);padding:11px;font-weight:800}.frameMenuTheme{display:flex;gap:8px;margin-top:10px}.frameMenuTheme button{flex:1}.frameMenuTheme button.active{border-color:var(--accent);background:var(--accent-soft)}
.frameMenuLinksPrimary{margin-top:4px}.frameMenuLinksPrimary button{min-height:92px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:16px}.frameMenuLinksPrimary strong{font-size:17px}.frameMenuLinksPrimary small{color:var(--muted);font-size:12px;line-height:1.3}.objectWorksPreview{margin:12px 0 4px;border:1px solid var(--border);border-radius:14px;background:var(--card);padding:10px;display:grid;gap:7px}.objectWorkLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid var(--border)}.objectWorkLine:last-of-type{border-bottom:0;padding-bottom:0}.objectWorkLine span,.objectWorkLine strong,.objectWorkLine small{display:block}.objectWorkLine small,.objectWorksMore{color:var(--muted);font-size:12px;margin-top:2px}.objectWorkLine b{white-space:nowrap;font-variant-numeric:tabular-nums}.objectWorksOpen{margin-top:3px;width:100%}
.themeSwitch{display:flex;border:1px solid var(--border);background:var(--card);border-radius:999px;padding:3px;gap:2px}.themeSwitch button{width:34px;height:34px;border:0;border-radius:999px;background:transparent;opacity:.6}.themeSwitch button.active{background:var(--accent);opacity:1;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.view{display:grid;gap:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.card.flat{box-shadow:none}.cardHeader,.sectionTitle,.summaryLine,.rowHead,.orderHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cardHeader h1,.sectionTitle h2,.sectionTitle h3{margin-top:0}
h1{font-size:24px;line-height:1.15;margin:0 0 8px}h2{font-size:18px;margin:22px 0 9px}h3{font-size:16px;margin:16px 0 7px}.help{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.help.compact{margin-bottom:7px}.muted{color:var(--muted)}.tiny{font-size:11px}.strong{font-weight:850}
.btn{border:1px solid transparent;border-radius:14px;padding:13px 15px;background:var(--soft);color:var(--text);font-weight:820;cursor:pointer;transition:transform .12s ease,filter .12s ease,border-color .12s ease}.btn:active,.clickable:active,.module:active,.optionCard:active{transform:scale(.985)}.btn.primary{background:var(--accent);color:#fff}.btn.ghost{background:var(--card);border-color:var(--border)}.btn.soft{background:var(--soft);border-color:var(--border)}.btn.danger{background:var(--danger);color:#fff}.btn.small{padding:8px 10px;font-size:12px;border-radius:11px}.btn.wide{width:100%}.btn.link{padding:5px 0;background:transparent;color:var(--accent);border:0}.btn[disabled]{opacity:.45;cursor:not-allowed}
.actions{display:flex;gap:9px;flex-wrap:wrap}.actions.end{justify-content:flex-end;margin-top:16px}.pageBack{margin-bottom:0}.fileBtn{display:inline-flex;align-items:center;justify-content:center}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.stat,.moneyMetric{background:var(--soft);border:1px solid var(--border);border-radius:16px;padding:12px}.stat span,.moneyMetric span{display:block;font-size:11px;color:var(--muted)}.stat strong,.moneyMetric strong{display:block;font-size:21px;margin-top:4px;font-variant-numeric:tabular-nums}
.grid{display:grid;gap:11px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}
label{display:block;color:var(--muted);font-size:13px}input,select,textarea{width:100%;min-height:48px;margin-top:6px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:var(--input);color:var(--text);font-size:16px;outline:none}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}
.checkline{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.check{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--soft);padding:9px 11px;color:var(--text);font-size:13px}.check input{width:auto;min-height:0;margin:0;accent-color:var(--accent)}
.list{display:grid;gap:10px}.objectItem,.orderItem,.module,.optionCard{width:100%;border:1px solid var(--border);background:var(--soft);border-radius:18px;padding:14px;color:var(--text);text-align:left;cursor:pointer;transition:.14s}.objectItem{display:grid;grid-template-columns:1fr auto;gap:12px}.objectItem:hover,.orderItem:hover,.module:hover,.optionCard:hover{border-color:var(--accent)}.objectItem h3,.orderItem h3{margin:0 0 5px}.objectItem p,.orderItem p{margin:3px 0;color:var(--muted);font-size:13px}.arrow{font-size:28px;color:var(--muted);align-self:center}.pill{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;background:var(--accent-soft);color:var(--accent);margin-top:7px}.warningPill{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;background:rgba(224,174,104,.16);color:var(--warn);margin-top:7px}
.objectHero{display:grid;grid-template-columns:1fr auto;gap:14px}.moneyStack{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.moneyMetric.primary{background:#34383c;color:#fff;border-color:#34383c}.moneyMetric.primary span{color:#d5d5d5}.relatedHint{margin-top:10px;padding:10px 12px;border-radius:13px;background:var(--accent-soft);color:var(--accent);font-size:13px}
.modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.moduleTop{display:flex;align-items:center;justify-content:space-between}.moduleIcon{font-size:25px}.module h3{margin:10px 0 4px}.module p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.moduleStatus{font-size:10px;border-radius:999px;padding:5px 7px;background:var(--card);color:var(--muted)}.moduleStatus.done{background:rgba(123,195,152,.15);color:var(--good)}
.stepList{display:grid;gap:9px}.stepCard{border:1px solid var(--border);border-radius:17px;background:var(--soft);overflow:hidden}.stepButton{width:100%;border:0;background:transparent;color:var(--text);padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left}.stepNumber{width:29px;height:29px;border-radius:999px;background:var(--card);display:grid;place-items:center;color:var(--muted);font-weight:850}.stepCard.active .stepNumber,.stepCard.done .stepNumber{background:var(--accent);color:#fff}.stepTitle{font-weight:850}.stepSummary{display:block;color:var(--muted);font-size:12px;margin-top:3px}.stepChevron{color:var(--muted);font-size:21px}.stepBody{display:none;padding:0 14px 14px}.stepCard.active .stepBody{display:block}.stepNav{display:flex;justify-content:space-between;gap:9px;margin-top:14px}.stepNav .btn{min-width:112px}
.rowList{display:grid;gap:9px}.rowCard{border:1px solid var(--border);background:var(--soft);border-radius:16px;padding:12px}.rowGrid{display:grid;grid-template-columns:2fr .7fr .8fr .9fr auto;gap:8px;align-items:end}.rowGrid.compact{grid-template-columns:2fr .8fr .9fr auto}.rowSum{margin-top:8px;color:var(--muted);font-size:12px}.rowSum strong{color:var(--text)}.rowComment{margin-top:8px}.addBar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:9px}.addBar select{margin:0}.empty{padding:18px;border:1px dashed var(--border);border-radius:15px;color:var(--muted);text-align:center;font-size:13px}
.summaryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.reviewSummary{background:#34383c;color:#fff;border-radius:16px;padding:14px;display:flex;justify-content:space-between;align-items:center}.reviewSummary.secondary{background:var(--soft);color:var(--text);border:1px solid var(--border)}.reviewSummary span{font-size:12px}.reviewSummary strong{font-size:21px;font-variant-numeric:tabular-nums}
.doorList{display:grid;gap:10px}.doorCard{border:1px solid var(--border);background:var(--soft);border-radius:18px;padding:0;overflow:hidden}.doorSummary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none}.doorSummary::-webkit-details-marker{display:none}.doorSummary:after{float:none;margin-left:0;flex:0 0 auto}.doorSummaryText{min-width:0;flex:1}.doorSummaryText strong{display:block;color:var(--text);font-size:15px;line-height:1.25}.doorSummaryText small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doorSummaryTotal{font-weight:900;color:var(--text);white-space:nowrap}.doorCard[open] .doorSummary{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card) 55%,transparent)}.doorCardBody{padding:0 14px 14px}.doorCard h3{margin:0}.doorCard .grid{margin-top:11px}.inlineActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.priceWarning{margin-top:8px;padding:9px 11px;border-radius:12px;background:rgba(224,174,104,.13);color:var(--warn);font-size:12px}.contextTag{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--card);color:var(--muted);font-size:10px;margin-top:6px}
.detailsBox,details{border:1px solid var(--border);border-radius:17px;background:var(--soft);padding:12px;margin-top:12px}summary{list-style:none;cursor:pointer;font-weight:850}summary::-webkit-details-marker{display:none}summary:after{content:'›';float:right;color:var(--muted);transform:rotate(90deg)}details[open]>summary:after{transform:rotate(-90deg)}.settingsRows{display:grid;gap:8px;margin-top:12px}.settingsRow{display:grid;grid-template-columns:1fr minmax(130px,180px);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.settingsRow:last-child{border-bottom:0}.settingsRow strong{display:block;font-size:14px}.settingsRow small{color:var(--muted)}.settingsRow input{margin:0}.settingsTabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px}.settingsTabs button{white-space:nowrap}.settingsTabs .active{background:var(--accent);color:#fff;border-color:var(--accent)}
.sheet{position:fixed;inset:0;z-index:220;background:rgba(0,0,0,.7);display:none;align-items:flex-end;justify-content:center;padding-top:40px}.sheet.show{display:flex}.sheetPanel{width:min(820px,100%);max-height:92vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:25px 25px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -18px 55px rgba(0,0,0,.35)}.sheetHandle{width:44px;height:5px;background:var(--border);border-radius:99px;margin:-7px auto 15px}.choiceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.optionCard strong,.optionCard small{display:block}.optionCard small{margin-top:5px;color:var(--muted);line-height:1.35}.optionCard.selected{border-color:var(--accent);background:var(--accent-soft)}
.toast{position:fixed;z-index:500;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#34383c;color:#fff;border-radius:999px;padding:11px 16px;display:none;box-shadow:0 12px 35px rgba(0,0,0,.35);max-width:90%;text-align:center}.toast.show{display:block}
.documentView{position:fixed;inset:0;z-index:300;background:#e9e9e9;overflow:auto;padding:14px;color:#34383c}.docActions{position:sticky;top:0;z-index:3;max-width:920px;margin:0 auto 10px;display:flex;gap:8px;padding:8px;background:rgba(233,233,233,.92);backdrop-filter:blur(8px);border-radius:15px}.paper{max-width:920px;margin:auto;background:#fff;color:#34383c;padding:42px;min-height:100vh}.paperBrand{font-size:31px;font-weight:900}.paperTag{color:#b87533;font-style:italic}.paperSlogan{margin:18px 0 0;padding:14px 16px;border-left:5px solid #b87533;background:#f5f3ee}.paperSlogan strong{display:block;font-size:19px}.paperSlogan span{display:block;margin-top:4px;color:#666;font-size:13px}.paperHero{border-top:5px solid #34383c;margin-top:22px;padding-top:20px}.paperInfo{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:18px 0}.paperInfo div{padding:7px 0;border-bottom:1px solid #eee}.paperInfo span{display:block;font-size:12px;color:#777;margin-bottom:3px}.paper table{width:100%;border-collapse:collapse}.paper th,.paper td{padding:10px 7px;border-bottom:1px solid #ddd;text-align:left;font-size:14px;vertical-align:top}.paper th{background:#f5f3ee}.paper th:nth-child(n+2),.paper td:nth-child(n+2){text-align:right}.paper .group td{background:#34383c;color:#fff;font-weight:850;text-align:left}.paperTotal{background:#34383c;color:#fff;border-radius:13px;padding:19px;margin-top:22px}.paperTotal div{display:flex;justify-content:space-between;gap:20px;margin:7px 0}.paperTotal .grand{font-size:21px;font-weight:900}.paperNote{font-size:13px;line-height:1.55;color:#666;margin-top:17px}.paperAdvantages{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.paperAdvantage{border:1px solid #ddd;border-radius:12px;padding:12px;font-size:13px}.paperAlso{margin-top:18px;padding:15px;border:1px solid #ddd;border-radius:13px}.signature{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:68px}.signature div{border-top:1px solid #777;padding-top:7px;font-size:12px;color:#777}.blankLines{display:grid;gap:12px;margin-top:18px}.blankLine{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:end}.blankLine span:last-child{border-bottom:1px solid #777;min-height:23px}.contractText{font-size:14px;line-height:1.6;text-align:justify}.contractText h2{font-size:16px;margin-top:18px}.hidden{display:none!important}
.autosave{font-size:11px;color:var(--good);min-height:16px;margin-top:8px}.backupNote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:11px;font-size:13px;color:var(--muted);margin-top:12px}.dangerNote{border-left:4px solid var(--bad);background:rgba(233,154,154,.08);border-radius:12px;padding:11px;font-size:13px;color:var(--muted);margin-top:12px}.separator{height:1px;background:var(--border);margin:17px 0}
@media(max-width:720px){.shell{padding-left:11px;padding-right:11px}.topActions{gap:5px}.build{display:none}.grid.two,.grid.three,.paperInfo,.paperAdvantages{grid-template-columns:1fr}.objectHero{grid-template-columns:1fr}.moneyStack{grid-template-columns:repeat(3,1fr)}.modules{grid-template-columns:1fr}.rowGrid,.rowGrid.compact{grid-template-columns:1fr 1fr}.rowGrid label:first-child{grid-column:1/-1}.rowGrid button{align-self:end}.settingsRow{grid-template-columns:1fr}.settingsRow input{margin-top:6px}.choiceGrid{grid-template-columns:1fr}.summaryGrid{grid-template-columns:1fr}.addBar{grid-template-columns:1fr}.addBar .btn{width:100%}.paper{padding:25px 18px}.signature{gap:25px}.blankLine{grid-template-columns:110px 1fr}}
@media(max-width:480px){.moneyStack{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:1/-1}.topbar{align-items:flex-start}.iconBtn{width:38px;height:38px}.themeSwitch button{width:30px;height:30px}.brand{font-size:23px}.card{padding:15px}.objectItem{padding:12px}.stepNav .btn{min-width:0;flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
  @page{size:A4;margin:14mm}
  body>*:not(#documentView){display:none!important}.documentView{display:block!important;position:static;padding:0;background:#fff}.docActions{display:none!important}.paper{max-width:none;margin:0;padding:0;min-height:auto;box-shadow:none}.paper *{-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important}.paper .group td{background:#fff!important;color:#34383c!important;border-top:2px solid #34383c;border-bottom:1px solid #34383c}.paperTotal{background:#fff!important;color:#34383c!important;border:2px solid #34383c}.paperSlogan{background:#fff!important}.signature{break-inside:avoid}.paper table{break-inside:auto}.paper tr{break-inside:avoid}.paperHero,.paperSlogan,.paperInfo,.paperTotal,.paperAdvantages,.paperAlso{break-inside:avoid}
}
.receiptSlot{margin-top:10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.receiptPreview{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:13px;padding:8px;background:var(--card);width:100%}.receiptPreview img{width:58px;height:58px;object-fit:cover;border-radius:9px}.receiptPreview strong,.receiptPreview small{display:block}.receiptPreview small{color:var(--muted);margin:3px 0 7px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.historyItem{width:100%;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.historyItem strong{display:block}.historyItem small{display:block;color:var(--muted);margin-top:3px}.historyItem>span:last-child{white-space:nowrap;font-weight:850;color:var(--muted)}
.priceGuide{margin-top:8px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px}.guideBadge{border-radius:999px;padding:5px 8px;font-weight:800}.guide-ok{background:rgba(79,139,104,.2);color:#7bc398}.guide-low{background:rgba(74,127,158,.22);color:#86b8d4}.guide-high{background:rgba(169,121,53,.22);color:#e0ae68}.guide-danger{background:rgba(143,61,61,.25);color:#e99a9a}.guide-none{background:var(--card);color:var(--muted)}
.photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.photo{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--soft);aspect-ratio:1}.photo img{width:100%;height:100%;object-fit:cover}.photo button{position:absolute;right:6px;top:6px;border:0;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;width:30px;height:30px}.photo input{position:absolute;left:6px;right:6px;bottom:6px;width:calc(100% - 12px);min-height:38px;font-size:16px;padding:7px;background:rgba(0,0,0,.72);color:#fff;border:0}.printCopy{break-inside:avoid}
@media(max-width:700px){.photoGrid{grid-template-columns:repeat(2,1fr)}}

/* FRAME 1.8.0 mobile layout and finance additions */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{touch-action:pan-y}
.shell,.view,.card,.topbar,.topActions,.grid,.modules,.sheetPanel{max-width:100%;min-width:0}
.grid>*,.modules>*,.objectHero>*,.sectionTitle>*,.rowGrid>*,.summaryLine>*{min-width:0}
input,select,textarea{max-width:100%;min-width:0}
input[type="date"]{display:block;width:100%;max-width:100%;min-width:0;-webkit-appearance:auto;appearance:auto}
.iconBtn{width:44px;height:44px;border:0;border-radius:12px;background:transparent;padding:8px;color:var(--text)}
.iconBtn svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.iconBtn .accentStroke{stroke:var(--accent);stroke-width:2.4}
.iconBtn:active{background:var(--accent-soft)}
.topActions{flex-shrink:0}
.settingsTabs{max-width:100%;overscroll-behavior-x:contain}
.sheetPanel{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.scenarioTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:15px;background:var(--soft);position:sticky;top:0;z-index:2}
.scenarioTabs button{min-width:0;border:0;border-radius:11px;padding:11px 6px;background:transparent;color:var(--muted);font-size:13px;font-weight:850}
.scenarioTabs button.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.scenarioPanel{margin-top:15px}
.scenarioHeading{padding:0 2px 8px}
.scenarioHeading h2{margin:0 0 4px;font-size:19px}
.scenarioHeading p{margin:0;color:var(--muted);font-size:13px}
.scenarioList{display:grid;gap:8px}
.workChoice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:15px;background:var(--soft);color:var(--text);padding:13px 14px;text-align:left}
.workChoice strong,.workChoice small{display:block}
.workChoice small{margin-top:4px;color:var(--muted);font-size:12px}
.workChoice .arrow{font-size:24px}
.financeCard{width:100%;display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:8px;align-items:stretch;border:1px solid var(--border);border-radius:17px;background:var(--soft);color:var(--text);padding:9px;margin:0 0 13px;text-align:left}
.financeCard>span{padding:7px 8px;border-right:1px solid var(--border);min-width:0}
.financeCard>span:last-child{border-right:0}
.financeCard strong,.financeCard small{display:block}
.financeCard strong{font-size:14px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.financeCard small{color:var(--muted);font-size:10px;margin-bottom:3px}
.financeMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.orderFinanceStrip{width:100%;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin:13px 0;border:1px solid var(--border);border-radius:15px;background:var(--soft);color:var(--text);padding:11px 13px;text-align:left}
.orderFinanceStrip span small,.orderFinanceStrip span strong{display:block}
.orderFinanceStrip small{color:var(--muted);font-size:11px}
.orderFinanceStrip strong{margin-top:3px;font-size:16px}
.summaryList{display:grid;gap:8px;margin-top:12px}
.periodChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.customCoverList{display:grid;gap:10px;margin-top:12px}
.customCoverCard{border:1px solid var(--border);border-radius:15px;padding:12px;background:var(--card)}
.customCoverCard details{margin-bottom:10px}
@media(max-width:620px){
  .financeCard{grid-template-columns:1fr 1fr}
  .financeCard>span{border-right:0;border-bottom:1px solid var(--border)}
  .financeCard>span:nth-last-child(-n+2){border-bottom:0}
  .financeMetrics{grid-template-columns:1fr}
  .periodChoices{grid-template-columns:1fr}
}

/* FRAME 1.9.0: strict iPhone width containment and clearer order navigation */
html,body{
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
  overflow-x:hidden;
  overscroll-behavior-x:none;
}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{position:relative;touch-action:pan-y;-webkit-text-size-adjust:100%}
.shell{
  inline-size:100%;
  max-inline-size:820px;
  min-inline-size:0;
  margin-inline:auto;
}
#viewHost,.view,.card,.topbar,.topActions,.grid,.modules,.workModules,.orderTools,.settingsTabs,.settingsRows,.rowList,.rowCard,.rowGrid,.objectHero,.moneyStack,.summaryGrid,.sectionTitle,.actions,.sheet,.sheetPanel,.documentView,.docActions,.paper{
  min-inline-size:0;
  max-inline-size:100%;
}
.view>*,.card>*,.grid>*,.modules>*,.workModules>*,.orderTools>*,.settingsTabs>*,.settingsRows>*,.rowList>*,.rowGrid>*,.objectHero>*,.moneyStack>*,.summaryGrid>*,.sectionTitle>*,.actions>*{
  min-inline-size:0;
}
label,input,select,textarea,button{
  max-inline-size:100%;
}
input,select,textarea{
  display:block;
  inline-size:100%;
  min-inline-size:0;
  box-sizing:border-box;
}
input[type="date"]{
  display:block;
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
  -webkit-min-logical-width:0;
  overflow:hidden;
}
input[type="date"]::-webkit-date-and-time-value{
  min-inline-size:0;
  text-align:left;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  flex:0 0 auto;
}
.topActions{flex-shrink:1;justify-content:flex-end}
.settingsTabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  overflow:visible;
  inline-size:100%;
  padding-bottom:0;
}
.settingsTabs button{
  inline-size:100%;
  min-inline-size:0;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.15;
  padding-inline:8px;
}
.workModules{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.orderToolsSection{
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid var(--border);
}
.orderToolsSection h3{margin:0 0 5px}
.orderTools{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.orderTool{
  inline-size:100%;
  min-inline-size:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--soft);
  color:var(--text);
  padding:12px;
  text-align:left;
}
.orderTool:active{transform:scale(.985)}
.orderToolIcon{font-size:20px;line-height:1}
.orderToolText{min-inline-size:0}
.orderToolText strong,.orderToolText small{display:block;min-inline-size:0}
.orderToolText strong{font-size:14px}
.orderToolText small{margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.periodButton{max-inline-size:100%;white-space:normal;text-align:center}
.financeOrderLine{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
}
.financeOrderLine:last-child{border-bottom:0}
.financeOrderLine span{min-inline-size:0}
.financeOrderLine strong,.financeOrderLine small{display:block}
.financeOrderLine small{color:var(--muted);font-size:11px;margin-top:3px;overflow-wrap:anywhere}
.financeOrderLine>span:last-child{text-align:right;white-space:nowrap}
.documentView{inline-size:100%;overflow-x:hidden}
.paper{inline-size:100%;max-inline-size:920px;overflow-wrap:anywhere}
.paper table{table-layout:auto;max-inline-size:100%}
.paper td,.paper th{overflow-wrap:anywhere}

@media(max-width:720px){
  .shell{padding-inline:11px}
  .workModules{grid-template-columns:1fr}
  .orderTools{grid-template-columns:1fr 1fr}
  .sectionTitle.financeTitle{display:grid;grid-template-columns:1fr;gap:10px}
  .financeTitle .periodButton{inline-size:100%}
  .financeMetrics{grid-template-columns:1fr 1fr}
  .paper{padding:24px 16px}
}
@media(max-width:480px){
  .topbar{align-items:center;gap:5px}
  .brandButton{flex:1 1 auto;min-inline-size:0}
  .tag{display:none}
  .brand{font-size:21px}
  .topActions{gap:1px}
  .iconBtn{inline-size:36px;block-size:36px;padding:6px}
  .themeSwitch{padding:2px;gap:0;flex:0 0 auto}
  .themeSwitch button{inline-size:29px;block-size:29px;padding:0}
  .settingsTabs{gap:5px}
  .settingsTabs .btn{font-size:12px;padding:10px 5px;border-radius:12px}
  .orderTools{grid-template-columns:1fr}
  .financeMetrics{grid-template-columns:1fr 1fr}
  .financeOrderLine{grid-template-columns:1fr}
  .financeOrderLine>span:last-child{text-align:left;white-space:normal}
  .sheetPanel{inline-size:100%;padding-inline:14px}
  .paper{padding:20px 12px}
}

/* FRAME 2.0.0 Field overrides */
.statusPill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:var(--soft);border:1px solid var(--border);color:var(--muted)}
.statusPill.work{background:rgba(201,125,47,.15);color:var(--accent);border-color:rgba(201,125,47,.3)}
.statusPill.done{background:rgba(123,195,152,.14);color:var(--good);border-color:rgba(123,195,152,.3)}
.statusPill.paused{background:rgba(224,174,104,.14);color:var(--warn)}
.objectTitleLine{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.objectTitleLine h1,.objectTitleLine h3{margin-bottom:0}
.objectDocToggle{align-self:end;min-height:48px;border-radius:13px;padding:11px 13px;background:var(--soft)}
.metricButton{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.metricButton:active{transform:scale(.985)}
.moneyMetric.metricButton:hover{border-color:var(--accent)}
.financeCard{padding:9px}
.financeCell{min-width:0;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text);padding:7px 8px;text-align:left;cursor:pointer;border-radius:10px}
.financeCell:last-child{border-right:0}.financeCell:hover{background:var(--card)}.financeCell strong,.financeCell small{display:block}.financeCell strong{font-size:14px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.financeCell small{color:var(--muted);font-size:10px;margin-bottom:3px}
.pricingCard{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:17px;background:var(--soft)}.pricingCard h2{margin:0 0 4px}.pricingGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.pricingReadonly{min-height:74px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--card)}.pricingReadonly span{display:block;color:var(--muted);font-size:12px}.pricingReadonly strong{display:block;margin-top:8px;font-size:20px;font-variant-numeric:tabular-nums}.pricingAdjustment{margin-top:10px;font-size:13px;color:var(--muted)}.pricingAdjustment.discount{color:var(--good)}.pricingAdjustment.increase{color:var(--warn)}
.editorSaveBar{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:45;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:4px;padding:10px 11px;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 12px 34px rgba(0,0,0,.28);backdrop-filter:blur(14px)}.editorSaveBar span{min-width:0;color:var(--muted);font-size:12px}.editorSaveBar .btn{min-width:118px}.unsavedActions{display:grid;gap:9px;margin-top:12px}
.photoAddActions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.cameraSheet{display:grid;gap:12px}.cameraViewport{position:relative;overflow:hidden;border-radius:18px;background:#050505;aspect-ratio:3/4;max-height:58vh}.cameraViewport video{width:100%;height:100%;object-fit:cover;display:block}.cameraLoading{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#111}.cameraControls{display:grid;place-items:center}.cameraShutter{width:68px;height:68px;border-radius:999px;border:5px solid #fff;background:#fff;box-shadow:inset 0 0 0 5px #111;cursor:pointer}.cameraShutter[disabled]{opacity:.35}.burstStrip{display:flex;gap:7px;overflow-x:auto;min-height:0}.burstThumb{position:relative;flex:0 0 68px;height:68px;border-radius:10px;overflow:hidden;background:var(--soft)}.burstThumb img{width:100%;height:100%;object-fit:cover}.burstThumb button{position:absolute;right:3px;top:3px;width:23px;height:23px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-weight:900}
.documentReviewTotals{margin-top:13px;border:1px solid var(--border);border-radius:16px;background:var(--soft);padding:12px}.documentReviewTotals>div{display:flex;justify-content:space-between;gap:12px;margin:5px 0}.documentReviewTotals span{color:var(--muted);font-size:12px}.documentReviewTotals strong{font-variant-numeric:tabular-nums}.documentReviewTotals small{display:block;margin-top:8px;color:var(--muted)}

/* A4 preview: never reflow the document to phone width. Scale the whole sheet instead. */
.documentView{inline-size:100%;overflow:auto;padding:14px;background:#e9e9e9}
.docActions{max-width:794px}
.paperStage{position:relative;margin:0 auto;overflow:visible}
.paper{box-sizing:border-box;inline-size:794px!important;max-inline-size:none!important;width:794px!important;margin:0;min-height:1123px;padding:42px;background:#fff;color:#34383c;transform-origin:top left;overflow-wrap:normal!important;word-break:normal!important;font-variant-numeric:tabular-nums}
.paperTableWrap{overflow:visible!important;inline-size:100%}
.paper table{inline-size:100%!important;max-inline-size:none!important;table-layout:fixed!important;border-collapse:collapse}
.paper col.col-name{width:51%}.paper col.col-qty{width:8%}.paper col.col-unit{width:8%}.paper col.col-price{width:15%}.paper col.col-sum{width:18%}
.paper th,.paper td{overflow-wrap:normal!important;word-break:normal!important}
.paper th:nth-child(n+2),.paper td:nth-child(n+2){white-space:nowrap!important}
.paper th:nth-child(1),.paper td:nth-child(1){white-space:normal!important;overflow-wrap:break-word!important}
.paper .group td{white-space:normal!important}
.paper .compactNote{margin-top:-2px;margin-bottom:10px}

@media(max-width:720px){
  .pricingGrid{grid-template-columns:1fr}
  .editorSaveBar{grid-template-columns:1fr auto}
  .financeCard{grid-template-columns:1fr 1fr}
  .financeCell{border-right:0;border-bottom:1px solid var(--border)}
  .financeCell:nth-last-child(-n+2){border-bottom:0}
  .documentView{padding:12px}
  .paper{padding:42px!important}
}
@media(max-width:480px){
  .editorSaveBar{grid-template-columns:1fr}.editorSaveBar .btn{width:100%}
  .photoAddActions{display:grid;grid-template-columns:1fr}.photoAddActions .btn{width:100%}
  .paper{padding:42px!important}
}
@media print{
  .paperStage{width:auto!important;height:auto!important;margin:0!important}
  .paper{transform:none!important;width:auto!important;inline-size:auto!important;min-height:auto!important;padding:0!important}
  .documentView{overflow:visible!important}
}
.documentView.preparing .paperStage{visibility:hidden}
.documentView.preparing::after{content:'Готовим предпросмотр…';position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:11px 14px;border-radius:12px;background:#34383c;color:#fff;font-size:13px;z-index:2}

/* FRAME 2.0.1 Field Fix */
.statButton{appearance:none;border:1px solid var(--border);background:var(--soft);color:inherit;text-align:left;cursor:pointer}.statButton:active{transform:scale(.985)}.statButton:hover{border-color:var(--accent)}
.wideStat{grid-column:1/-1}.dashboardActions{display:grid;grid-template-columns:1.2fr 1fr 1fr}.dashboardActions .btn{width:100%}
.sheetCloseIcon{width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--soft);color:var(--text);font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer}
.docFilterTabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.docFilterTabs .active{border-color:var(--accent);color:var(--accent)}
.docHistoryCard{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:stretch;padding:0!important;overflow:hidden}.historyMain{border:0;background:transparent;color:inherit;text-align:left;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.historyMain span:first-child{min-width:0}.historyMain strong,.historyMain small{display:block}.historyMain small{color:var(--muted);margin-top:4px}.docDelete{border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.docDelete:active{background:rgba(210,83,74,.12);color:var(--bad)}
.clickableSummary{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.cameraLoading[hidden]{display:none!important}.cameraViewport video.ready{background:#000}
@media(max-width:720px){.dashboardActions{grid-template-columns:1fr 1fr}.dashboardActions #newObjectBtn{grid-column:1/-1}}

/* FRAME 2.0.2 Clean UX */
[hidden]{display:none!important}
.monthGoalCard{width:100%;border:1px solid var(--border);border-radius:18px;background:var(--soft);color:var(--text);padding:14px;margin:0 0 13px;text-align:left;cursor:pointer}
.monthGoalTop,.monthGoalMeta{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.monthGoalTop small,.monthGoalMeta{color:var(--muted);font-size:11px}.monthGoalTop strong{display:block;margin-top:3px;font-size:22px}.monthGoalRemain{color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap}.goalTrack{height:8px;border-radius:999px;background:var(--card);overflow:hidden;margin:12px 0}.goalTrack i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.simpleTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}.simpleTabs button{border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--muted);padding:10px 7px;font-weight:800}.simpleTabs button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.financeSimpleGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.financeSimpleGrid .moneyMetric strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goalCard{margin:12px 0 20px;border:1px solid var(--border);border-radius:16px;padding:13px;background:var(--soft)}.goalCard>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.goalCard small{color:var(--muted)}.textButton{border:0;background:transparent;color:var(--accent);font-weight:800;padding:5px}
.financeJobCard{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;border:1px solid var(--border);border-radius:16px;background:var(--soft);color:var(--text);padding:13px;text-align:left}.financeJobCard>span:first-child{min-width:0}.financeJobCard strong,.financeJobCard small{display:block}.financeJobCard>span:first-child small{color:var(--muted);margin-top:4px}.financeJobNumbers{text-align:right}.financeJobNumbers small{font-size:11px;color:var(--muted);white-space:nowrap}.financeJobNumbers strong{margin-top:4px;font-size:13px;white-space:nowrap}.financeJobCard b{color:var(--muted);font-size:22px}
.summaryLine{min-width:0}.summaryLine>span{min-width:0}.summaryLine>strong{max-width:48%;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clickableSummary{border-radius:12px;padding:10px}.clickableSummary:active,.financeJobCard:active{transform:scale(.985)}
.compactDateLine{width:100%;margin-top:10px;border:1px solid var(--border);border-radius:13px;background:var(--soft);color:var(--muted);padding:10px 12px;text-align:left;display:flex;justify-content:space-between;gap:10px}.compactDateLine span{color:var(--muted)}
.pageBack{position:sticky;top:56px;z-index:48;width:max-content;background:color-mix(in srgb,var(--bg) 88%,transparent);border-radius:14px;backdrop-filter:blur(10px)}
.cameraViewport video{opacity:0;transition:opacity .12s ease}.cameraViewport video.ready{opacity:1}
#appSplash{position:fixed;inset:0;z-index:9999;background:#0f1113;color:#fff;display:grid;place-items:center;transition:opacity .22s ease}.splashInner{text-align:center}.splashLogo{font-size:38px;font-weight:950;letter-spacing:.08em}.splashLine{width:54px;height:3px;background:#c97d2f;border-radius:99px;margin:13px auto 0;animation:splashPulse .8s ease-in-out infinite alternate}@keyframes splashPulse{from{opacity:.3;transform:scaleX(.55)}to{opacity:1;transform:scaleX(1)}}#appSplash.hide{opacity:0;pointer-events:none}
@media(max-width:480px){.pageBack .btn:first-child{font-size:0;width:46px;height:46px;padding:0;border-radius:14px}.pageBack .btn:first-child::before{content:'←';font-size:24px}.financeJobCard{grid-template-columns:1fr 18px}.financeJobNumbers{grid-column:1/-1;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.financeJobNumbers strong{grid-column:1/-1}.monthGoalTop{align-items:flex-start}.monthGoalRemain{white-space:normal;text-align:right}.monthGoalMeta{align-items:flex-start;flex-direction:column;gap:3px}}

/* FRAME 2.0.2 final mobile polish */
@media(max-width:560px){
  .summaryLine{display:grid!important;grid-template-columns:minmax(0,1fr);gap:5px}
  .summaryLine>strong{max-width:none!important;text-align:left!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  .historyMain{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
  .historyMain>span:last-child{text-align:left;white-space:nowrap}
}
.orderListItem p{overflow-wrap:anywhere}
.financeJobCard,.orderListItem,.objectItem{overflow:hidden}

/* FRAME 2.1.0 Progress Closures */
.workChecklistView{padding-bottom:98px}
.workProgressHero{overflow:hidden}.workMoneyHero{margin-top:12px;border:1px solid var(--border);border-radius:18px;background:var(--soft);padding:15px}.workMoneyHero>span,.workMoneyHero>small{display:block;color:var(--muted)}.workMoneyHero>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.workMoneyHero>strong{display:block;margin:4px 0 5px;font-size:30px;line-height:1.05;font-variant-numeric:tabular-nums}.workMoneyHero>small{font-size:11px;line-height:1.4}.compactHero{margin:12px 0}
.workProgressStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.workProgressStats>div{min-width:0;border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--card)}.workProgressStats span,.workProgressStats strong{display:block}.workProgressStats span{color:var(--muted);font-size:10px}.workProgressStats strong{margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.workChecklistCard{padding-top:10px}.workGroup+.workGroup{margin-top:20px}.workGroup>h3{margin:0 0 8px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.055em}.workProgressList{display:grid;gap:7px}.workProgressCard{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:16px;background:var(--soft);color:var(--text);padding:11px;text-align:left;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none}.workProgressCard:active{transform:scale(.992)}.workProgressCard.done{border-color:color-mix(in srgb,#42a873 45%,var(--border));background:color-mix(in srgb,#42a873 10%,var(--soft))}.workProgressCard.partial{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--soft))}.workCheck{width:38px;height:38px;border:2px solid var(--border);border-radius:12px;display:grid;place-items:center;font-weight:950;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.workProgressCard.done .workCheck{background:#42a873;border-color:#42a873;color:#fff;font-size:21px}.workProgressCard.partial .workCheck{border-color:var(--accent);color:var(--accent);font-size:12px}.workProgressMain{min-width:0}.workProgressMain strong,.workProgressMain small{display:block}.workProgressMain strong{font-size:14px;line-height:1.25}.workProgressMain small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.25}.workProgressTrack{display:block;height:4px;border-radius:999px;overflow:hidden;background:var(--card);margin-top:7px}.workProgressTrack b{display:block;height:100%;border-radius:inherit;background:var(--accent)}.workProgressCard.done .workProgressTrack b{background:#42a873}.workProgressSide{font-size:11px;font-weight:850;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.workProgressCard.partial .workProgressSide{color:var(--accent)}.workProgressCard.done .workProgressSide{color:#42a873}
.workCloseDock{position:fixed;left:max(12px,calc((100vw - 900px)/2 + 12px));right:max(12px,calc((100vw - 900px)/2 + 12px));bottom:calc(10px + env(safe-area-inset-bottom));z-index:82;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:18px;padding:10px 10px 10px 14px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 12px 38px rgba(0,0,0,.24);backdrop-filter:blur(16px)}.workCloseDock span small,.workCloseDock span strong{display:block}.workCloseDock small{color:var(--muted);font-size:10px}.workCloseDock strong{margin-top:2px;font-size:18px;font-variant-numeric:tabular-nums}.workCloseDock .btn{min-width:148px}
.workProgressMenu{display:grid;gap:8px}.workProgressMenu .optionCard{width:100%;text-align:left}.workProgressMenu .optionCard strong,.workProgressMenu .optionCard small{display:block}.workProgressMenu .optionCard small{margin-top:3px;color:var(--muted)}
.progressPickerValue{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:8px 0 14px}.progressPickerValue strong{font-size:36px;line-height:1}.progressPickerValue span{font-size:18px;font-weight:850;font-variant-numeric:tabular-nums}.progressPicker input[type="range"]{width:100%;accent-color:var(--accent)}.progressStepButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.progressPickerSummary{margin:14px 0;border:1px solid var(--border);border-radius:15px;background:var(--soft);padding:11px}.progressPickerSummary>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.progressPickerSummary span{color:var(--muted);font-size:11px}.progressPickerSummary strong{font-size:13px;font-variant-numeric:tabular-nums}.progressPickerSummary .accent strong{color:var(--accent)}
.closurePreviewList,.workClosureList{display:grid;gap:8px}.closurePreviewRow{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:9px 2px}.closurePreviewRow span{min-width:0}.closurePreviewRow span strong,.closurePreviewRow span small{display:block}.closurePreviewRow span strong{font-size:13px}.closurePreviewRow span small{margin-top:3px;color:var(--muted);font-size:10px}.closurePreviewRow>strong{white-space:nowrap;font-size:13px}.workClosureCard{border:1px solid var(--border);border-radius:16px;background:var(--soft);padding:12px}.workClosureHead{display:flex;justify-content:space-between;gap:12px}.workClosureHead span{min-width:0}.workClosureHead span strong,.workClosureHead span small{display:block}.workClosureHead span small{margin-top:3px;color:var(--muted);font-size:10px}.workClosureHead>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.workClosureActions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px}.closurePaidMark{color:#42a873;font-size:12px;font-weight:850}
@media(max-width:560px){.workProgressHero .sectionTitle{align-items:flex-start}.workProgressHero .sectionTitle .btn{font-size:11px;padding:8px}.workProgressStats{grid-template-columns:1fr 1fr}.workProgressStats>div:last-child{grid-column:1/-1}.workProgressCard{grid-template-columns:38px minmax(0,1fr)}.workCheck{width:36px;height:36px}.workProgressSide{grid-column:2;text-align:left}.workCloseDock{left:10px;right:10px}.workCloseDock .btn{min-width:132px}.workMoneyHero>strong{font-size:28px}}

.lockedWorkRow{border-style:dashed}.lockedWorkRow input:disabled,.lockedWorkRow select:disabled{opacity:.72;cursor:not-allowed}.lockedWorkNote{margin:8px 0 2px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.045);font-size:12px;color:var(--muted)}


/* FRAME 2.2.0 Modules & Order Ledger */
.objectOrderStats{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:8px;align-self:start}.objectOrderStats .stat{min-width:0}.objectOrderStats strong{font-variant-numeric:tabular-nums}
.reimburseBanner{width:100%;margin-top:13px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--warn) 9%,var(--soft));color:var(--text);padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.reimburseBanner span{min-width:0}.reimburseBanner small,.reimburseBanner strong{display:block}.reimburseBanner small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.045em}.reimburseBanner strong{margin-top:3px;font-size:19px;font-variant-numeric:tabular-nums}.reimburseBanner b{color:var(--accent);font-size:12px;white-space:nowrap}.reimburseBanner:active{transform:scale(.992)}
.warningPillButton{border:0;cursor:pointer}.warningPillButton:active{transform:scale(.985)}
.workModuleHub{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--border);border-radius:18px;background:var(--soft);color:var(--text);padding:14px;text-align:left;cursor:pointer}.workModuleHub:active{transform:scale(.992)}.workModuleHubIcon{width:40px;height:40px;border-radius:12px;background:var(--card);display:grid;place-items:center;font-size:23px}.workModuleHub strong,.workModuleHub small{display:block}.workModuleHub strong{font-size:16px}.workModuleHub small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workModuleHubMoney{font-size:11px;font-weight:850;color:var(--accent);white-space:nowrap}.legacyCalcLinks{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.workModulePicker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workModuleChoice{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:8px;align-items:center;padding:12px}.workModuleChoice span{grid-row:1/3;width:30px;height:30px;border-radius:10px;background:var(--card);display:grid;place-items:center}.workModuleChoice b,.workModuleChoice small{display:block;min-width:0}.workModuleChoice b{font-size:13px}.workModuleChoice small{margin-top:2px;color:var(--muted);font-size:10px}.workModuleChoice.hasRows{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}
.workGroupHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.workGroupHead>span{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:7px;align-items:center;min-width:0}.workGroupHead b{grid-row:1/3;width:24px;height:24px;border-radius:8px;background:var(--soft);display:grid;place-items:center;color:var(--muted)}.workGroupHead strong,.workGroupHead small{display:block}.workGroupHead strong{font-size:12px;text-transform:uppercase;letter-spacing:.045em}.workGroupHead small{color:var(--muted);font-size:9px;margin-top:2px}.workGroupHead em{font-style:normal;font-size:10px;font-weight:850;color:var(--accent);white-space:nowrap}.compactInline{margin-top:0;justify-content:flex-end}.rowModuleField{margin-bottom:9px}.rowModuleField select{margin-top:5px}
.paper .paperProgressNote{color:#777;font-size:10px;line-height:1.25}.paper th:nth-child(4),.paper td:nth-child(4),.paper th:nth-child(5),.paper td:nth-child(5){font-size:12px;letter-spacing:-.08px}.paper th:nth-child(2),.paper td:nth-child(2),.paper th:nth-child(3),.paper td:nth-child(3){font-size:12.5px}.paper td:nth-child(4),.paper td:nth-child(5){font-variant-numeric:tabular-nums}
@media(max-width:560px){.objectOrderStats{grid-template-columns:repeat(3,1fr);grid-column:1/-1}.reimburseBanner{align-items:flex-end}.reimburseBanner b{white-space:normal;text-align:right}.workModuleHub{grid-template-columns:38px minmax(0,1fr)}.workModuleHubMoney{grid-column:2;white-space:normal}.workModulePicker{grid-template-columns:1fr}.compactInline{display:grid;grid-template-columns:1fr 1fr;width:100%}.compactInline .btn{width:100%}}


/* FRAME 2.4.0 · AI Inbox Beta */
.frameAiLaunch{width:100%;margin:14px 0 4px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--card)),var(--soft));color:var(--text);text-align:left;cursor:pointer}.frameAiLaunch:active{transform:scale(.992)}.frameAiOrb{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:24px;box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 35%,transparent)}.frameAiLaunch strong,.frameAiLaunch small{display:block}.frameAiLaunch strong{font-size:16px}.frameAiLaunch strong em{font-style:normal;font-size:9px;letter-spacing:.08em;color:var(--accent);margin-left:5px}.frameAiLaunch small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.frameAiLaunch>b{font-size:22px;color:var(--accent)}
.aiMiniBtn{background:color-mix(in srgb,var(--accent) 14%,var(--soft));border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);font-weight:900}.aiHero{position:relative;overflow:hidden}.aiHero:before{content:'';position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}.aiBadge{display:inline-flex;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--soft));color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.09em}.aiComposer{margin-top:12px}.aiComposer textarea{width:100%;min-height:104px;resize:vertical;font-size:16px;line-height:1.45}.aiComposerActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.aiChips{display:flex;gap:7px;overflow:auto;padding:10px 0 2px;scrollbar-width:none}.aiChips::-webkit-scrollbar{display:none}.aiChips button{white-space:nowrap;border:1px solid var(--border);background:var(--soft);color:var(--text);border-radius:999px;padding:8px 10px;font-size:11px;font-weight:750}.aiPrivacy{margin:12px 0 0;padding:10px 12px;border-radius:13px;background:var(--soft);color:var(--muted);font-size:10px;line-height:1.45}.aiEmpty,.aiError,.aiPreview{border:1px dashed var(--border);border-radius:16px;padding:14px}.aiEmpty strong,.aiEmpty span,.aiError strong,.aiError span{display:block}.aiEmpty span,.aiError span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.aiError{border-color:color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 8%,var(--card))}.aiPreview{border-style:solid;border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--card))}.aiPreviewHead{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.aiPreviewHead span{color:var(--accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.aiPreviewHead b{font-size:10px;color:var(--muted)}.aiPreview>strong,.aiPreview>small{display:block}.aiPreview>strong{font-size:16px;line-height:1.35}.aiPreview>small{margin-top:6px;color:var(--muted);line-height:1.4}.aiPreviewActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.aiHistory{display:grid;gap:7px;margin-top:12px}.aiHistoryItem{border:1px solid var(--border);border-radius:14px;background:var(--soft);padding:10px 12px}.aiHistoryItem strong,.aiHistoryItem small{display:block}.aiHistoryItem strong{font-size:12px}.aiHistoryItem small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.aiHistoryItem.undone{opacity:.52}.aiHistoryItem.undone strong{text-decoration:line-through}
@media(max-width:560px){.frameAiLaunch{grid-template-columns:42px minmax(0,1fr) auto}.frameAiOrb{width:40px;height:40px}.aiComposerActions,.aiPreviewActions{grid-template-columns:1fr}.aiHero .sectionTitle{align-items:flex-start}}
/* FRAME 2.5.0 · AI Brain */
.aiBrainState{width:100%;margin:12px 0 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:15px;background:var(--soft);color:var(--text);padding:11px 12px;text-align:left}.aiBrainState span:nth-child(2) strong,.aiBrainState span:nth-child(2) small{display:block}.aiBrainState span:nth-child(2) strong{font-size:12px}.aiBrainState span:nth-child(2) small{font-size:10px;color:var(--muted);margin-top:2px}.aiBrainState>b{color:var(--accent);font-size:20px}.aiStateDot{width:10px;height:10px;border-radius:50%;display:block;background:var(--muted)}.aiStateDot.ok{background:#4fb879;box-shadow:0 0 0 4px color-mix(in srgb,#4fb879 14%,transparent)}.aiStateDot.bad{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 14%,transparent)}.aiStateDot.wait{background:#d3a14a}.aiStateDot.local{background:var(--accent)}
.aiActionPlan{display:grid;gap:7px;margin:12px 0}.aiPlanRow{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.aiPlanRow>b{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent);font-size:10px}.aiPlanRow>span{font-size:12px;line-height:1.4}.aiPlanRow.dangerPlan{border-color:color-mix(in srgb,var(--danger) 48%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--card))}.aiPlanRow.dangerPlan>b{background:color-mix(in srgb,var(--danger) 15%,var(--card));color:var(--danger)}.aiMeta{display:block!important;margin-top:8px!important;color:var(--muted)!important;font-size:9px!important}.aiError .aiMeta{margin-top:8px!important}.aiConnectForm{display:grid;gap:12px}.aiConnectState{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--border);background:var(--soft);border-radius:14px;padding:11px 12px}.aiConnectState span:nth-child(2) strong,.aiConnectState span:nth-child(2) small{display:block}.aiConnectState span:nth-child(2) small{margin-top:2px;color:var(--muted);font-size:10px}

/* FRAME 2.6.0 Solo Field Test */
.soloHome{display:grid;gap:14px}.soloPrimary{margin:0;min-height:92px}.soloActions{grid-template-columns:1.2fr 1fr 1fr}.attentionBlock{border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:18px;padding:13px;background:color-mix(in srgb,var(--accent) 6%,var(--card))}.attentionBlock h2{margin:0;font-size:16px}.attentionList{display:grid;gap:7px;margin-top:10px}.attentionItem{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:11px 12px;background:var(--soft);color:var(--text);text-align:left}.attentionItem strong,.attentionItem small{display:block}.attentionItem small{margin-top:3px;color:var(--muted);font-size:11px}.attentionItem b{font-size:22px;color:var(--muted)}.aiInlineState,.settingsAiState{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--soft)}.aiInlineState strong,.aiInlineState small,.settingsAiState strong,.settingsAiState small{display:block}.aiInlineState small,.settingsAiState small{color:var(--muted);margin-top:2px}.readAnswerCard{border:1px solid var(--border);border-radius:17px;padding:14px;background:var(--soft);line-height:1.5}.readAnswerCard strong{display:block;margin-bottom:6px}.settingsTechDetails{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.settingsTechDetails summary{cursor:pointer;color:var(--muted);font-weight:800}.settingsTechDetails[open] summary{margin-bottom:10px}
@media(max-width:560px){.soloActions{grid-template-columns:1fr 1fr}.soloActions #newObjectBtn{grid-column:1/-1}.aiInlineState,.settingsAiState{align-items:flex-start}.attentionItem{padding:12px}}


/* FRAME 2.6.2 · Field hotfix */
.statusPillButton{appearance:none;font:inherit;cursor:pointer}.statusPillButton:active{transform:scale(.97)}
button.reviewSummary.summaryAction{width:100%;font:inherit;text-align:left;cursor:pointer}.summaryAction:active{transform:scale(.985)}
@media(max-width:560px){
  .simpleTabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .simpleTabs button{min-width:0;padding:10px 4px;font-size:12px;line-height:1.12;letter-spacing:-.015em;white-space:normal;overflow-wrap:anywhere}
}
