
    :root{--navy:#14263c;--navy-2:#1c3551;--ink:#243448;--muted:#758394;--line:#e3e8ed;--paper:#fff;--wash:#f5f7f9;--gold:#b69a69;--green:#3d806a;--red:#a9544e;--shadow:0 12px 32px rgba(20,38,60,.06)}
    *{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b9c9d8;outline-offset:2px}
    .shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:var(--navy);color:#fff;padding:27px 18px;display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:12px;padding:0 7px}.brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:19px;color:#e4d2b0}.brand-name{font-family:Georgia,serif;letter-spacing:.12em;font-size:15px}.brand-sub{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#b5c0cb;margin-top:1px}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8da0b3;padding:0 10px;margin-bottom:9px}.nav-item{width:100%;display:flex;justify-content:space-between;align-items:center;color:#dbe2e9;background:transparent;border:0;border-radius:8px;padding:11px 10px;text-align:left}.nav-item.active{background:#263e58;color:#fff}.count{font-size:11px;color:#b8c3ce}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:16px 8px 0;color:#aab8c6;font-size:12px}.sidebar-foot strong{display:block;color:#f1f3f5;font-weight:500;margin-bottom:4px}
    main{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,54px);position:sticky;top:0;z-index:5}.crumb{color:var(--muted);font-size:13px}.crumb strong{color:var(--ink);font-weight:600}.top-actions{display:flex;align-items:center;gap:10px}.top-actions .btn{min-height:38px;white-space:nowrap;box-shadow:0 1px 2px rgba(20,38,60,.06)}.save-status{font-size:12px;color:var(--green);margin-right:8px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:7px;font-weight:600;font-size:13px}.btn:hover{background:#f8fafb}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-2)}.btn.subtle{border-color:transparent;background:transparent;color:#586a7b}.btn.danger{color:var(--red)}
    .content{max-width:1350px;margin:0 auto;padding:32px clamp(20px,4vw,54px) 70px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8b7754;font-weight:700}.heading h1{font:400 clamp(28px,3vw,36px)/1.15 Georgia,serif;color:var(--navy);margin:7px 0 6px}.heading p{margin:0;color:var(--muted);font-size:14px}.heading-actions{display:flex;gap:8px;align-items:center;padding-top:13px}
    .layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:22px;align-items:start}.form-column{display:grid;gap:17px}.card{background:var(--paper);border:1px solid #e7ebef;border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;gap:12px;padding:19px 22px 15px;border-bottom:1px solid #edf0f3}.step{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#f3eee5;color:#826e4e;font-size:12px;font-weight:700}.card-head h2{font:400 19px Georgia,serif;color:var(--navy);margin:0}.card-head p{font-size:12px;color:var(--muted);margin:2px 0 0}.card-body{padding:21px 22px 24px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px 14px}.field{grid-column:span 4;min-width:0}.field.span-6{grid-column:span 6}.field.span-8{grid-column:span 8}.field.span-12{grid-column:span 12}.field label,.label{display:block;font-size:12px;color:#536273;font-weight:650;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #dce3e9;border-radius:6px;background:#fff;color:var(--ink);padding:10px 11px;min-height:42px}.field textarea{resize:vertical;min-height:82px}.field input::placeholder,.field textarea::placeholder{color:#a8b2bd}.option-row{display:flex;gap:9px;flex-wrap:wrap}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #dde4ea;border-radius:6px;color:#59697a;font-size:12px;min-height:38px}.choice input:checked+span{border-color:#73889b;background:#f3f6f8;color:var(--navy);box-shadow:inset 0 0 0 1px #73889b}.choice input:focus-visible+span{outline:3px solid #b9c9d8;outline-offset:2px}.choice span:before{content:"";width:9px;height:9px;border-radius:50%;border:1px solid #aab5bf}.choice input:checked+span:before{border:3px solid var(--navy);background:white}.helper{font-size:11px;color:#8995a0;margin-top:6px}.divider{height:1px;background:#edf0f2;margin:20px 0}.floor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.floor-box{padding:12px;border:1px solid #e4e9ed;border-radius:7px;background:#fbfcfd}.floor-box label{display:block;font-size:11px;color:#617181;margin-bottom:7px}.floor-box input{width:100%;border:1px solid #dce3e9;border-radius:5px;padding:8px 9px;min-height:38px}.floor-box.empty{display:flex;align-items:center;color:#99a4ae;font-size:12px}
    .side-column{display:grid;gap:16px;position:sticky;top:94px}.side-card{background:#fff;border:1px solid #e7ebef;border-radius:10px;padding:17px 18px}.side-card h3{font:400 17px Georgia,serif;color:var(--navy);margin:0 0 11px}.summary-list{display:grid;gap:11px}.summary-line{display:flex;justify-content:space-between;gap:14px;font-size:12px}.summary-line span{color:#82909c}.summary-line strong{font-weight:600;text-align:right;color:#364b60;max-width:60%;overflow-wrap:anywhere}.status-pill{display:inline-flex;align-items:center;gap:6px;color:#7a6746;background:#f6f1e7;border-radius:20px;padding:5px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.status-pill:before{content:"";width:6px;height:6px;background:#ad8f59;border-radius:50%}.progress-track{height:5px;background:#edf0f2;border-radius:5px;margin:9px 0 6px;overflow:hidden}.progress-track span{display:block;height:100%;background:#8092a2;border-radius:5px;transition:width .2s}.progress-label{font-size:11px;color:#8a96a1}.tip{font-size:12px;line-height:1.6;color:#697989;margin:0}.notice{background:#f8f6f1;border:1px solid #eee6d7;padding:11px 12px;border-radius:7px;font-size:11px;color:#736b5d;line-height:1.5}.notice strong{color:#554d41}
    .draw-wrap{border:1px solid #dfe5e9;border-radius:8px;overflow:hidden;background:#fbfcfc}.draw-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #e8ecef;background:#fff}.draw-toolbar span{font-size:11px;color:#788693}.draw-toolbar div{display:flex;gap:7px}.draw-toolbar button{border:1px solid #e0e5e9;background:#fff;border-radius:5px;padding:6px 9px;font-size:11px;color:#536476}.canvas-box{position:relative}.canvas-box:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#e5eaed 1px,transparent 1px),linear-gradient(90deg,#e5eaed 1px,transparent 1px);background-size:20px 20px;opacity:.8}.canvas-box canvas{position:relative;display:block;width:100%;height:300px;touch-action:none;cursor:crosshair}.draw-caption{padding:9px 12px;border-top:1px solid #e8ecef;background:#fff;color:#8b97a2;font-size:11px}
    .mobile-projects-toggle{display:none}.project-list{display:grid;gap:8px;margin-top:11px;max-height:40vh;overflow:auto}.project-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:7px;background:#20374f}.project-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#c1a978}.project-info{min-width:0;flex:1}.project-info b{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-info small{font-size:10px;color:#b0bfcb}.project-row button{color:#d2dae1;border:0;background:transparent;font-size:11px}.empty-list{font-size:12px;color:#b3bfca;padding:10px}
    .footer-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);padding:10px 16px;background:#14263c;color:#fff;border-radius:7px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:20;box-shadow:0 8px 26px #12243b33}.toast.show{transform:translate(-50%,0);opacity:1}
    .calc-box{grid-column:span 12;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calc-item{padding:14px 15px;border:1px solid #e1e7ec;background:#f8fafb;border-radius:7px}.calc-item span{display:block;font-size:11px;color:#708091;margin-bottom:4px}.calc-item strong{font:400 22px Georgia,serif;color:var(--navy)}.calc-item small{display:block;color:#8a96a1;font-size:10px;margin-top:4px}.landing-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;border:1px solid #e4e9ed;border-radius:7px;padding:10px 12px}.landing-row strong{font-size:12px;color:#526476}.landing-row select{border:1px solid #dce3e9;border-radius:5px;background:#fff;padding:8px;font:12px inherit;color:var(--ink)}
    #print-report{display:none}.print-page{font-family:Georgia,"Times New Roman",serif;color:#263646;position:relative;min-height:10.25in;padding:.25in .35in;page-break-after:always;break-after:page}.print-page:last-child{page-break-after:auto;break-after:auto}.report-brand{color:#ad8c53;text-align:center;font:italic 29px Georgia,serif;letter-spacing:.05em}.report-brand small{display:block;font:7px Arial,sans-serif;letter-spacing:.48em;margin-top:-4px}.report-title{text-align:center;font-size:22px;font-weight:400;margin:13px 0 17px}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;font-size:11px;margin-bottom:18px}.report-meta div{display:flex;gap:8px}.report-meta b{font-weight:400;white-space:nowrap}.report-section-title{text-align:center;letter-spacing:.28em;font:12px Arial,sans-serif;margin:17px 0 12px}.report-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-dim{border:1px solid #d9dfe3;padding:10px 12px;text-align:center;min-height:58px}.report-dim small{display:block;font:9px Arial,sans-serif;letter-spacing:.12em;color:#657383;margin-bottom:6px}.report-dim strong{font-weight:400;font-size:17px}.report-table{width:100%;border-collapse:collapse;font-size:11px}.report-table th,.report-table td{border-bottom:1px solid #e1e5e8;padding:7px 9px;text-align:left}.report-table th{font:9px Arial,sans-serif;letter-spacing:.13em;color:#637383}.report-table .num{text-align:right}.report-total td{border-top:1px solid #8b969f;font-weight:700}.report-note{text-align:center;font:10px Arial,sans-serif;color:#667482;margin-top:16px}.report-highlight{color:#aa874e;font-weight:700}.opening-list{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px;margin-top:12px;font:10px Arial,sans-serif}.opening-list div{padding:4px 6px;border-bottom:1px solid #e4e8eb}
    @media(max-width:1020px){.layout{grid-template-columns:1fr}.side-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.side-column .side-card:first-child{grid-row:span 2}.shell{grid-template-columns:214px minmax(0,1fr)}}@media(max-width:740px){.shell{grid-template-columns:1fr}.sidebar{padding:13px 16px;gap:0}.brand{padding:0}.brand-mark{width:34px;height:34px}.sidebar nav,.sidebar-foot{display:none}.mobile-projects-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:10px 12px;background:#1c3551;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:7px;font-size:13px;font-weight:600}.mobile-project-count{color:#e4d2b0;font-size:12px}.sidebar.mobile-projects-open nav{display:block;margin-top:10px}.sidebar.mobile-projects-open nav .nav-label,.sidebar.mobile-projects-open nav .nav-item{display:none}.sidebar.mobile-projects-open .project-list{margin:0;max-height:48vh;padding-bottom:6px}.topbar{height:auto;min-height:60px;padding:10px 16px;flex-direction:column;align-items:stretch;justify-content:center;gap:10px}.save-status{display:none}.content{padding:23px 15px 40px}.heading{display:block}.heading-actions{padding-top:15px}.heading-actions .btn{flex:1}.field,.field.span-6,.field.span-8{grid-column:span 6}.field.span-12{grid-column:span 12}.side-column{grid-template-columns:1fr}.side-column .side-card:first-child{grid-row:auto}.card-body{padding:17px 15px 19px}.card-head{padding:16px}.floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions{gap:8px;flex-wrap:wrap}.top-actions .btn{padding:8px 11px;font-size:12px}.crumb{font-size:12px}}@media(max-width:420px){.field,.field.span-6,.field.span-8{grid-column:span 12}.option-row{gap:6px}.choice span{padding:8px}.heading-actions{flex-wrap:wrap}}
    .secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.secondary-grid .field{grid-column:span 1}
    .packet-modal{position:fixed;inset:0;z-index:30;background:#101c2ddd;display:none;flex-direction:column}.packet-modal.open{display:flex}.packet-modal-head{background:#fff;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.packet-modal-head strong{font:19px Georgia,serif;color:var(--navy)}.packet-modal-actions{display:flex;gap:8px}.packet-screen{overflow:auto;padding:18px;display:grid;justify-items:center;align-content:start}.packet-screen iframe{width:min(100%,1100px);height:calc(100vh - 90px);min-height:520px;border:0;background:#fff;box-shadow:0 12px 40px #0005}.packet-loading{color:#fff;padding:30px;font-size:15px}.packet-error{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));background:#fff;border-radius:10px;padding:23px;box-shadow:0 18px 60px #0005}.packet-error h3{font:21px Georgia,serif;color:var(--navy);margin:0 0 9px}.packet-error p{font-size:14px;color:#627282;line-height:1.55;margin:0 0 17px}
  
.project-row.current{outline:1px solid #b69a69}.project-row button{min-height:44px;padding:8px}.secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field-error{display:block;color:#a9544e;font-size:12px;margin-top:5px}.field input[aria-invalid=true]{border-color:#a9544e}.measurement-group{border-top:1px solid var(--line);padding-top:18px}.measurement-group h3{font-size:14px;margin:0 0 12px}.save-error{color:#a9544e!important}.phase-note{font-size:12px;color:var(--muted);margin:12px 0 0}.mobile-project-count{display:flex;gap:10px}.side-column{position:static}.landing-config{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:740px){.secondary-grid,.landing-config{grid-template-columns:1fr}.top-actions .btn{min-height:44px}.mobile-projects-toggle{min-height:44px}.save-status{display:inline;font-size:11px}.grid>.field{grid-column:span 12}.side-column{display:none}}
[hidden] { display: none !important; }

.drawing-actions{margin-top:24px}.btn.primary{background:#14263c;color:white}.drawing-actions p,#download-error{color:#a32e2e}#drawing-dialog{border:0;border-radius:16px;padding:20px;width:min(900px,96vw);max-height:94dvh;overflow:auto;background:#edf0f3}#drawing-dialog::backdrop{background:#14263ccc}.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.drawing-toolbar h2{font-family:Georgia,serif;font-weight:400;margin:0}.drawing-toolbar>div{display:flex;gap:8px}#drawing-preview{max-width:740px;margin:auto;box-shadow:0 5px 20px #14263c22}#drawing-preview svg{display:block;width:100%;height:auto}#platform-section input[readonly]{background:#f5f7f8}button:disabled{opacity:.6;cursor:wait}@media(max-width:600px){#drawing-dialog{padding:12px}.drawing-toolbar{align-items:stretch;flex-direction:column}.drawing-toolbar>div .btn{flex:1;padding:12px;font-size:14px}}
