@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";*{box-sizing:border-box}:root{--ink:#111820;--charcoal:#202127;--charcoal-2:#17181e;--charcoal-3:#2a2c34;--gold:#f5b321;--gold-deep:#c98205;--gold-soft:#fff3cf;--teal:#1f7a8c;--teal-soft:#e8f5f7;--line:#dce4eb;--panel:#ffffff;--panel-soft:#f8fafc;--muted:#667587;--shadow:0 16px 42px rgba(17,24,32,.11);--shadow-soft:0 8px 24px rgba(17,24,32,.08);--glow:0 0 0 3px rgba(245,179,33,.24),0 0 28px rgba(245,179,33,.18);--app-font:Inter,Segoe UI,Arial,sans-serif}html{font-family:var(--app-font);font-size:14px;background:#111318}body{margin:0;font-family:var(--app-font);background:radial-gradient(circle at 18% -12%,rgba(245,179,33,.14),transparent 32%),radial-gradient(circle at 85% 2%,rgba(31,122,140,.18),transparent 34%),linear-gradient(180deg,#eef2f6,#f8fafc 38%,#e9edf2);color:#16202a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea,table{font-family:var(--app-font);font-size:13px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr);font-size:14px;zoom:var(--screen-zoom,1)}.sidebar{background:radial-gradient(circle at 25% 0%,rgba(245,179,33,.16),transparent 30%),linear-gradient(180deg,#202127,#17181e 55%,#101116);color:#f7fafc;padding:6px;position:sticky;top:0;height:100vh;border-right:1px solid rgba(245,179,33,.32);display:flex;flex-direction:column;box-shadow:18px 0 45px #0f11162e;z-index:2;overflow:hidden}.brand{display:grid;gap:3px;margin-bottom:4px;padding:5px;border:1px solid rgba(245,179,33,.34);border-radius:8px;background:linear-gradient(180deg,#ffffff0d,#ffffff06);box-shadow:inset 0 1px #ffffff14,0 16px 38px #0003}.brand img{width:100%;max-height:58px;object-fit:contain;border-radius:6px;display:block;box-shadow:0 8px 20px #00000038}.brand strong{display:block;font-size:11px;letter-spacing:.03em;color:#fff;font-weight:800;line-height:1.1}.brand span{display:block;color:#f5b321;font-size:10px;margin-top:1px;font-weight:700}.side-action,.export-button,button{border:0;border-radius:8px;background:linear-gradient(135deg,#1f7a8c,#256f7d 54%,#174f5b);color:#fff;padding:8px 11px;display:inline-flex;gap:7px;align-items:center;justify-content:center;cursor:pointer;min-height:34px;font-weight:750;box-shadow:0 10px 22px #1f7a8c3d,inset 0 1px #ffffff24;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.side-action{width:100%;background:linear-gradient(135deg,#2d3038,#202127);margin-bottom:5px;min-height:30px;padding:6px 8px;font-size:12px;box-shadow:inset 0 1px #ffffff14;border:1px solid rgba(255,255,255,.1)}button:hover,.export-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #1f7a8c47,inset 0 1px #ffffff2e}button:disabled{opacity:.55;cursor:wait}nav{display:grid;gap:2px;overflow:auto;min-height:0;flex:1;padding-right:1px;align-content:start}.nav-button{color:#d9e4ee;text-decoration:none;display:flex;gap:7px;align-items:center;justify-content:flex-start;padding:6px 8px;border-radius:8px;background:transparent;min-height:29px;box-shadow:none;border:1px solid transparent;font-weight:700;font-size:12px}.nav-button svg{width:15px;height:15px}.nav-button:hover,.nav-button.active{background:linear-gradient(90deg,#f5b3212e,#1f7a8c14);color:#fff;border-color:#f5b3213d;box-shadow:inset 3px 0 0 var(--gold)}.nav-button.active{color:#fff}.sidebar-disclaimer{display:block;flex:0 0 auto;margin-top:5px;padding:5px 6px;border-top:1px solid rgba(245,179,33,.28);color:#aeb8c4;font-size:8px;line-height:1.25;text-align:center}main{padding:14px;display:grid;gap:14px;min-width:0;max-width:100vw}.zoom-controls{display:inline-flex;align-items:center;gap:4px;border:1px solid #d8dde4;border-radius:8px;background:linear-gradient(180deg,#fff,#f9fbfd);padding:3px;box-shadow:inset 0 1px #ffffffbf;white-space:nowrap}.zoom-controls .icon-button,.zoom-controls .zoom-value{min-height:28px;padding:4px 7px;border-radius:6px;box-shadow:none}.zoom-controls .zoom-value{min-width:54px;background:linear-gradient(180deg,#f8fafc,#eef3f7);color:#16202a;border:1px solid #d8dde4;font-weight:800}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;background:#ffffffd1;border:1px solid rgba(255,255,255,.92);border-radius:8px;padding:12px 14px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-width:0}.eyebrow{margin:0 0 4px;color:#9a6b05;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:900}h1,h2{margin:0;letter-spacing:0}h1{font-size:24px;color:#20242c}h2{font-size:16px}.topbar select{min-width:280px}.topbar-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.print-page-button{background:linear-gradient(135deg,#456990,#2d536f);white-space:nowrap}.page-context{border:1px solid #d8dde4;border-radius:8px;background:linear-gradient(180deg,#fff,#f9fbfd);color:#607084;min-height:34px;padding:8px 10px;display:flex;align-items:center;box-shadow:inset 0 1px #ffffffbf}input,select,textarea{border:1px solid #d0d8e2;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcfe);color:#16202a;min-height:34px;padding:7px 8px;min-width:0;max-width:100%;box-shadow:inset 0 1px #fffc,0 1px 2px #11182008;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:150px;resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{outline:0;border-color:#d79c17;box-shadow:var(--glow);background:#fff}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric,.panel{background:linear-gradient(180deg,#fff,#fbfcfe);border:1px solid rgba(220,228,235,.96);border-radius:8px;box-shadow:var(--shadow)}.metric{padding:13px;display:grid;gap:6px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),var(--teal));opacity:.9}.metric svg{color:#d79c17}.metric span{font-size:12px;color:#627184}.metric strong{font-size:21px}.tv-dashboard{display:grid;gap:12px}.dashboard-hero{background:radial-gradient(circle at 15% 10%,rgba(245,179,33,.22),transparent 30%),linear-gradient(135deg,#1f2026,#25313a 55%,#1f7a8c);color:#fff;border-radius:8px;padding:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 22px 52px #14222e38;border:1px solid rgba(245,179,33,.22)}.dashboard-hero h2{font-size:26px;line-height:1.05;color:#fff}.dashboard-hero span{display:block;margin-top:6px;color:#d8e3eb;font-size:13px}.dashboard-hero .eyebrow{color:#f5b321}.dashboard-project-picker{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.dashboard-project-picker label{display:grid;gap:5px;color:#d8e3eb;font-size:11px;text-transform:uppercase;font-weight:800;min-width:280px}.dashboard-project-picker select{background:#fff;color:#16202a;border-color:#fff6}.live-badge{border:1px solid rgba(245,179,33,.75);background:linear-gradient(180deg,#f5b3212e,#f5b32114);color:#ffe29a;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:900;letter-spacing:.14em;box-shadow:0 0 26px #f5b3212e}.dashboard-metrics .metric{min-height:104px;background:linear-gradient(180deg,#fff,#f8fbfd)}.dashboard-metrics .metric span{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.dashboard-metrics .metric strong{font-size:28px;line-height:1.05;color:#1f2026}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1.35fr 1.35fr 1.1fr;gap:10px;align-items:stretch}.production-ring-panel{display:grid;align-content:start;gap:10px}.production-ring{--progress:0deg;width:min(170px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;background:conic-gradient(#1f7a8c var(--progress),#e9eef3 0deg);display:grid;place-items:center;position:relative}.production-ring:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #e3e8ee,0 8px 20px #1f7a8c24}.production-ring strong,.production-ring span{position:relative;z-index:1;text-align:center}.production-ring strong{font-size:28px;color:#1f7a8c}.production-ring span{display:block;margin-top:36px;color:#667587;font-size:12px;font-weight:800}.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-stats span{border:1px solid #e3e8ee;border-radius:8px;padding:10px;background:#fbfcfd;color:#667587;font-size:12px;text-transform:uppercase;font-weight:800}.split-stats b{display:block;color:#16202a;font-size:22px;margin-top:2px}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(110px,1fr) 2fr auto;gap:10px;align-items:center}.bar-row span{font-size:12px;color:#445464;text-transform:uppercase;font-weight:800}.bar-row div{height:12px;border-radius:20px;background:#edf2f5;overflow:hidden}.bar-row i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#f5b321,#1f7a8c)}.bar-row b{font-size:16px;color:#16202a;min-width:26px;text-align:right}.two-col-dashboard{grid-template-columns:1fr 1fr}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border-radius:999px;padding:4px 8px;text-transform:uppercase;font-size:11px;font-weight:900;border:1px solid transparent}.status-chip.green{background:#eaf8ef;color:#19703b;border-color:#bde7c9}.status-chip.yellow{background:#fff8df;color:#8a6410;border-color:#f1db8d}.status-chip.red{background:#fff0ed;color:#a23820;border-color:#f1c4b8}.highlight-panel{background:linear-gradient(180deg,#fff8e5,#fff);border-color:#ead59b;box-shadow:0 16px 38px #9a6b0517}.active-projects-panel{padding:14px}.active-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-tile{border:1px solid #dfe6ec;border-radius:8px;padding:12px;background:linear-gradient(180deg,#fff,#fbfcfd);display:grid;gap:8px;min-height:132px;box-shadow:0 8px 20px #1118200d}.project-tile div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.project-tile strong{font-size:18px;color:#16202a}.project-tile span{color:#667587;text-align:right;font-size:13px}.project-tile>b{justify-self:start;background:#eef6f8;color:#1f7a8c;border-radius:8px;padding:4px 8px;font-size:11px;text-transform:uppercase}.project-tile p{margin:0;color:#344456;font-size:13px}.tile-completion{font-size:20px!important;color:#1f7a8c!important;line-height:1.05}.tile-progress{height:9px;border-radius:12px;background:#e8edf2;overflow:hidden}.tile-progress i{display:block;height:100%;border-radius:12px;background:#1f7a8c}.project-tile small{color:#667587;font-weight:700}.workspace{display:grid;grid-template-columns:1.35fr .95fr;gap:12px;align-items:start;min-width:0}.wide-panel{grid-column:1/-1}.inventory-page{display:grid;grid-template-columns:1fr;gap:12px}.factory-ops-page,.turnkey-page{display:grid;gap:12px}.turnkey-register-panel table,.turnkey-scope-panel table{min-width:1080px;font-size:11px}.turnkey-register-panel td small,.turnkey-scope-panel td small{display:block;color:#667587;font-size:10px;margin-top:2px}.turnkey-cost-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.turnkey-cost-strip span{border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:8px 10px;font-weight:900;color:#1f2026}.turnkey-scope-form{display:grid;grid-template-columns:1.1fr 1.5fr 1fr .8fr auto;gap:8px;align-items:end;margin-bottom:10px;border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd;padding:10px}.turnkey-detail-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:8px;align-items:end;margin-bottom:12px;border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd;padding:10px}.turnkey-detail-form .wide{grid-column:span 2}.measurement-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:end;border:1px solid #e3e9ef;border-radius:8px;background:#fff;padding:8px}.turnkey-material-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;border:1px solid #e3e9ef;border-radius:8px;background:#fff;padding:8px}.turnkey-material-lines{display:grid;gap:8px;border:1px solid #e3e9ef;border-radius:8px;background:#fff;padding:8px}.material-line-title{color:#176779;font-size:11px;font-weight:900;text-transform:uppercase;border-bottom:1px solid #e4edf2;padding:2px 0 5px}.material-line-grid{display:grid;gap:8px;align-items:end}.board-line{grid-template-columns:1.2fr 1.25fr 1fr .82fr}.laminate-line{grid-template-columns:1fr 1.2fr .82fr 1fr 1.2fr .82fr}.finish-application-line{grid-template-columns:minmax(220px,420px)}.finish-sub-line{grid-template-columns:repeat(6,minmax(0,1fr))}.finish-type-tabs{display:flex;gap:6px;flex-wrap:wrap;border:1px solid #dfe8ee;border-radius:8px;background:#f8fbfc;padding:7px}.finish-type-tabs button{min-height:30px;padding:6px 9px;border-radius:7px;background:#fff;color:#344253;border:1px solid #d7e1e8;box-shadow:none;font-size:11px}.finish-type-tabs button.active{background:linear-gradient(135deg,#1f7a8c,#174f5b);color:#fff;border-color:#1f7a8c;box-shadow:0 8px 18px #1f7a8c2e}.edgeband-line{grid-template-columns:repeat(4,minmax(0,1fr))}.visible-panel-line{grid-template-columns:repeat(5,minmax(0,1fr))}.scope-head-tabs{display:flex;gap:6px;overflow:auto;padding:6px;border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd;margin-bottom:10px}.scope-head-tabs button{flex:0 0 auto;min-height:30px;padding:6px 9px;border-radius:7px;background:#fff;color:#344253;border:1px solid #dce4eb;box-shadow:none;font-size:11px}.scope-head-tabs button.active{background:linear-gradient(135deg,#1f7a8c,#174f5b);color:#fff;border-color:#1f7a8c;box-shadow:0 8px 18px #1f7a8c2e}.scope-head-tabs small{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;border-radius:999px;background:#11182014;font-size:10px;font-weight:900}.scope-head-tabs button.active small{background:#fff3;color:#fff}.design-doc-tools{display:grid;grid-template-columns:1.35fr .8fr;gap:10px;margin-bottom:12px}.design-doc-tools article{border:1px solid #e1e7ed;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcfd);padding:12px;display:grid;gap:8px}.design-doc-tools h3{margin:0;font-size:14px;color:#17202a}.design-upload-row{display:grid;grid-template-columns:220px 1fr;gap:8px;align-items:end}.uploaded-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:150px;overflow:auto}.uploaded-file-list span{border:1px solid #dfe6ec;border-radius:7px;background:#fff;padding:7px;font-size:11px;overflow-wrap:anywhere}.uploaded-file-list small{display:block;color:#667587;margin-top:3px}.uploaded-file-list button{margin-top:6px;min-height:24px;padding:4px 7px;font-size:10px}.turnkey-sub-filter{display:flex;justify-content:flex-end;margin-bottom:10px}.turnkey-sub-filter label{min-width:280px}.turnkey-detail-groups,.measurement-card-grid{display:grid;gap:10px}.scope-detail-card{border:1px solid #dfe6ec;border-radius:8px;background:#fff;overflow:hidden}.scope-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(90deg,#fff8e5,#f7fafb);border-bottom:1px solid #e1e7ed;padding:10px}.scope-detail-head b{display:block;color:#1f2026}.scope-detail-head span{display:block;color:#667587;font-size:11px;margin-top:2px}.scope-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.scope-head-actions strong{margin-right:4px;white-space:nowrap}.scope-detail-card table{min-width:1020px;font-size:11px}.turnkey-quote-text-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}.turnkey-quote-text-grid label{display:grid;align-content:start}.turnkey-quote-text-grid textarea{min-height:118px;resize:vertical}.progress-track{height:8px;border-radius:999px;background:#e8eef3;overflow:hidden;min-width:110px}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--teal))}.button-row,.action-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-cost-edit{display:grid;grid-template-columns:1fr 1fr;gap:5px}.inline-cost-edit input{min-height:28px;padding:4px 6px;font-size:11px}.turnkey-quotation-panel .section-title{justify-content:space-between;flex-wrap:wrap}.turnkey-quotation-doc{background:#fff;border:1px solid #d6e0e8;border-radius:8px;padding:18px;display:grid;gap:14px;color:#17202a}.quote-head{display:grid;grid-template-columns:120px 1fr 190px;gap:14px;align-items:center;border-bottom:2px solid #1f2026;padding-bottom:12px}.quote-head img{width:112px;max-height:64px;object-fit:contain}.quote-head strong{display:block;font-size:21px;letter-spacing:.06em;color:#141820}.quote-head span{display:block;font-weight:900;color:#9a6904}.quote-head small{display:block;color:#667587;font-size:11px;margin-top:3px}.quote-head aside{text-align:right;border-left:1px solid #dfe6ec;padding-left:12px}.quote-head aside b{display:block;font-size:15px;color:#1f7a8c}.quote-client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quote-client-grid p{margin:0;border:1px solid #e3e9ef;background:#fbfcfd;border-radius:7px;padding:8px}.quote-client-grid span{display:block;font-size:10px;text-transform:uppercase;color:#667587;font-weight:900}.quote-client-grid b{font-size:13px}.quote-table{min-width:0!important;table-layout:fixed;border:1px solid #cfd9e1}.quote-table th,.quote-table td{border:1px solid #dfe6ec}.quote-table th:first-child,.quote-table td:first-child{width:34px;text-align:center}.quote-table th:last-child,.quote-table td:last-child{width:120px;text-align:right}.quote-scope-row td{font-weight:900;background:#fbfcfd}.quote-scope-row small{display:block;color:#667587;font-size:10px;margin-top:2px;font-weight:800}.quote-detail-row td{font-size:11px;color:#344253;background:#fff}.quote-detail-row td:first-child{background:#fff}.quote-detail-row small{display:block;color:#667587;font-size:10px;margin-top:2px}.quote-component-total-row td{background:#fffdf4;font-weight:800}.quote-bottom{display:grid;grid-template-columns:1fr 280px;gap:14px;align-items:start}.quote-notes{border:1px solid #e3e9ef;border-radius:8px;padding:10px;background:#fbfcfd}.quote-notes p{margin:4px 0 10px;color:#344253}.quote-notes ul,.quote-terms ol{margin:6px 0 10px;padding-left:20px}.quote-totals{border:1px solid #d6c38f;border-radius:8px;background:#fff8e5;padding:10px;display:grid;gap:7px}.quote-totals p,.quote-totals strong{margin:0;display:flex;justify-content:space-between;gap:14px}.quote-totals strong{border-top:1px solid #caa85b;padding-top:8px;font-size:15px;color:#111820}.quote-terms{border-top:1px solid #dfe6ec;padding-top:8px}.quote-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}.quote-sign span{border-top:1px solid #111;padding-top:8px;text-align:center;font-weight:800}.factory-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.ops-actions{display:flex;gap:8px;flex-wrap:wrap}.ops-tabs{display:flex;gap:6px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dce4eb;border-radius:8px;padding:6px;box-shadow:var(--shadow-soft)}.ops-tab{min-height:32px;padding:7px 12px;background:#eef3f7;color:#344456;box-shadow:none;border:1px solid #d8e1e8}.ops-tab.active{background:linear-gradient(135deg,#1f7a8c,#174f5b);color:#fff;border-color:#1f7a8c}.factory-ops-page .packing-label-panel .packing-label-grid{max-height:68vh;overflow:auto;padding-right:4px}.delivery-challan-panel .delivery-challan-doc{display:none}.delivery-challan-panel .delivery-challan-doc.selected-delivery-challan{display:grid}.selected-row td{background:#eef8fb!important}.delivery-preview-wrap{grid-column:1/-1;margin-top:12px;border:1px solid #d4e1e8;border-radius:8px;background:#f8fbfc;padding:10px}.delivery-preview-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.delivery-preview-toolbar b{color:#1f2c35}.panel{padding:12px;min-width:0;max-width:100%}.section-title{display:flex;gap:8px;align-items:center;margin-bottom:10px}.section-title svg{color:#d79c17}.section-subtitle{margin:14px 0 8px;color:#607084;font-size:12px;font-weight:800;text-transform:uppercase}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.grid-form .wide{grid-column:1/-1}.grid-form button{justify-self:start}.form-band{grid-column:1/-1;background:linear-gradient(90deg,#fff8e5,#f4f8fa);border:1px solid #ead59b;border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;align-items:center;box-shadow:inset 0 1px #fffc}.form-band b{color:#8a610b}.form-band span{color:#667587;font-size:13px;text-align:right}.form-section{grid-column:1/-1;border:1px solid #dfe6ec;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcfd);overflow:hidden}.form-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:10px 12px;background:linear-gradient(90deg,#fff8e5,#f4f8fa);border-bottom:1px solid transparent;list-style:none}.form-section summary::-webkit-details-marker{display:none}.form-section summary:before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#18202a;color:#fff;font-weight:900;flex:0 0 auto}.form-section[open] summary{border-bottom-color:#ead59b}.form-section[open] summary:before{content:"-"}.form-section summary b{color:#8a610b}.form-section summary span{color:#667587;font-size:13px;text-align:right}.smart-panel{padding:0;overflow:hidden}.smart-panel>summary{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#fff8e5,#f7fafb);border-bottom:1px solid transparent}.smart-panel>summary::-webkit-details-marker{display:none}.smart-panel>summary svg{color:#d79c17}.smart-panel>summary b{color:#20242c;font-size:15px}.smart-panel>summary span{margin-left:auto;color:#667587;font-size:12px;font-weight:700;text-align:right}.smart-panel[open]>summary{border-bottom-color:#e1e7ed}.smart-panel>form,.smart-panel>.table-scroll,.smart-panel>.section-subtitle{margin:12px}.section-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}.section-fields>.wide{grid-column:1/-1}.section-fields>.hardware-entry-grid,.section-fields>.hardware-grid,.section-fields>.check-grid{grid-column:1/-1}.field-label{display:grid;gap:5px;color:#607084;font-size:12px;font-weight:700;text-transform:uppercase}.field-label input,.field-label select{font-size:13px;font-weight:400;text-transform:none;color:#16202a}.field-label textarea{font-size:13px;font-weight:400;text-transform:none;color:#16202a;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.span-2{grid-column:1 / -1}.admin-settings-form{display:grid;gap:16px}.admin-settings-group{border:1px solid #d8e2ea;border-radius:8px;padding:14px;background:#fff}.admin-settings-group h3{margin:0 0 12px;color:#9a6500;font-size:14px;text-transform:uppercase;letter-spacing:.04em}.computed-field{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #dfe5eb;border-radius:8px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;min-height:40px}.computed-field span{color:#607084;font-size:13px}.computed-field b{color:#8a610b}.job-work-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.job-work-form>.wide{grid-column:1/-1}.job-work-section-title{grid-column:1/-1;color:#8a610b;font-size:11px;font-weight:800;text-transform:uppercase;border-bottom:1px solid #e5d8b4;padding:2px 0 5px}.job-work-optional{border:1px solid #dfe5eb;border-radius:6px;background:#fbfcfd;overflow:hidden}.job-work-optional>summary{cursor:pointer;padding:8px 10px;color:#38506a;font-size:12px;font-weight:800;background:#f5f8fa}.job-work-optional-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.job-work-measurement{background:#f5fbfc;padding:9px}.job-work-measurement>b{display:block;color:#176779;font-size:13px;padding:0 2px 4px}.job-work-bundle-services{display:grid;gap:5px;margin:0 10px 9px}.job-work-bundle-services>span{color:#607084;font-size:11px;font-weight:800;text-transform:uppercase}.job-work-material-card{background:#f8fbfc;padding:9px}.job-work-material-card>b{display:block;color:#176779;font-size:13px;padding:0 2px 4px}.job-work-visible-panels{display:flex;flex-wrap:wrap;gap:8px 16px;border:1px solid #d9e2e8;border-radius:6px;background:#fff;padding:9px}.job-work-visible-panels label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#31465a}.job-work-boq{margin-top:10px;border-top:1px solid #d6e2e8;padding-top:10px}.job-work-boq>b{display:block;color:#176779;font-size:13px}.job-work-boq>small{display:block;color:#607485;margin:2px 0 8px}.job-work-drawing-box{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;align-items:end;background:#f8fbfc;padding:9px}.job-work-drawing-box>small,.job-work-drawing-note,.job-work-drawing-candidates{grid-column:1/-1}.job-work-drawing-box>small,.job-work-drawing-note{margin:0;color:#607485;font-size:12px}.job-work-drawing-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.job-work-drawing-candidates article{display:grid;gap:4px;border:1px solid #d9e2e8;border-radius:6px;background:#fff;padding:8px}.job-work-drawing-candidates span{color:#607485;font-size:12px}.job-work-cutlist{background:#fbfcfd;padding:9px}.job-work-cutlist>.section-title{margin-bottom:4px}.job-work-cutlist>small{display:block;color:#607485;font-size:12px;margin-bottom:7px}.job-work-cutlist-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}.dashboard-view-tabs{display:flex;gap:7px;align-items:center}.dashboard-view-tabs button{display:flex;align-items:center;gap:6px;border:1px solid #cfdce3;background:#fff;color:#38506a;border-radius:6px;padding:8px 11px;font-weight:800;cursor:pointer}.dashboard-view-tabs button.active{background:#176779;color:#fff;border-color:#176779}.dashboard-view-tabs span{border-radius:10px;background:#0000001f;padding:1px 6px;font-size:11px}.drawing-notes-optional{border:1px solid #d4e0e6;border-radius:6px;background:#f8fbfc;padding:9px 10px}.drawing-notes-optional summary{cursor:pointer;color:#176779;font-size:12px;font-weight:700}.drawing-notes-optional[open] summary{margin-bottom:8px}.form-error{margin:8px 0 0;color:#a92f2f;font-size:12px;font-weight:700}.stock-total{margin-bottom:12px;max-width:340px}.hardware-grid,.hardware-entry-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid #e1e7ed;border-radius:8px;padding:10px;background:linear-gradient(180deg,#fbfcfd,#fff)}.package-preview{grid-column:1/-1;border:1px solid #d8e3ea;border-radius:8px;background:#f7fafb;padding:10px;display:grid;gap:6px}.package-preview b{color:#1c2a32}.package-preview small{color:#52616b}.package-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.package-items span{background:#fff;border:1px solid #e1e7ed;border-radius:6px;padding:6px 8px;font-size:.82rem;color:#30404a}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid #e1e7ed;border-radius:8px;padding:8px;background:linear-gradient(180deg,#fbfcfd,#fff)}.check-option{display:flex;gap:8px;align-items:center;color:#16202a;font-size:13px;font-weight:600;text-transform:none}.check-option input{min-height:auto;width:auto}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.module-form{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-form{grid-template-columns:repeat(4,minmax(0,1fr))}.boq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.boq-grid strong{grid-column:1/-1;font-size:28px;color:#1f7a8c}.boq-grid span{background:#eef6f8;padding:10px;border-radius:8px;color:#2c4d59}.mini-table{display:grid;gap:6px}.mini-table p{margin:0;display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;border-top:1px solid #edf1f4}.project-list p{grid-template-columns:1fr auto auto;align-items:center}.project-stage-select{min-width:150px;min-height:30px;padding:5px 7px;font-size:12px;background:#f8fafc}.project-page{display:grid;gap:12px}.project-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-summary-grid article{background:linear-gradient(180deg,#fff,#fbfcfe);border:1px solid #dce4eb;border-radius:8px;padding:12px;box-shadow:var(--shadow-soft);display:grid;gap:4px;border-top:3px solid var(--gold)}.project-summary-grid span{font-size:11px;text-transform:uppercase;color:#607084;font-weight:900}.project-summary-grid strong{font-size:22px;color:#1f7a8c}.project-add-form{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:12px;align-items:start}.project-form-section{border:1px solid #e1e7ed;border-radius:8px;background:linear-gradient(180deg,#fbfcfd,#fff);padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.project-form-section h3{grid-column:1/-1;margin:0 0 2px;color:#20242c;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.project-form-section .wide{grid-column:1/-1}.project-form-section textarea{min-height:74px}.project-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;border-top:1px solid #e8edf2;padding-top:10px}.project-register-panel table{min-width:1100px}.project-register-panel td:first-child b{display:block;color:#16202a}.project-register-panel td:first-child small{display:block;color:#667587;font-size:10px;margin-top:2px}.mini-table em{font-style:normal;color:#667587}.mini-table small{display:block;color:#667587;font-weight:400;margin-top:3px}.label-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.label-list span{border:1px dashed #b7c3ce;border-radius:8px;padding:8px;font-weight:700}.label-list small{display:block;color:#667587;font-weight:400;margin-top:5px}.table-scroll{overflow:auto;border:1px solid #e1e7ed;border-radius:8px;max-width:100%;box-shadow:0 8px 18px #1118200a}table{border-collapse:collapse;width:100%;min-width:760px;background:#fff;font-size:12px}th,td{text-align:left;padding:6px 7px;border-bottom:1px solid #e8edf2;vertical-align:middle}th{font-size:11px;color:#5d6570;text-transform:uppercase;background:#fff8e5}tbody tr:hover td{background:#fbfdff}td small{display:block;color:#667587;margin-top:2px;font-size:11px}.low-row td{background:#fff7f2}.status-select{min-width:140px;background:#f8fafc}.production-tracker table{font-size:10.5px;min-width:700px}.production-tracker th,.production-tracker td{padding:5px 6px}.production-tracker td small{font-size:10px;margin-top:2px}.production-tracker .status-select{min-width:132px;min-height:32px;padding:5px 7px;font-size:11px}.bulk-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd;padding:8px}.bulk-toolbar span{color:#607084;font-size:12px;font-weight:700}.bulk-toolbar select{min-height:30px;min-width:170px;padding:4px 7px}.bulk-toolbar .check-option{margin-right:auto}.inventory-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px}.inventory-page .table-scroll{overflow:auto}.inventory-page table{min-width:1120px;table-layout:fixed;font-size:11px}.inventory-page th,.inventory-page td{padding:5px;white-space:normal;word-break:break-word}.inventory-page td small{font-size:10px}.inventory-page .row-actions{flex-direction:column;align-items:stretch}.inventory-page .small-button{min-height:28px;padding:5px 7px}.inventory-register-panel .section-title{justify-content:space-between;flex-wrap:wrap}.inventory-filter-bar{display:grid;grid-template-columns:1.6fr repeat(5,minmax(120px,1fr)) auto;gap:8px;align-items:end;margin-bottom:10px;border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd;padding:10px}.inventory-filter-bar button{white-space:nowrap}.stock{border:1px solid #dfe5eb;border-radius:8px;padding:10px;display:grid;gap:5px;background:#fbfcfd}.stock b{color:#1f7a8c}.stock span{font-size:13px;color:#344456;min-height:34px}.stock strong{font-size:18px}.stock small{color:#667587}.stock.low{border-color:#d67553;background:#fff7f2}.export-bar{display:flex;gap:10px;justify-content:flex-end}.export-bar.left{justify-content:flex-start;flex-wrap:wrap}.export-button{text-decoration:none;background:linear-gradient(135deg,#456990,#2d536f)}.data-table-report{display:grid;gap:8px}.table-report-toolbar{display:flex;justify-content:flex-end;gap:8px}.print-report-brand{display:none}.compact-rate-table{margin-top:12px}.compact-rate-table input{min-height:30px;padding:6px 8px}.danger-button{background:linear-gradient(135deg,#bb4d4d,#963636);min-height:34px;padding:7px 10px}.secondary-button{background:linear-gradient(135deg,#607084,#4d5d6c)}.small-button{min-height:32px;padding:6px 9px;font-size:13px}a.small-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#1f7a8c,#256f7d 54%,#174f5b);color:#fff;text-decoration:none;font-weight:750;box-shadow:0 8px 18px #1f7a8c33}.row-actions{display:flex;gap:7px;align-items:center}.module-actions{margin-top:8px}.module-card-grid{display:grid;grid-template-columns:1fr;gap:9px;max-height:72vh;overflow:auto;padding-right:2px}.room-module-card{border:1px solid #dfe6ec;border-radius:8px;background:#fff;display:grid;gap:0;overflow:hidden}.room-module-card header{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f7fafb;border-bottom:1px solid #e5ebf0;padding:9px 10px}.room-module-card header strong{color:#20242c}.room-module-card header span{color:#607084;font-size:12px;font-weight:800}.module-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf1f4}.module-line:last-child{border-bottom:0}.module-line b{color:#1f7a8c}.module-line small{display:block;color:#667587;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-meta{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:210px}.module-meta span{background:#eef6f8;color:#31515c;border:1px solid #d8e6eb;border-radius:6px;padding:3px 6px;font-size:10px;font-weight:800}.detail-line{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #edf1f4;margin:0;padding:11px 0;color:#667587}.detail-line b{color:#16202a;text-align:right}.optimization-page{display:grid;grid-template-columns:1fr;gap:12px}.drawing-import-page .muted{margin:10px 0 0;line-height:1.5}.drawing-candidates{margin-top:12px}.drawing-import-page table input,.drawing-import-page table select{width:100%;min-width:92px;font-size:11px;padding:5px 6px;min-height:30px}.drawing-import-page table td:last-child input{min-width:240px}.optimization-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.optimization-summary article{border:1px solid #dfe6ec;border-radius:8px;background:#fbfcfd;padding:10px;display:grid;gap:4px}.optimization-summary span{font-size:12px;text-transform:uppercase;color:#607084;font-weight:800}.optimization-summary strong{font-size:19px;color:#16202a}.optimization-summary small{color:#667587}.optimization-summary b{color:#1f7a8c;font-size:16px}.optimization-summary em{font-style:normal;color:#8a610b;font-weight:700}.sheet-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nested-sheet-panel .section-title{justify-content:space-between;flex-wrap:wrap}.sheet-map-card{border:1px solid #dfe6ec;border-radius:8px;padding:10px;background:#fff;display:grid;gap:8px}.sheet-map-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sheet-map-head strong{display:block;color:#16202a}.sheet-map-head span{display:block;color:#667587;font-size:12px;margin-top:3px}.sheet-map-head b{background:#eef6f8;color:#1f7a8c;border-radius:8px;padding:6px 8px;font-size:13px;white-space:nowrap}.sheet-map-card svg{width:100%;height:auto;aspect-ratio:2/1;border-radius:8px;background:#f2f5f8;border:1px solid #e1e7ed}.sheet-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sheet-map-legend span{display:flex;gap:6px;align-items:center;color:#344456;font-size:11px;min-width:0}.sheet-map-legend i{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.offcut-register-panel table{font-size:11px;min-width:980px}.offcut-register-panel th,.offcut-register-panel td{padding:5px 6px}.offcut-register-panel td small{font-size:10px;margin-top:2px}.offcut-register-panel input,.offcut-register-panel select{min-height:30px;padding:4px 6px;font-size:11px;border-radius:6px}.offcut-register-panel .small-button{min-height:28px;padding:4px 7px;font-size:11px}.wide-input{width:100%;margin-bottom:14px}.muted{color:#667587}.scan-result{border:1px solid #dfe5eb;border-radius:8px;background:#f8fafc;padding:14px;display:grid;gap:8px}.scan-result strong{font-size:22px;color:#1f7a8c}.scan-result p{margin:0;color:#344456}.scan-result select{max-width:260px}.scanner-page{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.scanner-page .print-area{overflow:hidden}.qr-label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;max-width:100%;min-width:0}.qr-label-card{border:1px solid #dfe5eb;border-radius:8px;background:#fff;padding:8px;display:grid;grid-template-columns:minmax(0,1fr) 82px;grid-template-areas:"company company" "project qr" "client qr" "code qr" "panel qr" "room qr" "size qr" "finish finish" "edge edge" "barcode barcode";gap:4px 8px;break-inside:avoid;box-shadow:0 10px 24px #11182012;min-width:0;overflow:hidden}.qr-label-pages{display:grid;gap:8px}.qr-label-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.label-print-controls{display:flex;gap:10px;align-items:end;margin-bottom:12px;flex-wrap:wrap}.label-print-controls .field-label{min-width:280px}.label-company{grid-area:company;font-size:11px;color:#111;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #eef1f4;padding-bottom:2px}.label-project{display:flex;justify-content:space-between;gap:8px;font-size:10px;border-top:1px solid #eef1f4;padding-top:2px}.label-project span{color:#607084}.label-project b{color:#111;text-align:right}.label-project b,.qr-title b,.qr-label-card p,.qr-label-card small{min-width:0;overflow:hidden;text-overflow:ellipsis}.qr-label-card .label-project:nth-of-type(1){grid-area:project}.qr-label-card .label-project:nth-of-type(2){grid-area:client}.qr-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.qr-title b{font-size:12px;color:#16202a}.qr-title span{font-size:10px;color:#607084}.qr-art{grid-area:qr;display:flex;justify-content:center;align-items:center;min-height:82px;border:1px solid #cfd9e3;border-radius:6px;background:#fff}.qr-art svg,.qr-art canvas,.qr-art img{width:76px;height:76px;display:block}.barcode-art{border:1px dashed #cfd9e3;border-radius:6px;background:#fff;padding:2px}.barcode-art{grid-area:barcode}.barcode-art svg,.barcode-art canvas,.barcode-art img{width:100%;height:34px;display:block}.qr-label-card p{grid-area:panel;margin:0;font-weight:800;font-size:11px;color:#111;white-space:nowrap}.qr-label-card small{color:#111;font-size:10px;white-space:nowrap}.label-room{grid-area:room}.label-size{grid-area:size}.label-finish{grid-area:finish}.label-visible{grid-area:edge;text-align:left}.label-edge-map{grid-area:edge;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;border-top:1px solid #eef1f4;padding-top:3px;font-size:8px;line-height:1.1;color:#111;min-width:0;overflow:hidden}.label-edge-map span{display:grid;grid-template-rows:auto 1fr;gap:1px;min-width:0;white-space:normal;overflow:hidden}.label-edge-map b{font-size:7px;text-transform:uppercase;color:#607084;line-height:1}.label-safe-area,.label-material,.label-edge-summary,.label-footer{display:none}.edge-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 10px}.edge-summary-strip article{border:1px solid #dce6ec;border-radius:8px;background:#f8fbfc;padding:8px;display:grid;gap:2px}.edge-summary-strip span{font-size:11px;color:#52616b;font-weight:800}.edge-summary-strip strong{font-size:16px;color:#10242d}.edge-summary-strip small{font-size:10px;color:#617181}.edge-reference-toggle{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#415767}.edge-reference-toggle select{min-height:30px;min-width:150px;padding:4px 7px;font-size:11px}.edge-preset-row{margin-bottom:5px}.edge-preset-row select{min-height:28px;width:100%;min-width:0;padding:4px 6px;font-size:10px;border-radius:6px}.edge-control-grid{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));gap:4px;min-width:230px}.edge-side-control{display:grid;gap:2px;font-size:9px;font-weight:900;color:#39505e;border:1px solid #e4ebf0;border-radius:6px;padding:3px;background:#fbfdfe}.edge-side-control span{display:flex;align-items:center;gap:4px}.edge-side-control input{width:13px;height:13px;margin:0}.edge-side-control select{min-width:0;width:100%;min-height:26px;padding:3px 5px;font-size:10px;border-radius:6px}.qr-project{font-weight:700;color:#16202a!important}.app-disclaimer{border:1px solid #ead59b;background:#fff8e5;color:#72520d;border-radius:8px;padding:10px 12px;font-size:12px;text-align:center;display:grid;gap:3px}.app-disclaimer small{font-size:11px;color:#4b5d68;font-weight:800}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 0%,rgba(245,179,33,.18),transparent 30%),linear-gradient(135deg,#202127,#101116)}.login-card{width:min(460px,100%);background:#fff;border:1px solid rgba(245,179,33,.35);border-radius:8px;padding:16px;box-shadow:0 24px 70px #00000052}.login-brand{background:#202127;margin-bottom:14px}.staff-chip{display:flex;gap:6px;align-items:center;margin-top:5px;padding:6px;border:1px solid rgba(245,179,33,.24);border-radius:8px;background:#ffffff0f;color:#fff;flex:0 0 auto;font-size:12px}.staff-chip svg{width:14px;height:14px}.staff-chip small{display:block;color:#f5b321;font-size:10px;margin-top:1px}.password-action{margin-top:5px;min-height:30px;padding:6px 8px;font-size:12px;background:linear-gradient(135deg,#324257,#202935)}.sidebar-password-form{display:grid;gap:6px;margin:5px 0;padding:8px;border:1px solid rgba(245,179,33,.28);border-radius:8px;background:#ffffff0f;color:#fff;font-size:11px}.sidebar-password-form label{display:grid;gap:3px;color:#d9e1e8;font-weight:700}.sidebar-password-form input{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#fff;color:#111;padding:6px;font-size:12px}.sidebar-password-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar-password-actions button{min-height:28px;padding:5px 6px;font-size:11px;border-radius:6px}.logout-action{margin-top:5px;margin-bottom:0;background:linear-gradient(135deg,#6b3131,#421d1d);flex:0 0 auto;min-height:30px;padding:6px 8px;font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid #e1e7ed;border-radius:8px;padding:8px;background:#fbfcfd}.packing-label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.packing-label-card{border:1px solid #cfd9e3;border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px;break-inside:avoid;color:#17212b}.packing-label-card header,.packing-id-row,.packing-label-card footer{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.packing-label-card header strong{display:block;font-size:14px;color:#111}.packing-label-card header span,.packing-code small,.packing-id-row span,.packing-id-row small{display:block;color:#52616b;font-size:11px}.packing-code{text-align:right}.packing-code b{display:block;font-size:17px;color:#111}.packing-id-row{align-items:center;border-top:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed;padding:8px 0}.packing-id-row .qr-art{width:82px;height:82px;min-height:82px;flex:0 0 82px}.packing-id-row .qr-art svg{width:74px;height:74px}.packing-id-row>div:last-child{flex:1;min-width:0}.packing-id-row b{font-size:14px;color:#111}.packing-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}.packing-columns h3{margin:0 0 5px;font-size:12px;text-transform:uppercase;color:#1f2c35}.packing-columns table{width:100%;min-width:0;border-collapse:collapse;font-size:11px}.packing-columns td{border:1px solid #dfe7ee;padding:4px;vertical-align:top}.packing-columns td:first-child{width:20px;text-align:center}.packing-columns td:last-child{width:54px;text-align:right}.packing-columns b{display:block;color:#111}.packing-columns small{display:block;color:#52616b}.packing-label-card footer{border-top:1px solid #e1e7ed;padding-top:8px;font-size:11px;color:#111;flex-wrap:wrap}.delivery-challan-doc{margin-top:12px;border:1px solid #cfd9e3;border-radius:8px;background:#fff;color:#111;padding:16px;display:grid;gap:10px;break-inside:avoid}.dc-header{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;border-bottom:2px solid #111;padding-bottom:10px}.dc-logo{width:95px;max-height:45px;object-fit:contain;display:block;margin-bottom:6px}.dc-header strong{font-size:22px;letter-spacing:.08em;color:#111}.dc-header span,.dc-header small{display:block;color:#333}.dc-header b{display:block;color:#111}.delivery-challan-doc h2{text-align:center;text-transform:uppercase;font-size:20px;border:1px solid #111;padding:6px;margin:0}.delivery-challan-doc h3{margin:4px 0 0;font-size:12px;text-transform:uppercase;color:#111;border-bottom:1px solid #bbb;padding-bottom:3px}.dc-two,.dc-grid,.dc-checks,.dc-signatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #999;border-bottom:0}.dc-two p,.dc-grid p,.dc-checks p,.dc-signatures p{margin:0;border-right:1px solid #999;border-bottom:1px solid #999;padding:6px;display:grid;gap:3px}.dc-two p:nth-child(2n),.dc-grid p:nth-child(2n),.dc-checks p:nth-child(2n){border-right:0}.delivery-challan-doc span{font-size:11px;color:#555;text-transform:uppercase;font-weight:800}.delivery-challan-doc b{color:#111}.dc-table{min-width:0;width:100%;font-size:11px;border:1px solid #999}.dc-table th,.dc-table td{border:1px solid #999;padding:5px}.dc-notes{margin:0;padding-left:20px;font-size:11px;line-height:1.45}.dc-qr-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dc-qr-row div{border:1px solid #999;padding:8px;display:grid;place-items:center;gap:6px;min-height:110px;text-align:center}.dc-qr-row svg{width:68px;height:68px}.dc-qr-row .dc-barcode svg{width:100%;height:36px}.dc-attachments{border:1px solid #999;margin:0;padding:8px;font-size:11px}.dc-signatures{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-signatures p{border-right:1px solid #999}.dc-signatures p:nth-child(3n){border-right:0}.dc-signatures small{color:#555;font-size:10px;text-transform:uppercase}@media (max-width:1250px){.shell{grid-template-columns:204px minmax(0,1fr)}.module-form,.hardware-grid,.hardware-entry-grid,.package-items,.packing-label-grid,.section-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-form{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.inventory-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-add-form{grid-template-columns:1fr 1fr}.project-add-form .project-form-section:last-of-type{grid-column:1/-1}}@media print{@page{size:A4;margin:0}*{box-shadow:none!important;text-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{width:100%!important;min-height:0;background:#fff!important;color:#000!important;font-size:10px!important}.sidebar,.topbar,.no-print,.app-disclaimer{display:none!important}.shell{display:block;zoom:1!important;transform:none!important;transform-origin:0 0!important}main{padding:0!important;display:block!important;max-width:none!important;width:100%!important;overflow:visible!important}.panel,.metric,.project-tile,.sheet-map-card,.stock{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid;border-color:#999!important}.panel{padding:4mm!important;margin:0 0 5mm!important;border-radius:0!important;background:#fff!important;color:#000!important}.section-title{gap:2mm!important;margin-bottom:2mm!important;padding-bottom:1.5mm!important;border-bottom:1px solid #777!important}.section-title h2{font-size:12px!important;line-height:1.1!important;color:#000!important}.workspace{display:block!important;width:100%!important;max-width:196mm!important;margin:0 auto!important}.metrics,.dashboard-grid,.active-project-grid,.optimization-summary,.sheet-map-grid,.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.wide-panel,.active-projects-panel,.offcut-register-panel{grid-column:1/-1}.table-scroll{overflow:visible!important;border-color:#bbb!important;max-width:100%!important}table{min-width:0!important;width:100%!important;max-width:100%!important;border-collapse:collapse!important;font-size:8px!important;table-layout:fixed!important}th,td{padding:1.6mm!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;color:#000!important;vertical-align:top!important}th{background:#f1f1f1!important}tr{break-inside:avoid;page-break-inside:avoid}input,select{border:0;background:transparent;min-height:0;padding:0;font-size:8px}button,.export-bar,.label-print-controls,.table-report-toolbar,.no-print-col{display:none!important}.print-report-brand{display:flex!important;align-items:center;gap:3mm;border-bottom:1.2px solid #111;padding-bottom:2mm;margin-bottom:2mm;color:#000!important}.print-report-brand img{width:28mm!important;max-height:14mm!important;object-fit:contain!important}.print-report-brand strong{display:block;font-size:13px!important;letter-spacing:.04em!important;color:#000!important}.print-report-brand span{display:block;font-size:8px!important;color:#333!important}body.print-selected-report .shell{display:none!important}body.print-selected-report .selected-print-section,body.print-selected-report .selected-print-section *{visibility:visible!important}body.print-selected-report .selected-print-section{display:block!important;position:static!important;width:190mm!important;margin:0 auto!important;padding:0!important;background:#fff!important;color:#000!important}body.print-selected-report .selected-print-section .table-scroll{overflow:visible!important;border:0!important}body.print-selected-report .selected-print-section table{font-size:8px!important;table-layout:fixed!important;border:1px solid #777!important}body.print-selected-report .selected-print-section th,body.print-selected-report .selected-print-section td{padding:1.5mm!important;line-height:1.35!important}body.print-inventory-register .inventory-page>.panel:not(.inventory-register-panel){display:none!important}body.print-inventory-register .inventory-register-panel{display:block!important;border:0;padding:0}body.print-inventory-register .inventory-register-panel .stock-total{max-width:none;margin-bottom:6px}body.print-inventory-register .inventory-register-panel th:last-child,body.print-inventory-register .inventory-register-panel td:last-child{display:none}body.print-inventory-register .inventory-register-panel table{font-size:7.4px!important;table-layout:fixed}body.print-nested-sheets .optimization-page>.panel:not(.nested-sheet-panel){display:none!important}body.print-nested-sheets .nested-sheet-panel{border:0!important;padding:0!important;background:#fff!important;box-shadow:none!important}body.print-nested-sheets .nested-sheet-panel>.section-title{display:flex!important;margin-bottom:5mm!important;border-bottom:1px solid #111;padding-bottom:2mm}body.print-nested-sheets .nested-sheet-panel>.section-title button{display:none!important}body.print-nested-sheets .sheet-map-grid{display:block!important}body.print-nested-sheets .sheet-map-card{border:1px solid #111!important;border-radius:0!important;padding:4mm!important;margin:0 0 7mm!important;page-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important;color:#000!important}body.print-nested-sheets .sheet-map-card svg{border:1px solid #111!important;border-radius:0!important;background:#fff!important;max-height:170mm}body.print-nested-sheets .sheet-map-head b{border:1px solid #111!important;background:#fff!important;color:#000!important}body.print-nested-sheets .sheet-map-legend{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.print-packing-labels .factory-ops-page>.project-summary-grid,body.print-packing-labels .factory-ops-page>.factory-ops-grid,body.print-packing-labels .factory-ops-page>.panel:not(.packing-label-panel){display:none!important}body.print-packing-labels .packing-label-panel{border:0!important;padding:0!important;background:#fff!important;box-shadow:none!important}body.print-packing-labels .packing-label-grid{display:block!important}body.print-packing-labels .packing-label-card{border:1px solid #111!important;border-radius:0!important;padding:3mm!important;margin:0 0 5mm!important;page-break-inside:avoid!important;break-inside:avoid!important;color:#000!important}body.print-packing-labels .packing-label-card header strong,body.print-packing-labels .packing-code b,body.print-packing-labels .packing-id-row b,body.print-packing-labels .packing-columns b{color:#000!important}body.print-packing-labels .packing-columns{grid-template-columns:1.2fr 1fr!important;gap:3mm!important}body.print-packing-labels .packing-columns table{font-size:8px!important}body.print-packing-labels .packing-columns td{border:1px solid #333!important;padding:1mm!important}body.print-packing-labels .packing-id-row .qr-art{width:22mm!important;height:22mm!important;min-height:22mm!important;border:1px solid #111!important}body.print-packing-labels .packing-id-row .qr-art svg{width:20mm!important;height:20mm!important}body.print-delivery-challan .factory-ops-page>.project-summary-grid,body.print-delivery-challan .factory-ops-page>.panel:not(.delivery-challan-panel){display:none!important}body.print-delivery-challan .factory-ops-grid>.panel:not(.delivery-challan-panel){display:none!important}body.print-delivery-challan .delivery-challan-panel{border:0!important;padding:0!important;background:#fff!important;box-shadow:none!important}body.print-delivery-challan .delivery-challan-panel>.section-title,body.print-delivery-challan .delivery-challan-panel>.table-scroll,body.print-delivery-challan .delivery-preview-toolbar{display:none!important}body.print-delivery-challan .delivery-preview-wrap{border:0!important;padding:0!important;margin:0!important;background:#fff!important;width:100%!important}body.print-delivery-challan .delivery-challan-doc{display:none!important}body.print-delivery-challan .delivery-challan-doc.selected-delivery-challan{display:grid!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 auto!important;box-shadow:none!important;page-break-after:auto!important;width:196mm!important;max-width:196mm!important;gap:1.8mm!important}body.print-delivery-challan .dc-header{grid-template-columns:1fr 1.35fr!important;gap:3mm!important;padding-bottom:2mm!important;border-bottom:1.2px solid #111!important}body.print-delivery-challan .dc-logo{width:24mm!important;max-height:12mm!important;margin-bottom:1mm!important}body.print-delivery-challan .dc-header strong{font-size:15px!important;letter-spacing:.04em!important}body.print-delivery-challan .dc-header span,body.print-delivery-challan .dc-header small,body.print-delivery-challan .dc-header b{font-size:8px!important;line-height:1.25!important}body.print-delivery-challan .delivery-challan-doc h2{font-size:13px!important;padding:1.5mm!important}body.print-delivery-challan .delivery-challan-doc h3{font-size:8.5px!important;margin:1mm 0 0!important;padding-bottom:.8mm!important}body.print-delivery-challan .dc-two p,body.print-delivery-challan .dc-grid p,body.print-delivery-challan .dc-checks p,body.print-delivery-challan .dc-signatures p{padding:1.5mm!important;gap:.6mm!important}body.print-delivery-challan .delivery-challan-doc span{font-size:6.8px!important;line-height:1.1!important}body.print-delivery-challan .delivery-challan-doc b{font-size:8px!important;line-height:1.15!important;overflow-wrap:anywhere!important}body.print-delivery-challan .dc-table{font-size:7.2px!important;table-layout:fixed!important}body.print-delivery-challan .dc-table th,body.print-delivery-challan .dc-table td{padding:1.2mm!important;line-height:1.28!important}body.print-delivery-challan .dc-notes{font-size:7.2px!important;line-height:1.25!important;margin:0!important;padding-left:5mm!important}body.print-delivery-challan .dc-qr-row{grid-template-columns:repeat(4,1fr)!important;gap:1.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important}body.print-turnkey-quotation .shell aside.sidebar,body.print-turnkey-quotation .topbar,body.print-turnkey-quotation footer,body.print-turnkey-quotation .turnkey-page>.metrics,body.print-turnkey-quotation .turnkey-page>.panel:not(.turnkey-quotation-panel){display:none!important}body.print-turnkey-quotation .shell{display:block!important;zoom:1!important}body.print-turnkey-quotation main{padding:0!important;background:#fff!important}body.print-turnkey-quotation .turnkey-quotation-panel{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:#fff!important}body.print-turnkey-quotation .turnkey-quotation-panel>.section-title{display:none!important}body.print-turnkey-quotation .turnkey-quotation-doc{border:0!important;border-radius:0!important;padding:0!important;gap:3mm!important;color:#000!important}body.print-turnkey-quotation .quote-head{grid-template-columns:32mm 1fr 42mm!important;gap:3mm!important;padding-bottom:2mm!important}body.print-turnkey-quotation .quote-head img{width:30mm!important;max-height:16mm!important}body.print-turnkey-quotation .quote-head strong{font-size:13px!important}body.print-turnkey-quotation .quote-head small,body.print-turnkey-quotation .quote-client-grid span{font-size:7px!important}body.print-turnkey-quotation .quote-client-grid{grid-template-columns:repeat(4,1fr)!important;gap:1.5mm!important}body.print-turnkey-quotation .quote-client-grid p{padding:1.5mm!important;border-radius:0!important}body.print-turnkey-quotation .quote-table{font-size:7.4px!important}body.print-turnkey-quotation .quote-table th,body.print-turnkey-quotation .quote-table td{padding:1.2mm!important}body.print-turnkey-quotation .quote-bottom{grid-template-columns:1fr 48mm!important;gap:3mm!important}body.print-turnkey-quotation .quote-notes,body.print-turnkey-quotation .quote-totals{border-radius:0!important;padding:2mm!important}body.print-turnkey-quotation .quote-notes,body.print-turnkey-quotation .quote-terms{font-size:7.2px!important;line-height:1.25!important}body.print-turnkey-quotation .quote-sign{gap:8mm!important;font-size:8px!important}body.print-job-work-quotation .shell aside.sidebar,body.print-job-work-quotation .topbar,body.print-job-work-quotation footer,body.print-job-work-quotation .panel:not(.turnkey-quotation-panel){display:none!important}body.print-job-work-quotation .shell{display:block!important;zoom:1!important}body.print-job-work-quotation main{padding:0!important;background:#fff!important}body.print-job-work-quotation .job-work-page{display:block!important}body.print-job-work-quotation .job-work-page>*:not(.turnkey-quotation-panel){display:none!important}body.print-job-work-saved .job-work-draft-document,body.print-job-work-draft .job-work-saved-document{display:none!important}body.print-job-work-quotation .turnkey-quotation-panel{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:#fff!important}body.print-job-work-quotation .turnkey-quotation-panel>.section-title{display:none!important}body.print-job-work-quotation .turnkey-quotation-doc{border:0!important;border-radius:0!important;padding:0!important;gap:3mm!important;color:#000!important}body.print-job-work-quotation .quote-head{grid-template-columns:32mm 1fr 42mm!important;gap:3mm!important;padding-bottom:2mm!important}body.print-job-work-quotation .quote-head img{width:30mm!important;max-height:16mm!important}body.print-job-work-quotation .quote-head h2{font-size:13px!important}body.print-job-work-quotation .quote-head p,body.print-job-work-quotation .quote-head small,body.print-job-work-quotation .quote-client-grid span{font-size:7px!important;margin:1mm 0!important}body.print-job-work-quotation .quote-client-grid{grid-template-columns:repeat(2,1fr)!important;gap:1.5mm!important}body.print-job-work-quotation .quote-client-grid p{padding:1.5mm!important;border-radius:0!important}body.print-job-work-quotation .quote-table{font-size:7.4px!important}body.print-job-work-quotation .quote-table th,body.print-job-work-quotation .quote-table td{padding:1.2mm!important}body.print-job-work-quotation .quote-notes{border-radius:0!important;padding:2mm!important;font-size:7.2px!important;line-height:1.25!important}body.print-delivery-challan .dc-qr-row div{min-height:23mm!important;padding:1.2mm!important;gap:1mm!important}body.print-delivery-challan .dc-qr-row svg{width:15mm!important;height:15mm!important}body.print-delivery-challan .dc-qr-row .dc-barcode svg{width:100%!important;height:9mm!important}body.print-delivery-challan .dc-attachments{font-size:7px!important;padding:1.3mm!important}body.print-delivery-challan .dc-signatures small{font-size:6.5px!important}.scanner-page{display:block!important}.print-area{border:0!important;box-shadow:none!important;padding:0!important;background:#fff!important}@page label-a4{size:A4;margin:0}body.print-qr-labels,body.print-qr-labels .shell,body.print-qr-labels main,body.print-qr-labels .scanner-page,body.print-qr-labels .print-area{width:210mm!important;max-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;box-shadow:none!important;border:0!important;zoom:1!important;transform:none!important;transform-origin:0 0!important}body.print-qr-labels .scanner-page{display:block!important;min-height:297mm!important}.print-mode-a4{width:210mm!important;min-height:297mm!important;margin:0!important;padding:0!important;page:label-a4;box-sizing:border-box!important}.print-mode-a4 .qr-label-pages{display:block!important;margin:0!important;padding:0!important;width:210mm!important}.print-mode-a4 .qr-label-page{display:block!important;position:relative!important;width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;page-break-after:always!important;break-after:page!important;overflow:hidden!important}.print-mode-a4 .qr-label-page:last-child{page-break-after:auto!important;break-after:auto!important}.print-mode-a4 .qr-label-card{width:99.1mm!important;height:67.7mm!important;page-break-inside:avoid!important;break-inside:avoid!important;border:.18mm solid #c9c9c9!important;border-radius:0!important;padding:0!important;gap:0!important;overflow:hidden!important;display:block!important;position:absolute!important;background:#fff!important;color:#000!important;box-sizing:border-box!important}.print-mode-a4 .qr-label-card:nth-child(1){left:5.9mm!important;top:13.1mm!important}.print-mode-a4 .qr-label-card:nth-child(2){left:105mm!important;top:13.1mm!important}.print-mode-a4 .qr-label-card:nth-child(3){left:5.9mm!important;top:80.8mm!important}.print-mode-a4 .qr-label-card:nth-child(4){left:105mm!important;top:80.8mm!important}.print-mode-a4 .qr-label-card:nth-child(5){left:5.9mm!important;top:148.5mm!important}.print-mode-a4 .qr-label-card:nth-child(6){left:105mm!important;top:148.5mm!important}.print-mode-a4 .qr-label-card:nth-child(7){left:5.9mm!important;top:216.2mm!important}.print-mode-a4 .qr-label-card:nth-child(8){left:105mm!important;top:216.2mm!important}@page thermal-label{size:70mm 45mm;margin:0}.print-mode-printer{width:70mm!important;margin:0!important;padding:0!important;page:thermal-label}.print-mode-printer .qr-label-pages,.print-mode-printer .qr-label-page{display:grid!important;grid-template-columns:70mm!important;gap:0!important;margin:0!important;padding:0!important}.print-mode-printer .qr-label-card{width:70mm!important;height:45mm!important;page-break-after:always!important;break-after:page!important;page-break-inside:avoid!important;break-inside:avoid!important;border:1px solid #111!important;border-radius:0!important;padding:1.2mm!important;gap:.3mm 1mm!important;overflow:hidden!important;background:#fff!important;color:#000!important;display:grid!important;grid-template-columns:1fr 12.5mm!important;grid-template-rows:3.6mm 3.4mm 3.4mm 3.8mm 3.6mm 3.5mm 3.5mm 3.3mm 5mm 6.6mm!important;grid-template-areas:"company company" "project qr" "client qr" "code qr" "panel qr" "room qr" "size qr" "finish finish" "edge edge" "barcode barcode"!important}.label-company{grid-area:company;font-size:7.4px;line-height:1;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #aaa;padding-bottom:.3mm;color:#000!important}.label-project{font-size:7px;line-height:1;font-weight:800;border-top:0;padding-top:0;min-width:0;overflow:hidden;color:#000!important}.label-project span{color:#000!important;font-weight:700}.label-project b{color:#000!important;font-weight:900}.qr-label-card .label-project:nth-of-type(1){grid-area:project}.qr-label-card .label-project:nth-of-type(2){grid-area:client}.qr-title{grid-area:code;min-width:0}.qr-title b{font-size:8.2px;line-height:1;font-weight:900;white-space:nowrap;color:#000!important}.qr-title span{font-size:6.7px;line-height:1;font-weight:800;text-align:right;white-space:nowrap;color:#000!important}.qr-label-card p{grid-area:panel;font-size:7.2px;line-height:1;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000!important}.qr-label-card small{font-size:6.8px;line-height:1;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000!important}.label-room{grid-area:room}.label-size{grid-area:size}.label-finish{grid-area:finish;text-align:left}.label-visible{grid-area:edge;text-align:left;font-size:7px!important;line-height:1!important;font-weight:800!important;color:#000!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-edge-map{grid-area:edge!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;border-top:1px solid #999!important;padding-top:.5mm!important;font-size:6.4px!important;line-height:1!important;gap:.6mm!important;color:#000!important;overflow:hidden!important}.label-edge-map span{display:grid!important;grid-template-rows:auto 1fr!important;gap:.2mm!important;white-space:normal!important;overflow:hidden!important}.label-edge-map b{font-size:5.6px!important;line-height:1!important;color:#000!important;text-transform:uppercase!important}.print-mode-a4 .label-safe-area{display:block!important;position:absolute!important;left:2mm!important;top:2mm!important;width:95.1mm!important;height:63.7mm!important;border:.18mm dashed #b7b7b7!important;box-sizing:border-box!important;pointer-events:none!important}.print-mode-a4 .label-company{position:absolute!important;left:2mm!important;top:2mm!important;width:95.1mm!important;height:4.8mm!important;border:0!important;border-bottom:.18mm solid #d5d5d5!important;padding:0!important;display:flex!important;align-items:center!important;font-size:8px!important;letter-spacing:0!important}.print-mode-a4 .label-project{position:absolute!important;left:2mm!important;width:70mm!important;height:4mm!important;margin:0!important;padding:0!important;border:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:2mm!important;font-size:6.6px!important;line-height:1!important;color:#000!important;white-space:nowrap!important;overflow:hidden!important}.print-mode-a4 .label-project:nth-of-type(1){top:7.2mm!important}.print-mode-a4 .label-project:nth-of-type(2){top:11.4mm!important}.print-mode-a4 .label-project span{font-size:6.4px!important;color:#000!important;font-weight:700!important}.print-mode-a4 .label-project b{font-size:6.8px!important;color:#000!important;font-weight:900!important;text-align:right!important;overflow:hidden!important;text-overflow:ellipsis!important}.print-mode-a4 .qr-art{position:absolute!important;left:74.2mm!important;top:7.2mm!important;width:22.8mm!important;height:22.8mm!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border:.22mm solid #111!important;border-radius:0!important;padding:.45mm!important;background:#fff!important;box-sizing:border-box!important}.print-mode-a4 .qr-art svg,.print-mode-a4 .qr-art canvas,.print-mode-a4 .qr-art img{width:21.7mm!important;height:21.7mm!important;max-width:21.7mm!important;max-height:21.7mm!important;display:block!important}.print-mode-a4 .qr-title,.print-mode-a4 .qr-label-card p,.print-mode-a4 .label-room,.print-mode-a4 .label-size,.print-mode-a4 .label-material,.print-mode-a4 .label-finish{position:absolute!important;left:2mm!important;width:70mm!important;margin:0!important;padding:0!important;border:0!important;display:block!important;line-height:1.15!important;color:#000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.print-mode-a4 .qr-title{top:16.2mm!important;height:5.8mm!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:2mm!important}.print-mode-a4 .qr-title b{font-size:8px!important;line-height:1.05!important;white-space:normal!important;overflow:hidden!important}.print-mode-a4 .qr-title span{font-size:6px!important;line-height:1!important;font-weight:900!important;text-align:right!important;white-space:nowrap!important}.print-mode-a4 .qr-label-card p{top:22.6mm!important;height:4.2mm!important;font-size:7.3px!important;font-weight:900!important}.print-mode-a4 .label-room{top:27mm!important;height:4mm!important;font-size:6.7px!important}.print-mode-a4 .label-size{top:31.2mm!important;height:4mm!important;font-size:6.7px!important}.print-mode-a4 .label-material{top:35.4mm!important;height:4mm!important;font-size:6.7px!important}.print-mode-a4 .label-finish{top:39.6mm!important;height:9.2mm!important;font-size:5.8px!important;white-space:normal!important;line-height:1.1!important}.print-mode-a4 .label-edge-map{display:grid!important;position:absolute!important;left:2mm!important;top:50.2mm!important;width:95.1mm!important;height:5.8mm!important;margin:0!important;padding:.6mm 0 0!important;border-top:.18mm solid #999!important;box-sizing:border-box!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.6mm!important;font-size:5.5px!important;line-height:1!important;color:#000!important;overflow:hidden!important}.print-mode-a4 .label-edge-map span{display:grid!important;grid-template-rows:auto 1fr!important;gap:.15mm!important;white-space:normal!important;overflow:hidden!important}.print-mode-a4 .label-edge-map b{font-size:5px!important;line-height:1!important;color:#000!important;text-transform:uppercase!important}.print-mode-a4 .barcode-art{display:block!important;position:absolute!important;left:2mm!important;top:57.1mm!important;width:95.1mm!important;height:8.2mm!important;margin:0!important;border:.18mm solid #111!important;border-radius:0!important;padding:.35mm!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important}.print-mode-a4 .barcode-art svg,.print-mode-a4 .barcode-art canvas,.print-mode-a4 .barcode-art img{width:100%!important;height:7.2mm!important;display:block!important}.print-mode-a4 .label-visible,.print-mode-a4 .label-footer,.print-mode-a4 .label-edge-summary{display:none!important}.print-mode-printer .qr-art{grid-area:qr;min-height:0!important;height:12.5mm!important;border:1px solid #111!important;border-radius:0!important;padding:.3mm!important}.print-mode-printer .qr-art svg,.print-mode-printer .qr-art canvas,.print-mode-printer .qr-art img{width:11.8mm!important;height:11.8mm!important}.print-mode-printer .label-edge-map{font-size:4.7px!important;line-height:1!important;gap:.35mm!important;padding-top:.35mm!important}.print-mode-printer .label-edge-map b{font-size:4px!important}.print-mode-printer .barcode-art{grid-area:barcode;height:6.6mm!important;border:1px solid #111!important;border-radius:0!important;padding:.2mm!important}.print-mode-printer .barcode-art svg,.print-mode-printer .barcode-art canvas,.print-mode-printer .barcode-art img{height:6mm!important;width:100%!important}.print-mode-printer .label-safe-area,.print-mode-printer .label-material,.print-mode-printer .label-edge-summary,.print-mode-printer .label-footer{display:none!important}}@media (max-width:1050px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid rgba(245,179,33,.32)}.brand{grid-template-columns:140px minmax(0,1fr);align-items:center}nav{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics,.workspace,.inventory-grid,.inventory-form,.hardware-grid,.hardware-entry-grid,.qr-label-grid,.dashboard-grid,.active-project-grid,.optimization-summary,.sheet-map-grid,.turnkey-scope-form,.turnkey-quote-text-grid,.turnkey-detail-form,.measurement-row,.turnkey-material-row,.material-line-grid,.visible-panel-line{grid-template-columns:1fr 1fr}.factory-ops-grid,.project-add-form,.project-summary-grid{grid-template-columns:1fr}.topbar{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:flex-start}}@media (max-width:720px){main{padding:10px}.topbar,.export-bar{align-items:stretch;flex-direction:column}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero h2{font-size:24px}.dashboard-project-picker,.dashboard-project-picker label{width:100%;justify-content:stretch;min-width:0}.metrics,.workspace,.grid-form,.module-form,.inventory-grid,.inventory-form,.hardware-grid,.hardware-entry-grid,.package-items,.packing-label-grid,.qr-label-grid,nav,.dashboard-grid,.active-project-grid,.optimization-summary,.sheet-map-grid,.sheet-map-legend,.turnkey-scope-form,.turnkey-quote-text-grid,.turnkey-detail-form,.measurement-row,.turnkey-material-row,.material-line-grid,.visible-panel-line,.job-work-optional-grid,.job-work-drawing-candidates,.job-work-cutlist-summary{grid-template-columns:1fr}.turnkey-detail-form .wide{grid-column:auto}.section-fields,.inventory-filter-bar,.factory-ops-grid,.project-form-section,.project-summary-grid{grid-template-columns:1fr}.topbar select{min-width:0;width:100%}.sidebar{padding:10px}.brand,.label-list{grid-template-columns:1fr}}.commercial-alert{border-left:4px solid #b7791f;background:#fff8e6}.commercial-alert p{margin:0;color:#6b4b12}.attention-panel{border-left:4px solid #b84545}.attention-panel td{vertical-align:top}.module-dimension-guide{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d7b466;background:#fff9e8}.module-dimension-guide small{display:block;margin-top:3px;color:#665633}.turnkey-detail-form>.turnkey-material-lines{grid-column:1/-1;width:100%;max-width:100%;min-width:0;overflow:hidden}.turnkey-material-lines label{min-width:0}.turnkey-material-lines select{width:100%;min-width:0}.board-line,.laminate-line,.finish-sub-line{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.edgeband-line,.visible-panel-line{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.measurement-required{display:inline-block;padding:3px 6px;border:1px solid #d58a8a;background:#fff2f2;color:#9c3030;font-weight:700}.mobile-scan-shell{min-height:100vh;background:#eef4f7;padding:12px;display:grid;gap:12px;max-width:560px;margin:0 auto;color:#092033}.mobile-scan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#10242d;color:#fff;border-radius:8px;padding:12px 14px;position:sticky;top:0;z-index:2}.mobile-scan-header div{display:grid;gap:2px}.mobile-scan-header b{font-size:18px}.mobile-scan-header span{font-size:12px;color:#cde3ec}.mobile-scan-header button,.mobile-scan-actions button,.panel-detail-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:#1f7a8c;color:#fff;font-weight:800;padding:11px 13px}.mobile-scan-card,.mobile-camera-card{background:#fff;border:1px solid #d9e4ea;border-radius:8px;padding:12px;display:grid;gap:12px;box-shadow:0 8px 24px #13303e14}.mobile-scan-card label,.mobile-camera-card label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#304455}.mobile-scan-card select,.mobile-scan-card input,.mobile-camera-card input{width:100%;min-width:0;border:1px solid #bfd0da;border-radius:8px;padding:12px;background:#fff;font-size:16px;color:#0e2230}.mobile-camera-card video{width:100%;aspect-ratio:4/3;background:#101820;border-radius:8px;object-fit:cover;border:1px solid #0e2230}.mobile-scan-actions{display:flex;gap:8px}.mobile-scan-actions.vertical-actions{display:grid;grid-template-columns:1fr;gap:8px}.mobile-edge-box{border:1px solid #d9e4ea;border-radius:8px;background:#f8fbfc;padding:10px;display:grid;gap:8px}.mobile-edge-box strong,.mobile-edge-box b{color:#10242d}.mobile-edge-box .check-option{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#203746}.mobile-edge-box input[type=checkbox]{width:18px;height:18px}.panel-detail-card p{margin:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.35}.panel-detail-card p b{color:#496173}.scan-detail-title{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #e1ebf0;padding-bottom:8px}.scan-detail-title strong{font-size:20px;color:#0c6273;word-break:break-word}.scan-detail-title span{font-size:12px;font-weight:900;background:#e9f8fb;color:#155e6d;border-radius:999px;padding:5px 8px;white-space:nowrap}.scan-warning,.scan-success{margin:0;border-radius:8px;padding:10px;font-weight:800}.scan-warning{background:#fff3f0;color:#a23820;border:1px solid #f1c4b8}.scan-success{background:#eefbf1;color:#26723f;border:1px solid #bee6c8}@media (max-width:520px){.mobile-scan-shell{padding:8px}.panel-detail-card p{grid-template-columns:96px minmax(0,1fr)}.mobile-scan-header{border-radius:0;margin:-8px -8px 0}}
