:root{--ink:#162e33;--muted:#61747b;--brand:#12575b;--line:#dce5e8;--bg:#f3f6f8;--white:#fff;font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}header{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:44px;padding:20px 4%;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:20px;font-weight:750}.brand small{font-size:11px;letter-spacing:1px;color:var(--muted)}.mark{display:grid;place-items:center;background:var(--brand);color:white;width:35px;height:35px;border-radius:8px;font-size:24px}nav{display:flex;gap:28px}nav a{color:#344a51;font-weight:650}.account{margin-left:auto;display:flex;gap:20px;align-items:center;font-size:14px}.account form{margin:0}main{max-width:1440px;margin:auto;padding:46px 4%;min-height:80vh}footer{max-width:1440px;margin:auto;padding:28px 4%;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}footer span{float:right}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 12px;overflow-wrap:anywhere}h2{font-size:21px;margin:0 0 18px}h3{font-size:16px}.muted,.help{color:var(--muted)}.help{font-size:14px;line-height:1.7}.eyebrow{font-size:14px;font-weight:700;color:var(--brand);margin:0 0 12px}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.compact{margin-bottom:16px}.compact h2{margin:0}.compact h2 span{font-size:14px;font-weight:400;margin-left:12px}.button,button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:12px 18px;font:inherit;font-weight:650;cursor:pointer;text-align:center;white-space:normal}.button:hover{text-decoration:none;filter:brightness(.96)}.primary{background:var(--brand);color:#fff}.secondary{background:white;border-color:#c1d1d5;color:var(--brand)}.small{font-size:14px;padding:8px 12px}.text-button{background:none;border:0;padding:0;color:var(--muted);font-size:14px;font-weight:400}.full{width:100%}.actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.project{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);padding:28px;border-radius:8px}.project-index{color:var(--muted);font-size:13px}.project h2{margin:18px 0 36px}.section{margin-top:36px}.list{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.list>a,.list>div{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink);border-bottom:1px solid var(--line)}.list>:last-child{border:0}small{display:block;color:var(--muted);font-size:13px;line-height:1.6;font-weight:400}.list small{margin-top:5px}.badge{display:inline-block;padding:6px 10px;background:#edf2f4;color:#52666e;font-size:13px;border-radius:5px;white-space:nowrap}.complete{background:#e5f3ee;color:#205c43}.partial{background:#fff1dc;color:#8a5411}.empty{padding:50px 30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #c4d3d7;border-radius:10px}.upload-layout{display:grid;grid-template-columns:minmax(400px,1.4fr) minmax(260px,1fr);gap:60px;align-items:start}.file-zone{background:#f7fafb;border:2px dashed #c8d9dd;border-radius:9px;padding:34px 22px;margin:26px 0;text-align:center}.file-zone input{background:white;text-align:left;font-size:14px}.file-zone p{color:var(--muted);font-size:14px}.steps{padding-left:24px}.steps li{padding:12px 0 18px 10px}.steps span{display:block;color:var(--muted);font-size:15px;margin-top:8px;line-height:1.6}label{display:block;font-size:14px;font-weight:650;margin-bottom:9px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #bfcdd3;border-radius:5px;font:inherit;color:var(--ink);background:white;min-height:44px}input[type=checkbox]{width:20px;min-height:20px}input[type=hidden]{display:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #429494;outline-offset:1px}.field-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px}.message{padding:18px 22px;border:1px solid #bfd6d8;background:#e9f4f3;border-radius:7px;margin:0 0 24px;line-height:1.7}.warning{background:#fff7e9;border-color:#e8d5b1;color:#755017}.error,.errorlist{color:#9b3039}.message.error{background:#fff0f0;border-color:#eab9bc}.errorlist{font-size:14px;list-style:none;padding:0}.analysis-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px;margin-bottom:15px}.analysis-bar form{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse;font-size:15px}th{background:#edf3f5;text-align:left;color:#50666e;font-size:13px;font-weight:650;padding:15px 14px;white-space:nowrap}td{padding:18px 14px;border-top:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}.edit-table{min-width:1000px;table-layout:fixed}.edit-table th:nth-child(1){width:17%}.edit-table th:nth-child(2){width:22%}.edit-table th:nth-child(3){width:8%}.edit-table th:nth-child(4){width:12%}.edit-table th:nth-child(5){width:10%}.edit-table th:nth-child(6){width:25%}.edit-table th:nth-child(7){width:6%}.edit-table td{padding:12px 7px}.edit-table input,.edit-table textarea{font-size:14px;padding:9px 7px}.preline{white-space:pre-line}.save-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:25px;padding:20px 0}.save-bar span{font-size:14px;color:var(--muted)}.filters{display:flex;gap:16px;align-items:end;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px}.filters label{margin:0;min-width:150px}.filters select,.filters input{margin-top:9px}.grow{flex:1}.pagination{display:flex;gap:25px;justify-content:center;margin:24px;color:var(--muted)}.narrow{max-width:700px;margin:auto}.login{max-width:470px;background:#fff;padding:40px;border:1px solid var(--line);border-radius:12px;margin:4vh auto}.receipt-summary{padding:25px;background:#e5f0f1;border-radius:8px;margin:25px 0}.receipt-summary>div{display:flex;justify-content:space-between;gap:15px}.receipt-summary span{font-size:14px}.receipt-summary b{display:block;font-size:24px;margin-top:8px}.audit{border-bottom:1px solid var(--line);padding:18px;background:#fff}.audit summary{cursor:pointer}.audit summary span{font-size:13px;color:var(--muted);margin-left:20px}.audit-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.panel>p{margin:0 0 23px}.panel .actions{margin-top:25px}
@media(max-width:850px){header{gap:18px;padding:16px 5%}.brand small{display:none}.account{font-size:13px;gap:12px}nav{order:3;width:100%;justify-content:space-between;font-size:14px}main{padding:30px 5%}h1{font-size:26px}.heading{align-items:start;flex-wrap:wrap;gap:12px}.upload-layout{grid-template-columns:1fr;gap:30px}.field-grid{grid-template-columns:1fr 1fr}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:130px}.filters .grow{flex-basis:100%}.project-grid{grid-template-columns:1fr}.save-bar{align-items:stretch;flex-direction:column}.receipt-summary>div{flex-wrap:wrap}.audit-columns{grid-template-columns:1fr}.analysis-bar{align-items:start}.compact h2 span{display:block;margin:8px 0}.panel{padding:22px}.login{padding:28px}.table-wrap{overflow:visible;background:none;border:0}.responsive-table,.edit-table{min-width:0;display:block;width:100%}table thead{display:none}table tbody{display:block}table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}table td{display:block;border:0;padding:8px 5px!important;white-space:normal}td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;font-weight:650;margin-bottom:5px}.edit-table input,.edit-table textarea{font-size:16px}.list>a,.list>div{padding:18px;flex-wrap:wrap}.list time{font-size:13px}.receipt-summary b{font-size:21px}}@media(max-width:450px){.field-grid{grid-template-columns:1fr}.account{margin-left:0;width:100%;justify-content:flex-end}.brand{font-size:18px}.actions{flex-wrap:wrap}footer span{float:none;display:block;margin-top:8px}}

.workspace header{position:sticky;top:0;z-index:30;min-height:78px;padding:16px 28px}.sidebar{position:fixed;left:0;top:78px;bottom:0;width:235px;overflow-y:auto;background:#fff;border-right:1px solid var(--line);padding:18px 12px;z-index:25}.workspace main,.workspace footer{margin-left:235px;max-width:none}.workspace main{padding:32px}.nav-group{margin-bottom:8px}.nav-group summary{cursor:pointer;font-weight:700;padding:12px;border-radius:7px;list-style:none}.nav-group summary:after{content:'⌄';float:right}.nav-group summary small{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}.nav-group a{display:block;font-size:14px;padding:10px 14px 10px 25px;margin:3px 0;color:#53676d;border-radius:6px}.nav-group.selected summary{color:var(--brand)}.nav-group a.active{color:var(--brand);background:#e3f0ef;font-weight:750;border-left:3px solid var(--brand)}.nav-group:last-child{border-top:1px solid var(--line);padding-top:14px}.menu-toggle{display:none}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.summary-grid>div{padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px}.summary-grid strong{display:block;font-size:23px;margin-top:8px}.filters{flex-wrap:wrap}.scroll-table{overflow:auto;background:white}.scroll-table table{min-width:1000px}.scroll-table thead{display:table-header-group}.scroll-table tbody{display:table-row-group}.scroll-table tr{display:table-row}.scroll-table td{display:table-cell}.scroll-table td:before{display:none}.history-note{padding:14px;background:#edf3f5;border-radius:8px}
@media(max-width:850px){.workspace header{padding:14px 5%;position:sticky;min-height:78px;gap:12px}.menu-toggle{display:inline-flex;margin-left:auto;padding:8px 12px}.workspace .account{width:auto;margin-left:auto}.workspace .brand small{display:none}.sidebar{display:none;top:0;bottom:0;width:min(300px,85vw);padding-top:145px;box-shadow:4px 0 20px #162e3326}.sidebar.open{display:block}.workspace main,.workspace footer{margin-left:0}.workspace main{padding:25px 5%}.summary-grid{grid-template-columns:1fr 1fr}.scroll-table td{padding:12px!important}.scroll-table tr{border:0}.scroll-table th{padding:12px}.filters label{min-width:140px}}

.nav-group summary{display:flex;align-items:center;gap:8px}.nav-group summary:after{margin-left:auto;float:none}.nav-group summary small{display:inline;margin:0;white-space:nowrap}
@media(max-width:850px){.sidebar{padding-top:110px}}

.project-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:24px 0}.project-tabs a{padding:12px 18px;border-bottom:3px solid transparent}.project-tabs a[aria-current="page"]{border-color:var(--brand);font-weight:750;background:#e3f0ef}.candidate-card{background:white;border:1px solid var(--line);border-radius:8px;padding:20px;margin:16px 0}.candidate-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.photo-preview{max-width:100%;max-height:320px;object-fit:contain}.check-label{display:flex;align-items:center;gap:10px}input[type=checkbox]{width:auto}.project-tabs{justify-content:flex-start}@media(max-width:850px){.candidate-grid{grid-template-columns:1fr}.project-tabs a{padding:10px 12px}}

.order-heading{display:block}.intake-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.intake-actions .button{flex-shrink:0;white-space:nowrap}.document-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.document-actions .button{font-size:13px;padding:8px 12px}.order-table table{min-width:900px}.order-table .button{white-space:nowrap}@media(max-width:850px){.order-table table{min-width:0}.intake-actions{justify-content:flex-start}}

.site-picker{display:flex;align-items:center;gap:14px;background:white;padding:18px;border:1px solid var(--line);border-radius:10px}.site-picker label{white-space:nowrap;font-weight:700}.site-picker select{flex:1;margin:0;min-width:0}.dashboard-stats>a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;color:var(--ink)}.dashboard-stats>a strong{display:block;font-size:26px;margin-top:8px}.elevation-slot{height:340px;display:grid;place-items:center;border:2px solid #c9d3d8;background:#f8fafb;border-radius:4px;color:#73838b;font-size:30px;font-weight:600}.progress-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.elevation-panel .help{margin-bottom:0}@media(max-width:850px){.site-picker{flex-wrap:wrap}.site-picker label{width:100%}.progress-panels{grid-template-columns:1fr}.elevation-slot{height:230px}.dashboard-stats{grid-template-columns:1fr 1fr}}

.elevation-panel{margin-top:24px}

.zone-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.zone-picker strong{margin-right:10px}.zone-picker .zone-active{background:var(--brand);color:white;border-color:var(--brand)}.elevation-stack{display:grid;gap:28px}.elevation-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;align-items:center}.elevation-row h3{font-size:19px;margin:0}.elevation-row .elevation-slot{height:160px;font-size:24px}@media(max-width:650px){.elevation-row{grid-template-columns:80px minmax(0,1fr);gap:12px}.elevation-row h3{font-size:15px}.elevation-row .elevation-slot{height:120px;font-size:20px}.zone-picker{gap:8px}.zone-picker strong{width:100%}}

.sidebar .nested-link{margin-left:24px;padding-left:18px;border-left:2px solid var(--line);font-size:13px}

.sidebar .nav-entry{display:block;padding:16px 12px;font-weight:700;color:var(--ink)}.sidebar .nav-entry.active{background:#e3eff0;border-radius:6px;color:var(--brand)}

.elevation-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));height:320px;gap:3px;padding:6px;touch-action:none;user-select:none}.grid-cell{width:100%;height:100%;min-width:0;min-height:0;padding:0;border-radius:2px;border:1px solid #b5c4c9;background:white}.grid-cell.is-done{background:#218077;border-color:#12575b}.grid-cell.is-done:after{content:"✓";font-size:18px;color:white}.grid-cell:focus-visible{outline:3px solid #e49d25;outline-offset:0}button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:650px){.elevation-grid{height:240px;gap:2px}.grid-cell.is-done:after{font-size:12px}}

.elevation-preview:hover{border-color:var(--brand);background:#edf5f4;text-decoration:none}.elevation-preview:focus-visible{outline:3px solid var(--brand);outline-offset:3px}

.demo-controls,.demo-toolbar,.demo-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.demo-controls label{flex:1;min-width:140px}.demo-toolbar label{display:flex;align-items:center;gap:8px}.demo-toolbar select{width:auto}.demo-canvas{border:1px solid #beced3;background:white;overflow:hidden;border-radius:8px}#demo-svg{display:block;width:100%;height:540px;touch-action:none;user-select:none}.demo-legend{font-size:13px;color:var(--muted)}#demo-detail{max-height:260px;overflow:auto;font-size:13px}.demo-object{cursor:pointer}.demo-object:focus{outline:none;filter:drop-shadow(0 0 3px #2465d0)}@media(max-width:650px){#demo-svg{height:390px}.demo-toolbar button{font-size:13px;padding:8px}.demo-controls label{min-width:40%}}

/* Compact elevation status actions */
.demo-action-card{background:#fff;border:1px solid #e1e9ef;border-radius:18px;padding:22px 24px;margin:20px 0 24px;box-shadow:0 4px 18px #23455d05}
.demo-selection-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.demo-selection-summary strong{font-size:16px;color:#263e50}.demo-selection-summary span{font-size:13px;color:#82919d;margin-left:auto}.demo-selection-summary #demo-clear{border:0;background:#f1f5f8;color:#647685;padding:7px 12px;font-size:13px;border-radius:8px}
.demo-state-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.demo-state-actions .demo-state-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;border:1px solid #cce6f8;border-radius:12px;background:#e6f4ff;color:#246187;font-size:16px;font-weight:650;box-shadow:none;transition:background .15s,transform .15s}.demo-state-actions .demo-state-button:hover{background:#ceeaff;border-color:#92cbed;transform:translateY(-1px)}.demo-state-actions .demo-state-button:focus-visible{outline:3px solid #75bbed;outline-offset:3px}.demo-state-actions .demo-save-button{background:#aaddff;border-color:#aaddff;color:#174e73}.demo-state-actions button:disabled{opacity:.5;transform:none;cursor:wait}.state-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.state-dot.pending{background:#93a5b1}.state-dot.working{background:#edaa49}.state-dot.complete{background:#41a584}
#demo-message{font-size:13px;color:#45677e;margin:14px 0 0}#demo-message:empty{display:none}.demo-selection-details{border-top:1px solid #edf1f5;margin-top:20px;padding-top:14px}.demo-selection-details summary{font-size:13px;color:#738493;cursor:pointer}.demo-legend{gap:18px;font-size:12px;color:#82919d;margin:12px 0}.demo-canvas{border-color:#dce5ec;border-radius:14px}
@media(max-width:650px){.demo-action-card{padding:16px}.demo-selection-summary span{width:100%;margin-left:0}.demo-state-actions{gap:8px}.demo-state-actions .demo-state-button{font-size:14px;min-height:48px;gap:5px;padding:8px 4px}}

.home-project-list{display:grid;gap:12px;max-width:880px;margin:24px 0}.home-project-list>a{display:flex;align-items:center;gap:20px;padding:25px;background:white;border:1px solid #dce6ed;border-radius:14px;text-decoration:none;color:#284653}.home-project-list>a:hover{border-color:#8ac5e8;background:#f8fcff}.home-project-list>a>span:last-child{margin-left:auto}.project-number{color:#91a7b5;font-size:15px}.home-subhead{display:flex;align-items:center;justify-content:space-between;margin:20px 0;color:#6d8290}.site-plan{display:grid;grid-template-columns:minmax(70px,1fr) minmax(120px,400px) minmax(70px,1fr);grid-template-rows:auto auto auto;gap:16px;max-width:800px;margin:30px auto;padding:20px;background:white;border:1px solid #e0e8ef;border-radius:20px}.plan-building{grid-area:2/2}.plan-building svg{width:100%;display:block}.plan-side{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.plan-side a{padding:13px 18px;border:1px solid #c5dfef;border-radius:10px;background:#edf7fe;color:#32637f;text-decoration:none;text-align:center}.plan-side a:hover{background:#d5ecfb}.plan-north{grid-area:1/2}.plan-west{grid-area:2/1;flex-direction:column}.plan-east{grid-area:2/3;flex-direction:column}.plan-south{grid-area:3/2}.home-materials{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.home-materials a{background:white;color:#536f7d;border:1px solid #d7e4ed;border-radius:13px;text-align:center;padding:22px 8px;font-size:19px;font-weight:650;text-decoration:none}.home-materials a.active{background:#e4f3ff;border-color:#98cbea;color:#205e86}.home-elevation-layout{display:grid;grid-template-columns:135px minmax(0,1fr);gap:20px;align-items:start}.home-stages{display:grid;gap:10px}.home-stages a{padding:17px 12px;border:1px solid #d9e5ed;border-radius:11px;background:white;color:#607786;text-align:center;text-decoration:none}.home-stages a.active{background:#dff1ff;color:#245d80;border-color:#9bccec;font-weight:700}.home-elevation-layout .panel{margin:0;min-width:0}.home-test-link{display:flex;gap:12px;align-items:center;margin-top:38px;font-size:13px}.home-test-link span{color:#8295a2}.sidebar .nav-group:last-child{margin-top:20px;border-top:1px solid #e0e8ee;padding-top:14px}
@media(max-width:650px){.site-plan{gap:8px;padding:12px;grid-template-columns:60px minmax(90px,1fr) 60px}.plan-side a{padding:10px 6px;font-size:13px}.home-materials{gap:8px}.home-materials a{font-size:16px;padding:17px 5px}.home-elevation-layout{grid-template-columns:1fr}.home-stages{display:flex;flex-wrap:wrap;gap:8px}.home-stages a{flex:1;padding:12px 8px;white-space:nowrap}.home-project-list>a{padding:20px 15px;gap:12px}}

.bundle-toolbar{gap:6px;margin:10px 0}.bundle-toolbar button{padding:9px 11px;font-size:13px}.bundle-toolbar #demo-zoom{font-size:12px;color:#7c929f}.bundle-view #demo-svg{height:auto;aspect-ratio:5/3;min-height:280px}.bundle-view .demo-action-card{padding:16px;margin:14px 0 0;box-shadow:none}.bundle-view .demo-selection-summary{margin-bottom:12px}.bundle-view .demo-state-actions{gap:8px}.bundle-view .demo-state-button{min-height:44px;font-size:14px}.bundle-view .demo-selection-summary span{display:none}.bundle-view .demo-selection-details{margin-top:14px}
.overview-caption{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:#617b8b;margin:12px 0}.overview-badge{border-radius:6px;background:#edf2f7;padding:5px 9px;font-size:12px}.overview-legend{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;font-size:13px;color:#486677}.overview-legend span{display:flex;align-items:center;gap:7px}.overview-legend i{width:12px;height:12px;border-radius:3px}.overview-view #overview-svg{display:block;width:100%;height:auto;aspect-ratio:5/3;min-height:280px;touch-action:none;user-select:none;cursor:grab}.overview-view #overview-svg:active{cursor:grabbing}#overview-detail{font-size:13px;color:#416580;margin:12px 0}#overview-detail:empty{display:none}.overview-view [data-overview-detail]:focus-visible{outline:none;filter:drop-shadow(0 0 2px #1e3c67)}
