*{box-sizing:border-box}body{margin:0;background:#f0f7fc;color:#123e64;font:14px 'Segoe UI',Arial}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#103b65;color:white;padding:30px 22px;display:flex;flex-direction:column;overflow:auto}.mark{font-size:46px;color:#75d5f5;font-weight:900}aside strong{font-size:22px;letter-spacing:2px}aside small{letter-spacing:4px;font-size:10px;color:#a8d5ef;margin-bottom:32px}button{padding:11px 15px;border:1px solid #cad6cc;border-radius:7px;background:white;color:#123e64;font-weight:600;cursor:pointer}button:hover{filter:brightness(.94)}aside>button{background:#75d5f5;border:0}nav button{display:block;background:transparent;color:white;border-color:#37678e;width:100%;margin-top:10px;text-align:left;overflow:hidden;text-overflow:ellipsis}footer{margin-top:auto;padding-top:35px;font-size:12px;color:#bbd8ee;line-height:1.7}footer input{font-size:10px}main{margin-left:230px;max-width:1280px;padding:40px 45px}.eyebrow{font-size:11px;letter-spacing:2px;color:#4384ac;font-weight:700}h1{font-size:34px;letter-spacing:-1px;margin:12px 0}header p{color:#6a8398}.actions{display:flex;gap:10px;align-items:center;margin:28px 0 12px;flex-wrap:wrap}#status{flex:1;font-size:12px;color:#648199}.primary{background:#5086a5;color:white;border-color:#5086a5}.notice{background:#e0f1fc;border-radius:7px;padding:13px;font-size:12px;line-height:1.7;margin-bottom:22px}section{padding:25px;background:white;border:1px solid #d9e7f1;border-radius:12px;margin-bottom:20px}h2{font-size:19px;display:flex;gap:14px;align-items:center;margin:0 0 22px}i{font-size:12px;font-style:normal;background:#e0f3ff;color:#247db4;padding:9px;border-radius:6px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}label{display:block;font-size:12px;color:#456b89;font-weight:600}input,textarea,select{width:100%;padding:11px;border:1px solid #ccdfed;border-radius:6px;margin-top:7px;font:14px 'Segoe UI',Arial;background:#fbfdff;color:#254b69}textarea{min-height:85px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #69c7ef}.upload{display:inline-block;border:1px dashed #78b8df;padding:13px 18px;border-radius:7px;margin-top:18px;cursor:pointer}.upload input{display:none}.hint{color:#6d879b;font-size:12px;line-height:1.7}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo{padding:10px;border:1px solid #d5e7f2;border-radius:7px}.photo img{height:150px;width:100%;object-fit:contain}.photo button{font-size:11px;margin-top:6px}.scroll{overflow:auto;margin:18px 0}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:11px;color:#69849b;padding:9px}td{padding:5px;border-bottom:1px solid #e0ebf3}td:first-child{min-width:190px}td input{min-width:65px}td:nth-child(2),td:nth-child(4){width:100px}.totals{display:flex;justify-content:space-between;align-items:center;margin:22px 0;gap:15px}#total{text-align:right;line-height:1.9}#total b{font-size:23px}#logoPreview img{max-width:150px;max-height:80px;margin-top:15px}#print{display:none}@media(max-width:850px){aside{position:static;width:auto;padding:16px;display:block}aside .mark,aside small,aside footer{display:none}aside strong{font-size:18px}aside>button{float:right}nav{display:flex;gap:8px;overflow:auto}nav button{min-width:130px}main{margin:0;padding:25px 16px}h1{font-size:28px}.grid{grid-template-columns:1fr}section{padding:18px}.photos{grid-template-columns:1fr 1fr}.actions button{flex:1}#status{flex-basis:100%}.totals{flex-wrap:wrap}}@media print{@page{size:A4;margin:16mm}body{background:white;font-size:11px;color:#173d60}aside,main{display:none!important}#print{display:block}#print h1{font-size:23px}#print h2{font-size:15px;border-bottom:1px solid #b7d4e9;padding-bottom:8px;margin-top:22px}#print p{white-space:pre-wrap;line-height:1.7}.dochead{display:flex;justify-content:space-between;border-bottom:3px solid #5086a5;padding-bottom:15px}.dochead img{max-width:110px;max-height:70px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}#print table{table-layout:fixed}#print th:first-child{width:40%}#print td,#print th{padding:9px;word-wrap:break-word;min-width:0}#print tr{break-inside:avoid}.evidence{break-inside:avoid;margin-top:20px}.evidence img{display:block;max-width:100%;max-height:105mm;margin:auto}.sum{text-align:right;font-size:14px;line-height:1.9;margin:18px 0}.signature{margin-top:35px;padding-top:12px;border-top:1px solid #bfd7e9}.muted{font-size:10px;color:#68849b}}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.summary>div{background:#e8f5ff;padding:17px;border-radius:8px}.summary small,.summary b{display:block}.summary b{font-size:22px;margin-top:8px}.agendaRow{display:flex;width:100%;justify-content:space-between;gap:12px;margin:10px 0;text-align:left;flex-wrap:wrap}.movement{display:grid;grid-template-columns:130px 100px 1fr 100px 35px;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #dceaf4}#jobBalance{margin-top:20px}@media(max-width:850px){.summary{grid-template-columns:1fr 1fr}.movement{grid-template-columns:1fr 1fr}.movement label:nth-child(3){grid-column:1/-1}}
aside strong{font-size:17px;letter-spacing:1px}aside small{font-size:13px;letter-spacing:4px;margin-top:5px}
#print .dochead{background:#dcecf5;color:white;padding:20px}#print h2{background:#dcecf5;color:white;padding:9px}#print .meta{border:1px solid #91b8d1;padding:12px;background:#edf6fc}#print td,#print th{border:1px solid #91b8d1}#print th{background:#dcecf5;color:white}#print .evidence{border:1px solid #91b8d1;padding:12px}
.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo textarea{min-height:75px}.photo label{margin-top:9px}@media(max-width:600px){.photos{grid-template-columns:1fr}}
#print .dochead,#print h2,#print th{color:#23475f}
#pdfPreview{width:min(960px,96vw);max-height:94vh;border:1px solid #c5dce9;border-radius:12px;padding:20px;background:#f3f8fc;color:#23475f}#pdfPreview::backdrop{background:rgba(20,40,55,.6)}.previewHead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.previewHead h2{margin-bottom:6px}.previewHead p,#shareStatus{font-size:12px;line-height:1.6;color:#58758a}#pdfPreviewPages{max-height:62vh;overflow:auto;background:#dce6ed;padding:15px;text-align:center}#pdfPreviewPages img{display:block;width:100%;height:auto;max-width:750px;margin:0 auto 18px;box-shadow:0 2px 8px #b3c6d5}.previewActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:16px}@media(max-width:600px){#pdfPreview{padding:12px}.previewActions button{width:100%}#pdfPreviewPages{padding:6px;max-height:53vh}}
.mobileActions{display:flex;gap:12px;justify-content:flex-end;padding:16px;background:#e5f2fa;border:1px solid #bdd7e8;border-radius:9px;margin:16px 0}button{min-height:44px}#pdfPreview[open]{display:flex;flex-direction:column;height:92dvh;max-height:92dvh;overflow:hidden}#pdfPreviewPages{flex:1;min-height:0;max-height:none;overflow:auto}.previewHead,.previewActions,#shareStatus{flex-shrink:0}.previewActions{background:#f3f8fc;border-top:1px solid #c5dce9;padding-bottom:4px}.previewActions button{min-height:46px}@media(max-width:850px){main{padding-bottom:115px}.mobileActions{position:fixed;bottom:0;left:0;right:0;z-index:40;margin:0;padding:10px 8px calc(10px + env(safe-area-inset-bottom));border-radius:0;background:#edf7fe;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;box-shadow:0 -3px 15px #23475f22}.mobileActions button{padding:10px 5px;font-size:12px;min-height:52px}#pdfPreview{width:98vw;padding:12px}#pdfPreviewPages{max-height:none}.previewActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.previewActions button{width:auto;font-size:12px;padding:10px}.previewActions button:first-child{grid-column:1/-1;min-height:38px}.previewHead h2{font-size:17px}.previewHead p{overflow-wrap:anywhere}}@media print{.mobileActions,#pdfPreview{display:none!important}}
[hidden]{display:none!important}.moduleNav{display:flex;flex-direction:column;gap:8px;margin:20px 0}.moduleNav button{margin:0}.moduleNav button.selected{background:#dcecf5;color:#23475f;border-color:#aad2e6}#records button{display:block;width:100%;padding:10px;margin-bottom:8px;text-align:left;background:transparent;color:#d8eaf6;border-color:#37678e}#records{margin-bottom:20px}.formEndActions{display:flex;gap:12px;justify-content:flex-end;background:#e5f2fa;border:1px solid #bdd7e8;padding:18px;border-radius:9px;margin:20px 0}.formEndActions button{min-width:140px;min-height:50px}.saveState{display:flex;justify-content:space-between;gap:10px;margin:20px 0}.localBadge{font-size:12px;color:#7b5b22;background:#fff2d8;padding:7px;border-radius:5px}@media(max-width:850px){main{padding-bottom:30px}.moduleNav{display:grid;grid-template-columns:1fr 1fr;overflow:visible;margin:14px 0 0}.moduleNav button{min-width:0;font-size:12px}#records{display:flex;overflow:auto;gap:7px}#records button{min-width:150px;margin-top:8px}.formEndActions{position:static;display:grid;grid-template-columns:1fr 1fr}.formEndActions button{min-width:0}.saveState{flex-wrap:wrap}}
.linkControls{display:flex;align-items:end;gap:12px}.linkControls label{flex:1}@media(max-width:600px){.linkControls{flex-direction:column;align-items:stretch}}
.modelActions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}#modelsSection>button{margin-top:12px}#modelStatus{font-size:12px;line-height:1.6}.danger{color:#9b3b3b;background:#fff6f5;border-color:#e4c1be}.trashRow{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #d4e5ef}#trashDialog{width:min(650px,94vw);max-height:85vh;overflow:auto;border:1px solid #bdd7e8;border-radius:10px;color:#23475f}#trashDialog::backdrop{background:#17374877}@media(max-width:600px){.formEndActions{grid-template-columns:1fr}.modelActions button{flex:1}}
.welcomeChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.welcomeChoices button{text-align:left;padding:24px 18px;line-height:1.8;background:#eef7fd;border-color:#bbd7e9}.welcomeChoices b{font-size:17px}#docsSection>.danger{margin:12px 0}@media(max-width:700px){.welcomeChoices{grid-template-columns:1fr}}
.brandLogo{width:95px;height:95px;object-fit:contain;margin:0 auto 12px}.welcomeBrand{display:flex;align-items:center;gap:20px;margin-bottom:22px}.welcomeBrand img{width:95px;height:95px;object-fit:contain}.welcomeBrand b{font-size:25px}.welcomeBrand p{color:#648199;margin:5px 0}@media(max-width:850px){.brandLogo{display:inline-block;width:55px;height:55px;vertical-align:middle;margin:0 12px 0 0}}
.legacyStart{display:none!important}.settingsAccess{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:20px}.settingsAccess span{font-size:12px;color:#54758a}.settingsAccess button{padding:8px 13px}#startSection{padding:16px 22px}#startSection label{font-size:13px}#saveModelDialog,#settingsDialog{width:min(620px,94vw);max-height:90vh;overflow:auto;border:1px solid #bdd7e8;border-radius:12px;padding:24px;color:#23475f}#saveModelDialog::backdrop,#settingsDialog::backdrop{background:#17374877}.formEndActions{flex-wrap:wrap}@media(max-width:600px){.settingsAccess{justify-content:space-between}}
.appInstallBar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.appInstallBar span{font-size:12px;color:#54758a}.appInstallBar button{background:#dcecf5}.offline{color:#8a5f20!important}
#photosInput[hidden]{display:none}.photos:has(.comparison){display:block}.comparison{margin:16px 0;padding:20px;border:1px solid #c8dfee;border-radius:12px}.comparisonImages{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.comparisonImages img{width:100%;height:240px;object-fit:contain;background:#f3f8fc}.emptyPhoto{height:180px;display:grid;place-items:center;background:#f3f8fc;border:1px dashed #b6d4e7;border-radius:8px;color:#63829b}.comparison textarea{min-height:80px}@media(max-width:520px){.comparison{padding:12px}.comparisonImages{gap:8px}.comparisonImages img{height:160px}.emptyPhoto{height:130px}}

.materialsField{font-size:13px;margin-top:8px;display:block}.materialsField select{margin-top:4px;min-width:100px}.savedModelRow{padding:16px 0;border-bottom:1px solid #d5e5ef;display:flex;justify-content:space-between;gap:16px;align-items:center}.savedModelRow .modelActions{flex-wrap:wrap}#modelLibraryDialog{width:min(820px,92vw)}@media(max-width:600px){.savedModelRow{display:block}}