@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap";:root{--panel:#3d6b4f;--panel-deep:#2a4f3a;--ink:#0f1a14;--ink-soft:#eef6f0;--line:#ffffff47;--selected:#1f3a2a;--footer:#15261c;--field:#fff;--shadow:0 24px 60px #0a181066;--radius:18px;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#142018;font-family:IBM Plex Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 20% 10%,#78b48233,#0000 35%),linear-gradient(160deg,#1e3a2a 0%,#142018 55%,#0c1610 100%);min-height:100vh}button,input{font:inherit}.app-frame{place-items:center;height:100dvh;min-height:100dvh;padding:18px;display:grid;overflow:hidden}.panel{background:color-mix(in srgb, var(--panel) 92%, white 8%);border-radius:var(--radius);width:min(520px,100%);height:min(860px,100dvh - 36px);max-height:calc(100dvh - 36px);box-shadow:var(--shadow);border:1px solid #ffffff2e;flex-direction:column;display:flex;overflow:hidden}.panel-bare{background:#6e9c7e}.panel-header{text-align:center;padding:calc(18px + env(safe-area-inset-top,0px)) 18px 10px;color:var(--ink)}.panel-bare .panel-header{color:var(--ink-soft)}.panel-header h1{letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:700}.company,.subtitle{margin:4px 0 0;font-size:1.02rem;font-weight:500}.subtitle{opacity:.9}.panel-bare .subtitle,.panel-bare .company{color:#ffffffeb}.search-wrap{padding:6px 14px 10px}.search{width:100%;color:var(--ink-soft);background:0 0;border:1.5px solid #ffffffb3;border-radius:8px;outline:none;padding:10px 12px}.search::placeholder{color:#ffffffbf}.section-banner{color:#fff;text-align:center;letter-spacing:.08em;background:#142018;padding:8px 12px;font-size:.78rem;font-weight:600}.panel-body{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 88%, #2f5a40) 0%, var(--panel-deep) 100%);flex:auto;min-height:0;overflow:auto}.panel-bare .panel-body{background:0 0}.panel-footer{background:var(--footer);padding-bottom:env(safe-area-inset-bottom,0px);flex:none}.bottom-bar{grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:10px 4px 12px;display:grid}.bar-btn{appearance:none;color:#f3f5ff;cursor:pointer;background:0 0;border:0;justify-items:center;gap:4px;padding:6px 2px;font-size:.78rem;font-weight:500;display:grid}.bar-btn:disabled{opacity:.35;cursor:not-allowed}.bar-icon{place-items:center;width:30px;height:30px;display:grid}.main-menu{margin:0;padding:12px 0 0;list-style:none}.main-menu-row{appearance:none;color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff38;align-items:center;gap:16px;width:100%;padding:20px;font-size:1.22rem;font-weight:600;display:flex}.menu-dot{opacity:.85;background:#fff;border-radius:50%;flex:none;width:12px;height:12px}.install-block{justify-items:center;gap:10px;margin:18px 18px 0;display:grid}.install-btn{appearance:none;color:#1f6b3a;cursor:pointer;background:#fff;border:0;border-radius:10px;padding:12px 22px;font-size:1rem;font-weight:700;box-shadow:0 8px 20px #0000002e}.install-btn:disabled{opacity:.6;cursor:wait}.install-hint{text-align:center;color:#ffffffd9;max-width:28rem;margin:0;font-size:.78rem;line-height:1.35}.install-hint.installed{color:#b5e6c3;margin:16px 18px 0}.copyright{text-align:center;color:#ffffffbf;margin:12px 16px 8px;font-size:.72rem}.select-list,.job-list,.door-list,.summary-list{margin:0;padding:0;list-style:none}.select-row,.job-row,.door-row{appearance:none;border:0;border-bottom:1px solid var(--line);color:#fff;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;min-height:52px;padding:14px 16px;display:flex}.select-row.selected,.job-row.selected,.door-row.selected{background:var(--selected)}.select-label{flex:1;font-size:1rem;font-weight:500}.select-list--pictured .select-row{align-items:center;gap:18px;min-height:96px;padding:16px}.select-list--pictured .select-label{letter-spacing:-.01em;font-size:1.28rem;font-weight:650;line-height:1.25}.select-list--pictured .thumb,.thumb--large{width:72px;min-height:80px}.badge,.count-badge{text-align:center;background:#14182873;border-radius:999px;min-width:2rem;padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:700}.job-row{justify-content:space-between}.job-name{font-size:1.02rem;font-weight:600}.door-count{opacity:.9;font-family:IBM Plex Mono,monospace;font-size:.78rem}.form-grid{gap:12px;padding:18px 16px 8px;display:grid}.form-grid label{color:#fff;grid-template-columns:88px 1fr;align-items:center;gap:10px;font-weight:500;display:grid}.form-grid input,.add-door-form input{background:var(--field);color:var(--ink);border:0;border-radius:8px;outline:none;width:100%;padding:11px 12px}.ghost-btn{appearance:none;color:#1f6b3a;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:14px 12px;font-weight:600}.ghost-btn.compact{white-space:nowrap;padding:10px 12px}.add-door-bar{background:#0000001f;padding:12px 14px}.add-door-form{grid-template-columns:1fr auto;gap:8px;display:grid}.door-num{min-width:56px;font-family:IBM Plex Mono,monospace;font-weight:600}.door-details{text-align:left;gap:2px;display:grid}.door-line{font-weight:600}.door-sub{opacity:.85;font-size:.82rem}.door-row.rich{align-items:stretch;gap:0;min-height:0;padding:0;display:flex}.door-row.rich.selected{background:var(--selected)}.row-plus{appearance:none;color:#fff;cursor:pointer;background:#2f9e44;border:0;flex:0 0 44px;place-items:center;width:44px;font-size:1.4rem;font-weight:700;display:grid}.door-main{appearance:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.thumb-spacer{flex:0 0 36px;width:36px}.door-row.rich .thumb,.door-row.rich .thumb-spacer{flex:0 0 56px;width:56px}.door-row.rich .thumb svg{width:44px;height:auto}.door-row.rich .door-line{font-size:1.12rem}.modal-backdrop{z-index:40;background:#0a0e188c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#eef1fb;border-radius:16px;width:min(360px,100%);padding:8px 0 12px;box-shadow:0 20px 50px #00000059}.modal-card h2{text-align:center;color:#10131f;margin:0;padding:14px 18px 10px;font-size:1.15rem}.modal-option{appearance:none;color:#1f6b3a;cursor:pointer;text-align:center;background:0 0;border:0;border-top:1px solid #283c782e;width:100%;padding:14px 18px;font-size:1.05rem;font-weight:600}.modal-option:disabled{opacity:.4;cursor:not-allowed}.modal-option.cancel{color:#5a6478}.modal-hint{text-align:center;color:#5a6478;margin:4px 18px 0;font-size:.78rem}.door-name-card{color:#fff;background:#15261c;padding-bottom:0;overflow:hidden}.door-name-card h2{color:#fff;padding-bottom:2px}.door-name-sub{text-align:center;opacity:.8;margin:0;padding:0 18px 12px;font-size:.85rem}.door-name-input{color:#fff;background:#00000040;border:1.5px solid #ffffffa6;border-radius:8px;outline:none;width:calc(100% - 36px);margin:0 18px 16px;padding:12px 14px;font-size:1.05rem;font-weight:600;display:block}.door-name-actions{border-top:1px solid #ffffff2e;grid-template-columns:1fr 1fr;display:grid}.door-name-btn{appearance:none;color:#8fd4a4;cursor:pointer;background:0 0;border:0;padding:16px 12px;font-size:1.05rem;font-weight:700}.door-name-btn+.door-name-btn{border-left:1px solid #ffffff2e}.door-name-btn.primary{color:#b5e6c3}.job-copy-card{color:#fff;background:#15261c;width:min(400px,100%);padding-bottom:0;overflow:hidden}.job-copy-card h2{color:#fff;padding-bottom:2px}.job-copy-form{gap:10px;padding:0 18px 16px;display:grid}.job-copy-form label{color:#fff;grid-template-columns:72px 1fr;align-items:center;gap:10px;font-size:.95rem;font-weight:500;display:grid}.job-copy-form input{color:#fff;background:#00000040;border:1.5px solid #ffffffa6;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:1rem}.job-copy-form input::placeholder{color:#ffffff73}.step-progress{color:#fffc;padding:8px 16px;font-size:.78rem;font-weight:500}.list-toolbar{flex-wrap:wrap;gap:8px;padding:10px 14px 0;display:flex}.chip{appearance:none;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600}.chip.active{background:#ffffff2e;border-color:#ffffff8c}.qty-form{gap:16px;padding:20px 16px;display:grid}.qty-form label{color:#fff;grid-template-columns:100px 1fr;align-items:center;gap:12px;font-weight:600;display:grid}.qty-form input{color:#10131f;background:#fff;border:0;border-radius:8px;outline:none;width:100%;padding:12px;font-size:1.1rem}.empty-list{color:#fffc;text-align:center;padding:24px 16px}.thumb{flex:none;place-items:center;width:36px;display:grid}.thumb--large{flex:0 0 72px;width:72px}.thumb img{object-fit:contain;background:#f4f2ed;border-radius:2px;width:28px;height:auto;max-height:44px;display:block;box-shadow:0 0 0 1px #00000014}.thumb--large img,.select-list--pictured .thumb img{width:48px;max-height:80px}.door-row.rich .thumb img{width:44px;max-height:68px}.report{color:#fff;padding:14px}.report-hero{background:#0000002e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.report-hero-text{flex:1;min-width:0}.report-hero h2{margin:0;font-size:.98rem;line-height:1.25}.report-hero-meta,.report-hero p{opacity:.9;margin:2px 0 0;font-size:.78rem;line-height:1.25}.report-stats{flex-flow:row;flex:none;align-items:stretch;gap:6px;display:flex}.report-stats div{text-align:center;background:#ffffff1f;border-radius:8px;min-width:52px;padding:4px 8px}.report-stats strong{font-size:.95rem;line-height:1.1;display:block}.report-stats span{opacity:.85;white-space:nowrap;font-size:.62rem}.report-section{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:12px}.report-section:last-child{border-bottom:0}.report-section h3{align-items:center;gap:10px;margin:0 0 10px;font-size:1rem;display:flex}.report-section-count{background:#00000040;border-radius:999px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.report-subhead{opacity:.9;flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 0 6px;font-size:.82rem;font-weight:600;display:flex}.report-subhead-note{opacity:.75;font-size:.72rem;font-weight:500}.summary-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.summary-table{gap:0;font-size:.85rem;display:grid}.summary-table-head,.summary-table-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) 72px minmax(72px,.8fr);align-items:start;gap:10px;padding:8px 0;display:grid}.summary-table-head{text-transform:uppercase;letter-spacing:.03em;opacity:.85;font-size:.75rem;font-weight:700}.summary-qty-col{text-align:center}.summary-qty{text-align:center;font-family:IBM Plex Mono,monospace;font-weight:700}.summary-doors{word-break:break-word;font-family:IBM Plex Mono,monospace;font-weight:600}.report-empty,.report-empty-row{opacity:.75;margin:0;padding:10px 0;font-size:.88rem}.options-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid}.option-card{appearance:none;color:#0f1a14;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:10px;align-content:start;gap:6px;min-height:78px;padding:10px 8px;display:grid;box-shadow:0 2px 8px #0000001f}.option-card:disabled,.option-card.muted{opacity:.45;cursor:not-allowed}.option-card-title{color:#1f6b3a;font-size:.78rem;font-weight:700;line-height:1.15}.option-card-value{word-break:break-word;font-size:.82rem;font-weight:600;line-height:1.25}.door-notes-input{color:#fff;width:calc(100% - 36px);font:inherit;resize:vertical;background:#00000040;border:1.5px solid #ffffffa6;border-radius:8px;outline:none;min-height:96px;margin:0 18px 16px;padding:12px 14px;display:block}.door-notes-input::placeholder{color:#ffffff8c}.report-estimator{opacity:.9;margin:2px 0 0;font-size:.78rem}.print-orientation-hint{color:#ffffffe6;background:#ffffff1f;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:.78rem;line-height:1.35}.pocket-hint{color:#ffffffd9;margin:12px 16px 4px;font-size:.82rem;line-height:1.35}.pocket-selected-title{color:#fff;margin:18px 16px 6px;font-size:.9rem;font-weight:700}.pocket-line-row{align-items:center;gap:8px}.pocket-delete{flex:none;margin-right:10px;padding:10px 12px}.pocket-frame-table .summary-table-head,.pocket-frame-table .summary-table-row{grid-template-columns:minmax(0,1.8fr) 72px minmax(40px,.4fr)}@media print{.print-orientation-hint{display:none!important}}.door-schedule-notes{grid-column:1/-1}.door-schedule{gap:8px;display:grid}.door-schedule-item{background:#ffffff14;border-radius:10px;grid-template-columns:minmax(88px,120px) 1fr;gap:10px;padding:10px;display:grid}.door-schedule-num{border-right:1px solid #ffffff2e;align-content:start;gap:4px;padding-top:2px;padding-right:8px;display:grid}.door-schedule-num-label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.65rem;font-weight:700}.door-schedule-num-list{word-break:break-word;font-family:IBM Plex Mono,monospace;font-size:.88rem;font-weight:700;line-height:1.35}.door-schedule-qty{opacity:.85;font-size:.72rem;font-weight:600}.door-schedule-count{opacity:.75;margin:6px 0 0;font-size:.75rem}.door-schedule-fields{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 10px;display:grid}.door-schedule-field{gap:1px;min-width:0;display:grid}.door-schedule-label{opacity:.75;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.door-schedule-value{word-break:break-word;font-size:.8rem;font-weight:500}@media (width<=600px){.app-frame{height:100dvh;min-height:100dvh;padding:0}.panel{width:100%;height:100%;max-height:100%;box-shadow:none;border-radius:0}.panel-footer{padding-bottom:max(env(safe-area-inset-bottom,0px), 0px)}.options-grid{grid-template-columns:repeat(2,1fr)}}@media print{@page{size:11in 8.5in;margin:.35in}@page{size:letter landscape;margin:.35in}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;width:auto!important;height:auto!important;overflow:visible!important}.app-frame{width:auto!important;height:auto!important;padding:0!important;display:block!important;overflow:visible!important}.panel{width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;display:block!important;overflow:visible!important}.panel-header,.search-wrap,.panel-footer,.step-progress{display:none!important}.panel-body{background:#fff!important;height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}.report{padding:0 0 32px!important;overflow:visible!important}.report,.summary-list li,.summary-table,.door-schedule-item{color:#000!important}.report-hero,.report-stats div,.report-section-count,.door-schedule-item{color:#000!important;background:#f2f2f2!important}.report-hero{break-inside:avoid;page-break-inside:avoid;border-radius:4px!important;align-items:center!important;margin-bottom:6px!important;padding:4px 8px!important}.report-hero h2{margin:0!important;font-size:.88rem!important}.report-hero-meta,.report-hero p,.report-estimator{margin:1px 0 0!important;font-size:.68rem!important}.report-stats{flex-direction:row!important;gap:4px!important;display:flex!important}.report-stats div{border-radius:4px!important;min-width:44px!important;padding:2px 6px!important}.report-stats strong{font-size:.82rem!important}.report-stats span{font-size:.55rem!important}.report-section{break-inside:auto;page-break-inside:auto;border-color:#ccc!important;margin-bottom:10px!important;padding-bottom:6px!important;overflow:visible!important}.report-section.has-doors+.report-section{break-before:page;page-break-before:always}.report-subhead{break-after:avoid;page-break-after:avoid;margin:6px 0 4px!important}.summary-table{break-inside:auto;page-break-inside:auto;font-size:.78rem!important}.summary-table-head,.summary-table-row{break-inside:avoid;page-break-inside:avoid;border-color:#ccc!important;padding:4px 0!important}.door-schedule{display:block!important;overflow:visible!important}.door-schedule-item{border:1px solid #ccc;box-sizing:border-box!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-column-break-inside:avoid!important;grid-template-columns:84px 1fr!important;width:100%!important;margin:0 0 3px!important;padding:3px 5px!important;display:inline-grid!important;overflow:visible!important}.door-schedule-num{border-right-color:#ccc!important;gap:1px!important;padding-right:5px!important}.door-schedule-num-label{font-size:.52rem!important}.door-schedule-num-list{font-size:.68rem!important;line-height:1.2!important}.door-schedule-qty{font-size:.58rem!important}.door-schedule-fields{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1px 5px!important}.door-schedule-label{opacity:1;letter-spacing:.02em;color:#444!important;font-size:.52rem!important}.door-schedule-value{font-size:.62rem!important;line-height:1.2!important}.door-schedule-count{break-inside:avoid;page-break-inside:avoid;width:100%;margin:2px 0 8px;font-size:.6rem;color:#444!important;display:block!important}.report-section h3{margin:0 0 4px!important;font-size:.85rem!important}.report-subhead{margin:4px 0 2px!important;font-size:.7rem!important}.summary-table{font-size:.7rem!important}.summary-table-head,.summary-table-row{padding:3px 0!important}}
