:root{--bg:#f5f4ef;--paper:#fffefa;--ink:#263029;--muted:#7d8279;--line:#e4e6dd;--olive:#77816a;--deep:#303c32;--lime:#dce7c8;--red:#ae5745;--shadow:0 16px 50px #2530270c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button{border:0;background:none;color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;font-size:32px;letter-spacing:5px}.boot small{font-size:13px;letter-spacing:0;margin-top:18px}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:var(--deep);color:#e2e7dc;padding:31px 19px 18px;display:flex;flex-direction:column;z-index:30}.brand{font-size:27px;letter-spacing:4px;font-weight:650;padding:0 13px}.brand span{display:block;font-size:9px;letter-spacing:3px;color:#a9b5a4;margin-top:2px}.nav-scroll{overflow-y:auto;margin-top:30px;scrollbar-width:thin;flex:1}.nav-group{font-size:10px;letter-spacing:1.5px;color:#91a18e;padding:21px 15px 8px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 14px;border-radius:8px;color:#bfc8bb;margin-bottom:3px;font-size:13px}.nav-item:hover{background:#ffffff0b;color:white}.nav-item.active{background:var(--lime);color:#283528;font-weight:650}.nav-item .count{margin-left:auto;font-size:11px;background:#ffffff12;border-radius:5px;padding:0 5px}.sidebar-foot{border-top:1px solid #ffffff14;padding:16px 10px 0;font-size:11px;color:#a0ae9a}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:#d8dfcd;color:#3d4b36;width:32px;height:32px;font-size:11px;font-weight:700}.sidebar-foot .profile{display:flex;gap:10px;align-items:center;color:#e6eadd}.sidebar-foot small{display:block;color:#94a28e;font-size:10px;margin-top:1px}.workspace{margin-left:228px;min-height:100vh}.topbar{height:78px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffefa99;gap:20px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb b{font-weight:500;color:#444d41}.top-actions{display:flex;align-items:center;gap:18px}.search{display:flex;align-items:center;gap:9px;background:#eaece4;border-radius:8px;padding:8px 12px}.search input{width:170px;border:0;background:transparent;font-size:12px;color:var(--ink)}.search kbd{font:10px sans-serif;color:#899080;border:1px solid #d5d9ce;border-radius:3px;padding:1px 4px}.icon-button{padding:7px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#e9eddf}.mobile-menu{display:none}.demo-strip{padding:7px 38px;background:#eeefe5;font-size:10px;color:#767d69;display:flex;gap:12px;justify-content:space-between}.demo-strip b{font-weight:500;color:#667257}.demo-strip button{font-size:10px;text-decoration:underline}.main{max-width:1530px;margin:auto;padding:34px 38px 50px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:15px}.eyebrow{font-size:10px;letter-spacing:2px;color:#859075;text-transform:uppercase;margin-bottom:5px}h1{font-size:29px;font-weight:650;letter-spacing:-1.1px;margin:0;line-height:1.35}h2{font-size:17px;letter-spacing:-.4px;margin:0}h3{font-size:14px;margin:0}p{margin:0}.subtitle{font-size:12px;color:var(--muted);margin-top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:7px;background:var(--deep);color:#f6f7ef;font-size:12px;font-weight:550;white-space:nowrap}.button svg{width:16px;height:16px}.button:hover{filter:brightness(1.12)}.button.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.button.light{background:#e9eee0;color:#4d6143}.button.danger{background:#fff1ec;color:var(--red);border:1px solid #ead0c6}.button.small{padding:6px 10px;font-size:11px}.button.ghost{background:transparent;color:var(--muted);padding:5px 0}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.hero{background:#e5e9db;border:1px solid #dce3d1;display:grid;grid-template-columns:1fr auto;padding:27px 30px;border-radius:12px;margin-bottom:23px;position:relative;overflow:hidden}.hero h2{font-size:22px;line-height:1.5;font-weight:500;letter-spacing:-.8px}.hero h2 b{font-weight:700}.hero p{color:#78836f;font-size:12px;margin-top:8px}.hero-mark{font-family:Georgia,serif;font-size:80px;font-style:italic;color:#c5ceb9;align-self:center;line-height:1;margin-right:20px;letter-spacing:-8px;user-select:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px 22px}.metric .label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7b8375}.metric .label svg{width:17px;height:17px;color:#929b86}.metric .value{font-size:29px;font-weight:600;letter-spacing:-1px;margin-top:10px}.metric .value span{font-size:13px;font-weight:400;color:#8b9184;margin-left:5px}.metric .hint{font-size:10px;color:#87937a;margin-top:6px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:12px}.section-head small{font-size:11px;color:var(--muted);font-weight:400;margin-left:8px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:27px}.project-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;overflow:hidden;cursor:pointer;transition:.15s}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#bdc8b0}.project-art{height:112px;position:relative;background:#dedfd5;overflow:hidden}.project-art .wall{position:absolute;inset:0;background:linear-gradient(110deg,#e9e6da 0 56%,#d1d0c5 56% 100%)}.project-art .window{position:absolute;width:26%;height:72%;left:18%;top:0;background:linear-gradient(90deg,#b4c0b8,#e9ede2);border:7px solid #f1efe4;box-shadow:18px 12px 0 #33333305}.project-art .floor{position:absolute;left:0;bottom:0;width:100%;height:26%;background:#b6ae9d;clip-path:polygon(0 70%,100% 0,100% 100%,0 100%)}.project-art .block{position:absolute;width:31%;height:24%;bottom:14%;right:12%;background:#777f70;box-shadow:4px 5px 0 #414a3b22;border-radius:2px}.project-art .plant{position:absolute;width:14px;height:38px;background:#75826c;right:14%;bottom:37%;border-radius:90% 0 90% 0;transform:rotate(-20deg)}.project-art.tone-1{filter:sepia(.25)}.project-art.tone-2{filter:hue-rotate(28deg) brightness(.93)}.art-label{position:absolute;left:16px;top:12px;font-size:9px;letter-spacing:1px;color:#707366;background:#fffefa9c;padding:3px 7px;border-radius:3px}.project-body{padding:18px}.project-body .tag-row{margin-bottom:9px}.project-body h3{font-size:16px;letter-spacing:-.4px}.project-body .loc{font-size:11px;color:var(--muted);margin-top:5px}.progress{height:4px;background:#e9ece1;border-radius:8px;margin-top:18px;overflow:hidden}.progress i{height:100%;display:block;background:#879873;border-radius:8px}.project-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8a9180;margin-top:9px}.pill{display:inline-flex;align-items:center;border-radius:4px;padding:3px 7px;font-size:10px;white-space:nowrap;background:#edf0e5;color:#66785b}.pill.blue{background:#e9edf1;color:#677e92}.pill.amber{background:#f3eddf;color:#a28a5d}.pill.red{background:#f6e9e4;color:#a3634f}.pill.gray{background:#eee;color:#7a7a73}.split{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:22px}.panel.no-pad{padding:0;overflow:hidden}.task-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #eceee6;align-items:flex-start}.task-row:last-child{border-bottom:0;padding-bottom:0}.check-button{width:18px;height:18px;flex-shrink:0;border:1px solid #d2d9c9;border-radius:5px;margin-top:2px;background:white;display:grid;place-items:center;padding:0}.check-button.done{background:#8c9b7e;color:white;border-color:#8c9b7e}.check-button svg{width:12px;height:12px}.task-info{flex:1}.task-info p{font-size:12px}.task-info small{font-size:10px;color:#8c9385;margin-top:4px;display:block}.task-time{font-size:10px;color:#858e7b;white-space:nowrap;margin-top:3px}.mini-project{display:flex;align-items:center;gap:10px;font-size:11px;padding:13px 0;border-bottom:1px solid var(--line)}.mini-project:last-child{border:0}.mini-project>div{flex:1}.mini-project small{font-size:10px;color:var(--muted)}.initial{width:31px;height:31px;border-radius:8px;background:#eceee3;display:grid;place-items:center;color:#7b8a6d;font-size:11px}.toolbar{display:flex;justify-content:space-between;gap:14px;margin-bottom:18px;align-items:center}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:6px 12px;background:var(--paper);color:#7b8374}.filter.active{background:var(--deep);color:white;border-color:var(--deep)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;font-weight:500;color:#858c7e;background:#f0f2e9;font-size:10px;padding:13px 16px;border-bottom:1px solid var(--line)}td{padding:16px;border-bottom:1px solid #edf0e5;color:#4a5445}tr:last-child td{border-bottom:0}tr.clickable:hover td{background:#fafbf5;cursor:pointer}.table-title{font-weight:550;color:#35412e}.table-sub{font-size:10px;color:#929889}.table-actions{display:flex;gap:5px}.empty{text-align:center;padding:65px 20px;color:#8a9380}.empty svg{height:30px;width:30px;margin-bottom:12px}.empty h3{font-size:14px;color:#606d54;margin-bottom:6px}.empty p{font-size:12px}.empty .button{margin-top:18px}.board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;overflow:auto}.board-col{background:#ecefe4;border-radius:9px;padding:13px;min-height:300px}.board-col>h3{font-size:12px;margin-bottom:14px;color:#69765e}.board-card{background:var(--paper);padding:15px;border:1px solid #dde3d3;border-radius:7px;margin-bottom:10px;cursor:pointer}.board-card small{display:block;font-size:10px;color:#87927b;margin-top:8px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);gap:1px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.weekday{background:#eef0e7;padding:10px;text-align:center;font-size:11px;color:#7c8772}.day{background:var(--paper);min-height:116px;padding:10px;overflow:hidden}.day.other{background:#f6f7f1;color:#c0c7b7}.day.today .day-num{background:#526447;color:white;border-radius:50%;width:24px;height:24px;display:inline-grid;place-items:center}.day-num{font-size:11px}.cal-item{font-size:10px;padding:4px 6px;background:#e7eddd;color:#556c44;border-radius:3px;margin-top:5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item.office{background:#e7edf1;color:#60778b}.cal-item.done{text-decoration:line-through;opacity:.6}.date-label{font-size:20px;font-weight:550;letter-spacing:-.5px}.detail-hero{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.detail-hero h1{font-size:26px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:23px}.detail-field{font-size:12px}.detail-field small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin:20px 0}.tab{font-size:12px;padding:12px 0;color:#8c9581;border-bottom:2px solid transparent}.tab.active{color:#42543a;border-color:#6e855b;font-weight:600}.notice{background:#edf1e6;border:1px solid #dfe7d5;border-radius:8px;padding:13px 16px;font-size:12px;color:#77876a;margin:15px 0}.notice.warn{background:#f7f1e4;border-color:#e8ddc4;color:#977d4a}.modal-backdrop{position:fixed;inset:0;background:#1e2a2355;backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--paper);border-radius:13px;box-shadow:0 30px 100px #17251844;width:620px;max-width:100%;max-height:90vh;display:flex;flex-direction:column}.modal.wide{width:1050px}.modal-head{padding:23px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:18px}.modal-content{padding:24px 26px;overflow:auto}.modal-foot{padding:17px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#7c8773}.field input,.field select,.field textarea,.inline-input{width:100%;border:1px solid #dfe5d5;padding:10px 12px;background:white;border-radius:6px;color:#45543b;font-size:12px;min-height:40px}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #a6b897;outline-offset:0}.field small{font-size:10px;color:#8d9783}.field.checkbox{flex-direction:row;align-items:center}.field.checkbox input{width:16px;min-height:16px}.field-error{color:var(--red);font-size:12px;margin-bottom:12px}.estimate-table input,.estimate-table select{padding:7px;border:1px solid #e0e5d7;border-radius:4px;width:100%;font-size:11px;background:white}.estimate-table th,.estimate-table td{padding:8px}.estimate-table .line-name{min-width:150px}.estimate-table .num{width:85px}.estimate-table .line-status{width:86px}.estimate-totals{width:310px;max-width:100%;margin:20px 0 0 auto;background:#f0f3e8;border-radius:8px;padding:17px}.total-line{display:flex;justify-content:space-between;font-size:12px;margin:7px 0}.total-line.grand{border-top:1px solid #d8e0ce;padding-top:12px;font-size:18px;font-weight:600}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.document-card{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:9px}.document-card h3{margin:15px 0 7px}.document-card p{font-size:11px;color:var(--muted)}.checklist-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.checklist-item label{flex:1;font-size:12px}.timeline{border-left:1px solid #d7dfcc;margin:22px 10px;padding-left:23px}.timeline-item{position:relative;padding:0 0 24px}.timeline-item:before{content:'';position:absolute;width:8px;height:8px;background:#9daf8d;border:3px solid var(--paper);box-sizing:content-box;border-radius:50%;left:-30px;top:3px}.timeline-item small{font-size:10px;color:var(--muted)}.timeline-item p{font-size:12px;margin-top:5px}.toggle{display:flex;justify-content:space-between;padding:13px 0;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.toggle input{accent-color:#70865f;width:18px;height:18px}.client-view{max-width:720px;margin:auto;background:#fffdf8;border-radius:12px;border:1px solid var(--line);overflow:hidden}.client-brand{padding:24px 28px;border-bottom:1px solid var(--line);font-size:19px;letter-spacing:3px}.client-content{padding:28px}.client-content h1{font-size:27px;margin:15px 0}.mobile-nav{display:none}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.coverage-card{padding:20px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.coverage-card h3{margin:9px 0}.coverage-card p{font-size:12px;color:#858f7a}.storage-line{font-size:11px;color:#88957a;margin-top:15px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:#e5e9dd}.login-card{width:min(390px,100%);min-width:0;padding:38px;background:var(--paper);border-radius:13px;border:1px solid var(--line);box-shadow:var(--shadow)}.login-card h1{margin:15px 0 8px}.login-card .field{margin-top:17px}.login-card .button{width:100%;margin-top:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;background:#29382c;color:#f7f9ef;padding:12px 22px;border-radius:8px;font-size:12px;z-index:150;pointer-events:none;transition:.2s;max-width:90vw;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}.search-results{display:grid;gap:8px}.search-result{text-align:left;border:1px solid var(--line);border-radius:7px;padding:12px}.search-result:hover{background:#eff3e7}.search-result small{display:block;color:var(--muted);font-size:10px}.note-text{white-space:pre-wrap;font-size:12px;color:#69765f}.muted{color:var(--muted)}.text-right{text-align:right}.space-top{margin-top:20px}.truncate{max-width:240px;overflow:hidden;text-overflow:ellipsis}.no-data{color:#a0a793}.stack{display:grid;gap:16px}.print-only{display:none}@media(min-width:1500px){.main{padding-top:42px}.hero{padding:32px}.project-art{height:145px}}@media(max-width:1200px){.sidebar{width:200px}.workspace{margin-left:200px}.main{padding:28px 26px}.topbar{padding:0 26px}.demo-strip{padding:7px 26px}.metrics{gap:10px}.metric{padding:16px}.metric .value{font-size:25px}.project-grid{gap:12px}.project-body{padding:15px}.split{gap:15px}.hero-mark{font-size:60px}.search input{width:120px}}@media(max-width:950px){.project-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.day{min-height:90px;padding:6px}.cal-item{padding:3px;font-size:9px}.coverage-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:.2s;width:235px}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vw #10201655}.workspace{margin:0}.topbar{height:62px;padding:0 18px}.breadcrumb{display:none}.mobile-menu{display:flex}.top-actions{gap:8px}.search{padding:7px 9px}.search input{width:130px}.search kbd{display:none}.demo-strip{padding:7px 18px;font-size:9px;gap:8px}.demo-strip .store-note{display:none}.main{padding:24px 18px 95px}h1{font-size:25px}.page-title{align-items:flex-start;margin-bottom:21px}.page-title .button{font-size:11px;padding:8px 11px}.subtitle{font-size:11px;max-width:240px}.hero{padding:23px 21px;margin-bottom:17px}.hero h2{font-size:19px}.hero p{font-size:10px}.hero-mark{font-size:48px;margin-right:0;margin-left:10px}.metrics{gap:10px;margin-bottom:25px}.metric{padding:15px}.metric .value{font-size:27px}.metric .label{font-size:10px}.metric .hint{font-size:9px}.project-grid{grid-template-columns:1fr 1fr;gap:10px}.project-art{height:90px}.project-body{padding:13px}.project-body h3{font-size:13px}.project-body .loc{font-size:9px}.project-meta{font-size:9px}.art-label{font-size:8px;left:10px}.section-head h2{font-size:16px}.section-head small{display:none}.panel{padding:18px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fffefaf5;border-top:1px solid var(--line);padding:9px 5px max(9px,env(safe-area-inset-bottom));z-index:40;backdrop-filter:blur(10px)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;color:#8a9580;font-size:9px;padding:0 13px}.mobile-nav button.active{color:#3a522e}.mobile-nav svg{width:20px;height:20px}.toolbar{align-items:flex-start;flex-direction:column}.filters{gap:5px}.filter{padding:5px 9px;font-size:11px}.date-label{font-size:18px}.month-grid{min-width:630px}.calendar-scroll{overflow:auto}.modal-backdrop{padding:10px}.modal{max-height:94vh}.modal-head{padding:18px}.modal-content{padding:18px}.modal-foot{padding:14px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.detail-hero{padding:20px}.detail-hero h1{font-size:23px}.tabs{gap:20px;overflow:auto;white-space:nowrap}.doc-grid{grid-template-columns:1fr}.client-content{padding:22px}.hero .button{display:none}#toast{bottom:83px}.board{grid-template-columns:repeat(5,220px)}.role-select{max-width:80px;font-size:10px}.table-wrap th,.table-wrap td{padding:12px}.client-content h1{font-size:23px}}@media print{body{background:#fff}.sidebar,.topbar,.demo-strip,.main,.mobile-nav,#overlay,#toast{display:none!important}.print-only{display:block!important;color:#222;font-family:Arial,'Noto Sans KR',sans-serif}.print-page{padding:20mm 15mm}.print-page h1{font-size:28px}.print-page table{font-size:11px;white-space:normal;margin-top:25px}.print-page th{background:#f0f1ec!important;-webkit-print-color-adjust:exact}.print-page th,.print-page td{padding:9px;border-bottom:1px solid #ccc}.print-head{display:flex;justify-content:space-between;border-bottom:2px solid #303c32;padding-bottom:20px}.print-page .estimate-totals{break-inside:avoid}.print-note{margin-top:35px;color:#777;font-size:10px}@page{size:A4;margin:0}}

@media(max-width:700px){.page-title{flex-direction:column;align-items:stretch;gap:15px}.page-title>.row{justify-content:flex-end}.page-title h1{word-break:keep-all}.demo-strip{flex-wrap:wrap;gap:3px 10px}.demo-strip .store-note{display:block;font-size:9px;order:3;width:100%}.hero h2{word-break:keep-all}.page-title .subtitle{max-width:none}}

.staff-header{padding:25px 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.staff-header .brand span{color:#87957c}.customer-main{padding:35px 18px;min-height:100vh;background:#edf0e6}.customer-main .client-view{max-width:850px}.scoped-record{padding:17px 0;border-bottom:1px solid var(--line)}.scoped-record:last-child{border-bottom:0}.customer-main .stack .panel{box-shadow:none}.staff-app .main{padding-bottom:50px}@media(max-width:700px){.staff-header{padding:18px}.staff-header .brand{font-size:22px}.staff-header .brand span{font-size:8px}.customer-main{padding:0}.customer-main .client-view{border:0;border-radius:0}.scoped-record .row{align-items:flex-start;flex-direction:column}}
/* v0.3 connected workflow and reference-grounded workspace shell */
.company-logo{width:110px;height:72px;display:block}.brand .company-logo{margin:auto;width:142px;height:93px}.desktop-logo,.reference-nav{display:none}.flow-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#edf1f5;border:1px solid #dfe5eb;padding:18px 20px;border-radius:10px;margin:20px 0}.flow-strip>div{margin-right:auto}.flow-strip small{display:block;font-size:11px;color:#6c7780;margin-top:6px}.consult-grid,.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.consult-card h2{font-size:18px;line-height:1.5;margin:20px 0 8px}.consult-card .note-text{margin:18px 0}.consult-stats{display:flex;gap:18px;color:#6a7480;font-size:12px;padding:14px 0;border-top:1px solid #e6e9ed;margin:15px 0}.transcript{padding:20px;background:#f5f7f9;border-radius:8px;margin-top:20px;line-height:1.9;font-size:14px}.transcript p{padding:12px 0;border-bottom:1px solid #e2e6eb;white-space:pre-wrap}.action-review{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.action-review small{display:block;color:#7b8288;margin-top:7px}.action-review input{width:20px;height:20px}.db-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.db-tile{display:flex;align-items:center;gap:14px;background:white;border:1px solid #dde3e9;padding:17px;border-radius:9px;text-align:left;color:#37424c;cursor:pointer}.db-tile.selected{border-color:#5482bd;background:#eef5fc}.db-tile svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6}.db-tile small{display:block;margin-top:7px;font-size:11px;color:#7a8791}.hub-toolbar select{max-width:240px;padding:10px;border:1px solid #dce2e8;border-radius:6px;background:white}.work-board{display:flex;gap:16px;overflow-x:auto;align-items:flex-start}.board-lane{background:#edf0f4;border-radius:10px;padding:16px;min-width:250px;flex:1}.board-lane h3{font-size:13px;margin-bottom:15px}.board-lane h3 small{margin-left:8px;color:#8a949e}.board-card{display:block;border:1px solid #dfe4e9;background:white;text-align:left;padding:16px;width:100%;border-radius:7px;margin-bottom:12px;color:#37434a;cursor:pointer}.board-card small,.board-card span{display:block;margin-top:10px;font-size:11px;color:#75818a}.client-v3{max-width:1000px}.client-brand small{float:right;font-size:10px;letter-spacing:1px}.client-cover{padding:48px;background:#e8e9e1;color:#373c32}.client-cover h1{font-size:30px;margin:12px 0}.client-cover p{font-size:14px;margin-bottom:30px}.client-cover .row{font-size:12px;margin-top:12px}.client-v3:fullscreen{overflow:auto;background:#fff;max-width:none;padding:24px}.client-section{padding:25px 0;border-bottom:1px solid #e8e9e4}.client-section h2{font-size:19px;margin-bottom:20px}.report-card{border:1px solid #e5e7e2;border-radius:9px;padding:22px;margin-top:16px}.report-card h3{margin:18px 0 12px}.document-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border:1px solid #e3e7e5;border-radius:8px;margin-top:13px}.document-card small{display:block;color:#7a847c;font-size:12px;margin:9px 0}.document-card svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;margin-right:10px}.final-card{padding:24px;background:#f4f5f0;border:1px solid #e3e6dd;border-radius:9px;margin-top:16px}.final-card>span{font-size:11px;color:#71816a}.final-card h3{margin:10px 0 20px}.final-card dl{display:grid;grid-template-columns:100px 1fr;gap:13px;font-size:13px}.final-card dt{color:#7d8778}.final-card dd{margin:0}.client-footer{text-align:center;color:#8b958c;font-size:11px;line-height:2;padding:40px 0 12px}.document-preview{padding:25px;line-height:1.8}.document-preview h1{font-size:25px;margin:20px 0}.share-text{width:100%;height:350px;padding:20px;border:1px solid #dce2e8;border-radius:8px;line-height:1.8;resize:vertical}.reference-nav{gap:4px;align-items:stretch}.reference-nav button{border:none;border-bottom:3px solid transparent;background:transparent;padding:0 13px;color:#5a636b;font-size:13px;white-space:nowrap;cursor:pointer}.reference-nav button.active{color:#222f3c;border-bottom-color:#283846;font-weight:700}
@media(min-width:1250px){body{background:#f3f5f8}.sidebar{top:80px;width:205px}.sidebar .brand{display:none}.sidebar .nav-group:first-child,.sidebar .nav-group:first-child~.nav-item:nth-child(-n+10){display:none}.workspace{margin-left:205px;padding-top:80px}.topbar{position:fixed;top:0;left:0;right:0;height:80px;z-index:40;padding:0 28px;border-bottom:1px solid #e0e5ea;gap:24px}.desktop-logo{display:block;flex-shrink:0}.reference-nav{display:flex;flex:1;height:100%}.topbar .breadcrumb{display:none}.topbar .search{display:none}.main{max-width:1500px}.page-title h1{font-size:28px}.button:not(.secondary):not(.ghost):not(.light):not(.danger):not(.tab){background:#356eae;border-color:#356eae}.nav-item.active{background:#edf3fa;color:#315e8d}.demo-strip{background:#edf2f7}.project-card,.panel,.metric{border-radius:9px}.hero{border-radius:9px}}
@media(max-width:700px){.consult-grid,.summary-grid{grid-template-columns:1fr}.db-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-strip{padding:14px;gap:8px}.flow-strip>div{width:100%;margin-bottom:8px}.flow-strip .button{flex:1;min-width:110px}.db-tile{padding:12px;gap:8px;font-size:12px}.db-tile svg{width:18px}.action-review{align-items:flex-start;flex-direction:column}.client-cover{padding:26px 22px}.client-cover h1{font-size:25px}.client-v3 .client-content{padding:22px}.document-card{align-items:flex-start;flex-direction:column}.client-brand small{font-size:8px}.hub-toolbar select{max-width:100%;width:100%}.hub-toolbar>.row{width:100%}.share-text{height:300px}.consult-card h2{font-size:17px}.client-cover .row{gap:10px;flex-wrap:wrap}.company-logo{width:110px;height:72px}}
.project-connected-nav{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#eaf0f6;border:1px solid #dce4ed;border-radius:8px;padding:14px 18px;margin-bottom:22px}.project-connected-nav>b{font-size:12px;margin-right:auto}
.share-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.share-select{max-height:350px;overflow:auto}.share-select .toggle{gap:12px}.share-select small{display:block;font-size:11px;color:#7b8690;margin-top:7px}.contractor-chip{display:block;width:fit-content;padding:2px 5px;background:#eee8f6;color:#777082;border-radius:4px;font-size:9px;margin-top:3px}@media(max-width:700px){.share-layout{grid-template-columns:1fr}.share-select{max-height:230px}}
.sidebar .brand{background:#fff;border-bottom:1px solid #e2e7eb;padding:16px}.sidebar .brand .company-logo{background:transparent}.sidebar{background:#fff;color:#3c4955}.sidebar .nav-group{color:#82909b}.sidebar .nav-item{color:#596774}.sidebar .nav-item.active{color:#315e8d;background:#edf3fa}.sidebar .profile{color:#394955}.sidebar .profile small,.sidebar .storage-line{color:#81909b}.sidebar .sidebar-foot{border-top:1px solid #e4e9ee}
@media(min-width:1024px) and (max-width:1249px){.sidebar{top:80px;width:190px}.sidebar .brand{display:none}.sidebar .nav-group:first-child,.sidebar .nav-group:first-child~.nav-item:nth-child(-n+10){display:none}.workspace{margin-left:190px;padding-top:80px}.topbar{position:fixed;top:0;left:0;right:0;height:80px;z-index:40;padding:0 14px;gap:14px;background:#fff}.desktop-logo{display:block;flex-shrink:0}.desktop-logo .company-logo{width:90px;height:60px}.reference-nav{display:flex;height:100%;flex:1;min-width:0;overflow-x:auto}.reference-nav button{padding:0 10px;font-size:12px}.topbar .breadcrumb,.topbar .search{display:none}.top-actions .avatar{display:none}.main{padding:28px}.page-title h1{font-size:27px}}
.document-card{flex-wrap:wrap}.sample-pdf-links{width:100%;padding-top:12px;border-top:1px solid #e4e7e2;display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.sample-pdf-links a{color:#466c92;text-decoration:underline}.sample-pdf-links small{width:100%;font-size:10px;color:#8b948b;margin:0}.sample-plan{margin:18px 0;border:1px solid #e4e7df;border-radius:7px;padding:16px;font-size:12px;color:#62705d}.sample-plan summary{cursor:pointer}.sample-plan img{display:block;max-width:100%;height:auto;margin:20px auto}.sample-plan a{color:#466c92}
.client-logo-header{display:flex;align-items:center;justify-content:space-between;background:white}.client-logo-header .company-logo{width:116px;height:77px}.client-logo-header small{float:none;color:#74816e}
/* v0.4 integration simulations: all states remain inside the local workspace */
.simulation-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border:1px solid #d9c4a5;background:#fbf5e9;border-radius:8px;padding:14px 18px;margin:14px 0 24px;font-size:11px;color:#7f6236}.simulation-banner b{letter-spacing:.7px}.simulation-banner span{line-height:1.7}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card h2{font-size:19px;line-height:1.5;margin:20px 0 10px}.integration-card p{font-size:13px;line-height:1.9;color:#75818b;min-height:50px;margin-bottom:22px}.workflow-steps{list-style:none;display:flex;gap:6px;margin:20px 0 30px;padding:0;overflow:auto}.workflow-steps li{flex:1;min-width:95px;display:flex;align-items:center;gap:8px;padding:12px 6px;border-bottom:2px solid #e2e7eb;color:#94a0aa;font-size:12px;white-space:nowrap}.workflow-steps li span{border-radius:50%;width:23px;height:23px;background:#eef1f4;display:grid;place-items:center;font-size:10px}.workflow-steps .current{color:#315e8d;border-color:#356eae;font-weight:700}.workflow-steps .current span{color:white;background:#356eae}.workflow-steps .complete{color:#708769;border-color:#a5baa0}.connection-preview{display:flex;align-items:center;justify-content:center;gap:28px;padding:20px 0}.connection-node{border:1px solid #dbe2e9;border-radius:12px;background:white;padding:25px 40px;font-size:22px;text-align:center;font-weight:600}.connection-node small{display:block;font-size:11px;color:#7a8792;font-weight:400;margin-top:12px}.source-db{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #dfe5eb;border-radius:8px;padding:20px;margin:12px 0;cursor:pointer}.source-db svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;margin-right:12px}.source-db small{display:block;color:#83909b;font-size:12px;margin-top:12px}.source-db input{width:20px;height:20px}.simulation-preview{border:1px solid #dde3e8;border-radius:10px;background:#f7f9fb;padding:30px}.simulation-preview h2{font-size:22px;margin:20px 0}.simulation-preview .note-text{line-height:2}.job-log{padding-left:24px;line-height:2.4;font-size:13px;color:#65717c}.job-log li{padding:6px;border-bottom:1px solid #edf0f3}.template-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.template-gallery h2{font-size:25px;margin:18px 0 12px}.template-gallery p{color:#78858f;line-height:1.8;margin-bottom:24px;font-size:13px}.contract-paper{background:#fff;border:1px solid #dfe4e8;padding:34px;box-shadow:0 4px 15px #23334508;margin:20px 0}.paper-watermark{color:#ad7257;font-weight:700;text-align:center;letter-spacing:2px;border:2px solid #e4cbbb;padding:12px;margin-bottom:24px;font-size:15px}.contract-paper h2{text-align:center;font-size:23px;margin:28px 0}.contract-fields>div{display:grid;grid-template-columns:155px 1fr;border-bottom:1px solid #e6e9ec;padding:13px 0;gap:18px;font-size:13px}.contract-fields dt{color:#7f8a94}.contract-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.contract-paper>.note-text{margin-top:24px;font-size:12px;color:#8d796a;line-height:1.9}.signature-boxes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.signature-boxes section{padding:20px;border:1px dashed #cbd3dc;min-height:90px}.signature-boxes small{font-size:11px;color:#7c8893}.signature-boxes section>div{margin-top:20px;color:#7f7366;font-size:14px}.signer-route{display:flex;gap:15px;align-items:center;padding:20px;border:1px solid #e0e5ea;border-radius:8px;margin:12px 0}.signer-route>span{background:#e9f0f8;color:#456f97;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.signer-route select{flex:1;min-width:100px}.signer-route small{color:#8b969e;font-size:10px}.contract-progress{padding:20px;background:#f7f9fb;border-radius:8px;margin:20px 0}.contract-progress h3{font-size:15px;margin:7px 0}.contract-progress p{font-size:12px;color:#7b8790;line-height:1.7}
@media(max-width:1100px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.integration-grid,.template-gallery{grid-template-columns:1fr}.workflow-steps li{min-width:85px;font-size:11px}.connection-node{padding:20px;font-size:17px}.connection-preview{gap:15px}.contract-paper{padding:18px}.contract-fields>div{grid-template-columns:1fr;gap:6px}.contract-paper h2{font-size:20px}.signature-boxes{grid-template-columns:1fr}.signer-route{padding:14px;flex-wrap:wrap}.signer-route small{width:100%;margin-left:43px}.simulation-preview{padding:20px}.modal-foot{flex-wrap:wrap}.template-gallery h2{font-size:22px}}
/* One reference palette at every viewport; original company logo is untouched. */
body{background:#f3f5f8}.hero{background:#e9eff6;color:#364d65;border:1px solid #dbe4ee}.hero h2,.hero h2 b{color:#334f6c}.hero p{color:#76899b}.hero-mark{color:#a9bbcc}.button:not(.secondary):not(.ghost):not(.light):not(.danger):not(.tab){background:#356eae;border-color:#356eae;color:white}.button.secondary{background:#fff;color:#50677d;border-color:#d6e0e9}.nav-item.active{background:#edf3fa;color:#315e8d}.demo-strip{background:#edf2f7}.mobile-nav button.active{color:#356eae}.progress i{background:#6d91b5}.filter.active,.tab.active{color:#356eae;border-color:#356eae}.panel,.metric,.project-card{border-radius:9px}.pill:not(.amber):not(.red):not(.gray):not(.blue){background:#e8f0f8;color:#527798}
/* v0.5: one top-level navigation, with features inside their owning section. */
.workspace-top-only{margin-left:0;padding-top:0;min-width:0}.workspace-top-only>.topbar{position:sticky;top:0;left:auto;right:auto;z-index:40;height:auto;min-height:80px;padding:0 28px;gap:20px;background:#fff;border-bottom:1px solid #dfe5eb;display:flex;align-items:center;flex-wrap:nowrap}.workspace-top-only .desktop-logo{display:block;flex-shrink:0}.workspace-top-only .logo-home{background:transparent;border:0;border-radius:4px;padding:0;cursor:pointer}.workspace-top-only .company-logo{width:104px;height:70px}.workspace-top-only .reference-nav{display:flex;align-self:stretch;align-items:stretch;flex:1;min-width:0;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding:16px}.workspace-top-only .reference-nav button{flex:none;min-height:64px;padding:0 15px;font-size:13px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#66747f;cursor:pointer;white-space:nowrap}.workspace-top-only .reference-nav button.active{color:#243c54;border-bottom-color:#294e74;font-weight:700}.workspace-top-only .top-actions{flex-shrink:0;gap:12px}.workspace-top-only .top-actions .search{display:flex;max-width:210px}.workspace-top-only .top-actions .avatar{display:flex}.workspace-top-only>.main{max-width:none;width:100%;box-sizing:border-box;margin:0;padding:32px 36px 50px}.workspace-top-only>.demo-strip{margin:0;padding-left:36px;padding-right:36px}.section-navigation{margin-bottom:30px;border-bottom:1px solid #dce4eb;min-width:0}.section-navigation-title{font-size:11px;letter-spacing:.6px;color:#8b98a3;margin-bottom:10px}.section-navigation-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}.section-navigation-tabs button{display:flex;gap:7px;align-items:center;flex-shrink:0;padding:12px 17px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6e7d89;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.section-navigation-tabs button.active{border-bottom-color:#356eae;color:#356eae;font-weight:700}.section-count{font-size:10px;border-radius:12px;background:#e6edf5;color:#537396;padding:2px 6px}.logo-home:focus-visible,.reference-nav button:focus-visible,.section-navigation-tabs button:focus-visible{outline:2px solid #356eae;outline-offset:-4px}.workspace-top-only .page-title{margin-top:0}
@media(max-width:1250px){.workspace-top-only>.topbar{gap:12px;padding:0 20px}.workspace-top-only .reference-nav button{padding:0 12px;font-size:12px}.workspace-top-only .top-actions .search{display:none}.workspace-top-only .top-actions .avatar{display:none}}
@media(max-width:900px){.workspace-top-only>.topbar{display:flex;flex-wrap:wrap;gap:0;padding:0 20px}.workspace-top-only .desktop-logo{order:0}.workspace-top-only .company-logo{width:88px;height:58px}.workspace-top-only .top-actions{order:1;margin-left:auto}.workspace-top-only .top-actions .search{display:flex;max-width:200px}.workspace-top-only .reference-nav{order:2;flex:0 0 100%;width:100%;height:49px}.workspace-top-only .reference-nav button{min-height:49px;padding:0 15px;font-size:12px}.workspace-top-only>.main{padding:24px 22px 36px}.workspace-top-only>.demo-strip{padding-left:22px;padding-right:22px}.section-navigation{margin-bottom:24px}}
@media(max-width:600px){.workspace-top-only>.topbar{padding:0 14px}.workspace-top-only .top-actions .search{display:none}.workspace-top-only .reference-nav{margin-left:-2px;gap:0}.workspace-top-only .reference-nav button{padding:0 13px;font-size:12px}.workspace-top-only>.main{padding:22px 16px 32px}.workspace-top-only>.demo-strip{padding:11px 16px}.workspace-top-only .demo-strip .store-note{display:block;width:100%;font-size:10px;line-height:1.6}.section-navigation-title{font-size:10px}.section-navigation-tabs button{padding:11px 12px;font-size:12px}.section-navigation{margin-bottom:22px}}
/* Second prototype: quantity takeoff and human cross-check; horizontal navigation only. */
.takeoff-flow{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}.takeoff-flow span{font-size:12px;background:#eaf0f6;color:#617b92;border:1px solid #dce5ed;padding:10px 15px;border-radius:6px}.takeoff-source{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:20px}.takeoff-source h3{margin:14px 0;font-size:19px}.takeoff-source .subtitle{line-height:1.9}.takeoff-source details{border:1px solid #e0e7ee;border-radius:7px;padding:16px;font-size:12px}.takeoff-source summary{cursor:pointer;font-weight:600;color:#526c83}.takeoff-source img{width:100%;height:auto;margin:15px 0}.takeoff-source a{color:#356eae}.takeoff-table small{display:block;line-height:1.8;font-size:11px;color:#84929e;max-width:350px;white-space:normal;margin-top:7px}.takeoff-table td{vertical-align:top;white-space:normal;min-width:115px}.takeoff-table td:first-child{min-width:230px}.takeoff-table td:last-child{min-width:225px}.takeoff-table b{line-height:1.8}.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.variance-alert{color:#a86c3c}.takeoff-print{background:white;padding:24px}.takeoff-print .print-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.takeoff-print .company-logo{width:105px;height:70px}.takeoff-print h1{font-size:25px;line-height:1.5}.takeoff-print p{font-size:12px;line-height:1.8;margin:18px 0}.takeoff-print td small{display:block;font-size:10px;color:#85919b;margin-top:6px}.takeoff-total{text-align:right;font-size:18px!important;font-weight:700}.spec-sheet{border:1px solid #dfe5eb;border-radius:8px;padding:22px;margin:22px 0;break-inside:avoid}.spec-sheet h2{font-size:18px}.spec-sheet dl{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:12px;line-height:1.8;margin-top:20px}.spec-sheet dt{color:#84919a}.spec-sheet dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.takeoff-source{grid-template-columns:minmax(0,1fr);gap:16px}.takeoff-flow span{font-size:10px;padding:8px 10px}.takeoff-print{padding:10px}.takeoff-print h1{font-size:21px}.spec-sheet{padding:16px}.spec-sheet dl{grid-template-columns:1fr;gap:6px}.spec-sheet dd{margin-bottom:10px}.document-grid{grid-template-columns:minmax(0,1fr)}}@media print{.takeoff-print{padding:0}.takeoff-print .notice{font-size:10px;break-inside:avoid}.takeoff-print .table-wrap{overflow:visible}.takeoff-print th,.takeoff-print td{font-size:10px;padding:8px}.spec-sheet{box-shadow:none}.paper-watermark{font-size:14px}}
/* Second-prototype home feedback: compact Korean-weekday greeting and official logo. */
.home-greeting{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 22px;margin:0 0 20px;border-bottom:1px solid #e0e6ec}.home-day{font-size:12px;color:#82909c;margin:0 0 12px}.home-greeting h1{font-size:23px;font-weight:600;letter-spacing:-.6px;line-height:1.6;color:#3a536c;word-break:keep-all;margin:0}.home-official-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent}.home-official-logo .company-logo{width:138px;height:94px}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.home-greeting{gap:14px;padding:0 0 18px;margin-bottom:18px}.home-greeting h1{font-size:18px}.home-day{font-size:11px;margin-bottom:9px}.home-official-logo .company-logo{width:96px;height:65px}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-metrics .metric{padding:16px 12px}.home-metrics .value{font-size:26px}.home-metrics .label,.home-metrics .hint{font-size:10px}}@media(max-width:420px){.home-metrics{grid-template-columns:minmax(0,1fr)}.home-greeting h1{font-size:16px}.home-official-logo .company-logo{width:80px;height:55px}}
/* Second-prototype home: compact projects and deadline-based actionable work. */
.home-project-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 22px;margin:22px 0;background:#fff;border:1px solid #dfe6ed;border-radius:8px}.home-project-summary>div{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.home-project-summary h2{font-size:14px;font-weight:500;margin:0;color:#647887}.home-project-summary strong{font-size:21px;color:#35516c;margin-left:10px}.home-project-stages{display:flex;gap:18px;color:#8996a1;font-size:12px}.home-project-stages b{color:#536b80;margin-left:5px}.home-workspace-split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}.home-priority-work .section-head{align-items:flex-start;gap:15px}.home-priority-work .subtitle{font-size:11px;margin-top:7px;line-height:1.7}.home-priority-counts{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0 10px}.home-priority-counts>span{padding:7px 12px;border-radius:5px;background:#edf2f7;font-size:11px;color:#678098}.home-priority-counts b{margin-left:5px}.home-priority-counts>.overdue{background:#fcf0eb;color:#a46d51}.home-priority-caption{font-size:10px;line-height:1.8;color:#92a0aa;padding-bottom:12px}.home-work-row{display:flex;align-items:flex-start;gap:13px;padding:17px 0;border-top:1px solid #e9edf1}.home-urgency{flex-shrink:0;font-size:10px;line-height:1.6;text-align:center;min-width:57px;padding:5px 7px;background:#edf2f7;color:#70879a;border-radius:5px;max-width:82px}.home-urgency.overdue{background:#f9ebe6;color:#a76c53}.home-urgency.due-today{background:#e7f0fa;color:#386b9a}.home-work-content{flex:1;min-width:0}.home-work-title{font:inherit;font-size:13px;font-weight:600;line-height:1.6;color:#435d74;text-align:left;word-break:keep-all;border:0;background:transparent;padding:0;cursor:pointer}.home-work-title:hover{text-decoration:underline}.home-work-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;font-size:10px;line-height:1.7;color:#8797a4}.home-work-deadline{font-size:10px;line-height:1.7;color:#a0abb4;margin:6px 0 0}.home-work-actions{display:flex;align-items:center;gap:6px}.home-work-actions .pill{font-size:9px}.home-work-more{border-top:1px solid #e4eaf0;padding-top:15px;margin-top:15px}.home-work-more summary{font-size:12px;color:#70869a;cursor:pointer;padding:0 0 5px}.home-work-title:focus-visible,.home-work-more summary:focus-visible{outline:2px solid #356eae;outline-offset:4px}@media(max-width:1000px){.home-workspace-split{grid-template-columns:minmax(0,1fr)}.home-project-summary>div{gap:18px}}@media(max-width:600px){.home-project-summary{padding:16px}.home-project-summary>div{gap:12px}.home-project-stages{gap:13px}.home-priority-work .section-head{flex-wrap:wrap}.home-work-row{gap:9px}.home-work-actions>.pill{display:none}.home-work-actions{gap:0}.home-urgency{min-width:49px;font-size:9px;padding:5px}.home-work-title{font-size:12px}.home-work-meta{font-size:10px}.home-priority-work{padding:18px}}
/* Second prototype: departmental staff work is the home page's primary content. */
.team-home-header{margin:0 0 20px}.team-home-header h2{font-size:23px;font-weight:600;letter-spacing:-.6px;color:#344f68;margin-top:9px}.team-home-header .subtitle{font-size:12px;line-height:1.8;margin-top:9px}.team-home-tabs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;margin:20px 0 15px;padding-bottom:4px}.team-home-tabs button{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:7px;border:1px solid #dce5ed;background:#fff;color:#6e8496;font-size:13px;cursor:pointer;white-space:nowrap}.team-home-tabs button.active{background:#e6eff9;color:#315f8c;border-color:#8caece;font-weight:700}.team-home-tabs span{border-radius:20px;background:#edf2f6;padding:2px 7px;font-size:10px;min-width:24px}.team-home-tabs button.active span{background:#d2e2f2}.team-home-tabs button:focus-visible{outline:2px solid #356eae;outline-offset:-3px}.team-home-alerts{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:11px;color:#8497a7;padding:13px 0;border-bottom:1px solid #e1e8ef}.team-home-alerts b{margin-left:5px;color:#516d83}.team-home-alerts .attention,.team-home-alerts .attention b{color:#a56850}.team-assignment-note{font-size:10px;line-height:1.8;color:#95a1ab;margin:10px 0}.team-sample-prompt{font-size:11px;color:#758b9e;display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#edf3f8;padding:12px 15px;border-radius:6px;margin-top:12px}.home-work-blocker{margin:8px 0 0;padding:7px 10px;border-radius:5px;background:#fbf4eb;font-size:11px;line-height:1.7;color:#967b58;white-space:pre-wrap}.home-work-blocker b{font-weight:600;margin-right:7px}.priority-high{color:#ac8255!important}.home-business-summary{margin-top:30px;border-top:1px solid #dfe7ee;padding-top:20px}.home-business-summary>summary{cursor:pointer;color:#8b9ba8;font-size:13px;margin-bottom:22px}.home-inquiry-summary{max-width:none}.home-business-summary .metrics{margin-top:18px}.home-priority-work{margin-bottom:0}@media(max-width:700px){.team-home-header h2{font-size:20px}.team-home-tabs{gap:6px}.team-home-tabs button{padding:10px 13px;font-size:12px;gap:8px}.team-home-alerts{gap:9px 15px;font-size:10px}.home-work-blocker{font-size:10px}.team-sample-prompt{font-size:10px}}
/* Home is an observation surface; all configuration lives in its owning menu. */
.home-updates{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.home-update-item{display:block;width:100%;background:none;border:0;border-bottom:1px solid var(--line,#e4e8ed);padding:15px 0;text-align:left;color:inherit;cursor:pointer}.home-update-item strong,.home-update-item small{display:block}.home-update-item small{margin-top:7px;color:var(--muted,#667085);font-size:12px}.home-news-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.home-news-tabs button{border:1px solid #dce3ec;border-radius:6px;background:white;padding:7px 12px;color:#526074;cursor:pointer}.home-news-tabs button.active{background:#eef4ff;color:#245dc1;border-color:#91afe8}.home-read-fields{margin:18px 0}.home-read-fields>div{display:grid;grid-template-columns:minmax(90px,140px) 1fr;gap:16px;border-bottom:1px solid #e7ebf0;padding:12px 0}.home-read-fields dt{color:#6b7280;font-size:13px}.home-read-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.home-updates{grid-template-columns:1fr}.home-read-fields>div{grid-template-columns:90px 1fr}}
/* Compact information on desktop; mobile DOM places daily work before a closed feed. */
.home-updates{gap:14px;margin:0 0 18px}.home-updates>.panel{padding:14px 18px}.home-updates .section-head{margin-bottom:7px}.home-updates h2{font-size:16px}.home-updates .home-update-item{padding:8px 0}.home-update-item strong{font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-update-item small{font-size:10px;margin-top:3px}.home-updates .subtitle{font-size:10px;margin:8px 0 0;line-height:1.5}.home-news-tabs{margin:6px 0;gap:4px}.home-news-tabs button{font-size:11px;padding:4px 8px}.home-updates-more>summary{font-size:11px;color:#58718e;cursor:pointer;padding:8px 0}.home-mobile-updates{margin-top:16px;border:1px solid #e0e6ee;border-radius:8px;padding:12px}.home-mobile-updates>summary{cursor:pointer;font-size:13px;color:#435b74}.home-mobile-updates[open]>.home-updates{margin-top:12px;margin-bottom:0}
@media(max-width:760px){.home-greeting{gap:6px;margin-bottom:10px;padding:0 0 8px}.home-day,.home-official-logo{display:none}.home-greeting h1{font-size:14px;letter-spacing:-.5px;line-height:1.6;white-space:nowrap}.team-home-header{margin-bottom:10px}.team-home-header .eyebrow,.team-home-header .subtitle,.team-assignment-note{display:none}.team-home-header h2{font-size:17px;margin-top:0}.team-home-header .section-head{margin-bottom:0}.team-home-tabs{margin:9px 0 5px;gap:5px}.team-home-tabs button{padding:7px 10px;font-size:11px;gap:5px}.team-home-alerts{padding:6px 0;gap:4px 12px;font-size:10px}.home-priority-work{padding:13px}.home-priority-work>.section-head h2{font-size:15px}.home-priority-work>.section-head{gap:6px;margin-bottom:7px}.home-priority-work>.section-head .subtitle,.home-priority-caption{display:none}.home-priority-work>.section-head .button{font-size:10px;padding:6px 8px}.home-priority-counts{margin:5px 0;font-size:10px}.home-updates>.panel{padding:12px}.home-updates{gap:10px}.home-business-summary{margin-top:18px}}
@media(max-width:760px){.home-greeting>div:first-child{min-width:0;max-width:100%}.home-greeting h1{overflow:hidden;text-overflow:ellipsis}}

/* Keep the supplied transparent logo free of a painted tile in all contexts. */
.logo-home,.desktop-logo,.company-logo,.home-official-logo{background:transparent;box-shadow:none}
/* Contrast follows an actual surface, never the OS preference alone on a white logo tile. */
:root{color-scheme:only light;--drawu-logo-color:#2c221b}
.company-logo{color:var(--drawu-logo-color,#2c221b);filter:none}
.logo-surface-light{background:#fff;color:#263445;--drawu-logo-color:#2c221b;color-scheme:only light}
.logo-surface-dark{background:#20252b;color:#eef3f8;--drawu-logo-color:#ffffff;color-scheme:dark}
.home-greeting,.client-logo-header,.takeoff-print{--drawu-logo-color:#2c221b;color-scheme:only light}
.workspace-top-only .topbar{--drawu-logo-color:#2c221b;color-scheme:only light}
@media screen and (prefers-color-scheme:dark){
.workspace-top-only .topbar{background:#20252b;color:#eef3f8;border-bottom-color:#414a55;--drawu-logo-color:#ffffff;color-scheme:dark}
.workspace-top-only .topbar .reference-nav button{color:#c4cfdb;background:transparent}
.workspace-top-only .topbar .reference-nav button.active{color:#fff;border-bottom-color:#9bc5ff}
.workspace-top-only .topbar .reference-nav button:hover,.workspace-top-only .topbar .icon-button:hover{background:#313c49;color:#fff}
.workspace-top-only .topbar .icon-button{color:#e0e9f2;background:transparent}
.workspace-top-only .topbar .logo-home{background:transparent}
.workspace-top-only .topbar .logo-home:focus-visible,.workspace-top-only .topbar .reference-nav button:focus-visible{outline-color:#b6d5ff}
}
@media print{.company-logo{color:#2c221b!important;filter:none!important}.logo-surface-dark,.logo-surface-light{background:white!important;color:#263445!important;--drawu-logo-color:#2c221b;color-scheme:only light}}
.material-grid,.vendor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.material-card,.material-pick{display:flex;flex-direction:column;gap:9px;padding:18px;border:1px solid #dce4ed;border-radius:8px;background:white;text-align:left;overflow-wrap:anywhere}.material-card img,.material-photo{max-width:100%;height:140px;object-fit:contain}.material-pick:disabled{opacity:.55}.vendor-card{padding:18px;background:white;border:1px solid #dce4ed;border-radius:8px;overflow-wrap:anywhere}.vendor-contact{border-top:1px solid #e3e8ef;padding:10px 0}.material-spec{max-width:900px;margin:auto}.material-spec .print-head{display:flex;justify-content:space-between;align-items:center}
/* 3차: larger encouragement, denser team controls (requested mobile annotation). */
@media(max-width:760px){.home-greeting h1{font-size:18px;line-height:1.4;white-space:normal;overflow:visible;text-overflow:clip;font-weight:650}.home-greeting{padding-bottom:8px;margin-bottom:8px}.team-home-header{margin-bottom:7px}.team-home-header h2{font-size:15px}.team-home-tabs{margin:6px 0 3px;gap:4px}.team-home-tabs button{padding:5px 8px;font-size:10px;gap:4px}.team-home-tabs span{min-width:18px;padding:1px 4px;font-size:9px}.team-home-alerts{padding:4px 0;font-size:9px;gap:3px 9px}.team-home-alerts b{margin-left:3px}.home-priority-counts{gap:6px}.home-priority-counts span{padding:4px 7px}}
.home-work-compact{display:grid;grid-template-columns:minmax(140px,2.5fr) minmax(65px,.7fr) minmax(100px,1.3fr) 105px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e7ebf0}.home-work-compact .home-work-title{font-size:13px;text-align:left;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-work-person,.home-work-project,.home-work-date{font-size:12px;color:#6b7c8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-work-date small{display:block;font-size:9px;color:#91a0b0}.home-work-dot{color:#bc6956;font-size:8px;margin-right:7px}.source-row-focus{outline:2px solid #93b9ed;outline-offset:-2px;background:#edf5ff}@media(max-width:760px){.home-work-compact{grid-template-columns:minmax(90px,2fr) 46px minmax(60px,1fr) 72px;gap:6px;padding:10px 0}.home-work-compact .home-work-title{font-size:11px}.home-work-person,.home-work-project,.home-work-date{font-size:10px}.home-work-date small{font-size:8px}}
.accounting-totals{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.accounting-totals>span{flex:1;min-width:150px;padding:16px;background:#eef4fb;border-radius:8px;color:#526b85}.accounting-totals b{display:block;font-size:20px;color:#263b51;margin-top:4px}
/* Project messenger is the sole optional right-side communication panel. */
.messenger-launch{position:fixed;right:20px;bottom:20px;z-index:35;border:0;border-radius:24px;padding:13px 18px;background:#244c83;color:white;box-shadow:0 4px 20px #182c4326;font-weight:700;cursor:pointer}.messenger-launch b{background:white;color:#244c83;border-radius:12px;padding:2px 6px;margin-left:6px}.messenger-dock{position:fixed;right:0;top:126px;bottom:0;width:360px;background:#fff;color:#243345;border-left:1px solid #dce3eb;z-index:36;overflow:auto;padding:12px}.messenger-dock[data-open="false"]{display:none}.messenger-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.messenger-dock-heading small{display:block;font-size:10px;font-weight:400;color:#687789;margin-top:3px}.messenger-dock .du-chat-banner{font-size:11px;padding:8px}.messenger-dock .du-chat-note{font-size:10px;margin:7px 0}.messenger-dock .du-chat-rooms{padding:8px;gap:5px}.messenger-dock .du-chat-rooms button{min-width:135px;font-size:11px;padding:7px}.messenger-dock .du-chat-grid{border-radius:8px}.messenger-dock .du-chat{font-size:12px}.messenger-dock textarea{max-width:100%}
@media(min-width:1100px){.main.with-messenger{padding-right:390px}.workspace:has(.messenger-dock[data-open="false"]) .main.with-messenger{padding-right:32px}}
@media(max-width:1099px){.messenger-dock[data-open="auto"]{display:none}.messenger-dock[data-open="true"]{top:0;left:0;right:0;bottom:0;width:auto;z-index:75;padding:12px 12px max(16px,env(safe-area-inset-bottom));overscroll-behavior:contain}.messenger-dock-heading{position:sticky;top:0;background:#fff;z-index:2;padding:6px 0}.messenger-launch{right:14px;bottom:14px;padding:11px 14px;font-size:12px}}
@media print{.messenger-dock,.messenger-launch{display:none!important}.main.with-messenger{padding-right:0!important}}
.project-chat-badge{display:inline-block;background:#d64c43;color:white;border-radius:10px;padding:1px 6px;font-size:10px;line-height:16px;font-weight:700;vertical-align:middle}

.project-chat-badge[hidden]{display:none}
.messenger-dock:not([data-open="false"]){display:flex;flex-direction:column;overflow:hidden}.messenger-dock-heading{flex-shrink:0}.messenger-dock .du-chat-rightpanel{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;overflow:hidden}.messenger-dock .du-chat-banner,.messenger-dock .du-chat-note{flex-shrink:0}.messenger-dock .du-chat-grid{display:flex;flex-direction:column;flex:1;min-height:0}.messenger-dock .du-chat-rooms{flex-shrink:0;max-height:86px}.messenger-dock .du-chat-main{display:flex;flex-direction:column;flex:1;min-height:0}.messenger-dock .du-chat-main>header{flex-shrink:0;padding:9px}.messenger-dock .du-chat-main>header h2{font-size:14px;margin:0 0 4px}.messenger-dock .du-chat-main>header p{font-size:10px;margin:3px 0 6px}.messenger-dock .du-chat-messages{flex:1;min-height:64px;max-height:none;overflow-y:auto;padding:10px}.messenger-dock #chat-send-form{flex-shrink:0;padding:10px}.messenger-dock #chat-message{height:56px;min-height:56px;resize:vertical}.messenger-dock .du-chat-controls{gap:4px}.messenger-dock .du-chat-controls button{padding:6px;font-size:11px}.messenger-dock .du-chat-controls span{font-size:9px}
@media(max-width:1099px){.messenger-dock[data-open="auto"]{display:none}.messenger-dock .du-chat-note{display:none}.messenger-dock .du-chat-rooms{max-height:76px}.messenger-dock #chat-message{height:48px;min-height:48px}.messenger-dock .du-chat-main>header{padding:7px}}
.messenger-dock .du-chat-rightpanel .du-chat-messages{min-height:48px;max-height:none;flex:1;overflow-y:auto}.messenger-dock .du-chat-rightpanel .du-chat-note{display:none}.messenger-dock .du-chat-rightpanel .du-chat-main>header{padding:7px}.messenger-dock .du-chat-rightpanel .du-chat-rooms{max-height:76px;padding:6px}.messenger-dock .du-chat-rightpanel .du-chat-rooms button{padding:6px;font-size:11px;min-width:135px}.messenger-dock .du-chat-rightpanel .du-chat-main>header button{font-size:10px;padding:5px 8px}.messenger-dock .du-chat-rightpanel .du-chat-main>header input{padding:6px}
.top-menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:5px;border-radius:10px;background:#d64c43;color:#fff;font-size:10px;font-weight:700;line-height:1}.top-menu-badge[hidden]{display:none}.menu-notice-access{display:flex;align-items:center;gap:8px;margin-bottom:6px}.menu-notice-access small{font-size:10px;color:#6b7785}
.messenger-incoming{position:fixed;z-index:78;right:18px;bottom:78px;max-width:300px;text-align:left;display:grid;gap:5px;background:#fff;color:#243345;border:1px solid #b9cbe0;border-radius:12px;padding:12px 15px;box-shadow:0 6px 24px #142f5826;cursor:pointer}.messenger-incoming span{font-size:11px}.messenger-incoming b{font-size:13px}@media print{.messenger-incoming{display:none!important}}
.permission-preview-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 28px;background:#f2f5fa;border-bottom:1px solid #dce3ec;font-size:12px;color:#304664}.permission-preview-bar label{display:flex;align-items:center;gap:8px;font-weight:700}.permission-preview-bar select{padding:6px;border:1px solid #cbd6e2;border-radius:6px;background:white}.permission-preview-bar span{font-size:10px;color:#64748b}.member-chat-view{display:flex;flex-direction:column;flex:1;min-height:0}.member-chat-view .du-chat-messages{flex:1;min-height:80px}.member-chat-view textarea{width:100%;height:64px}.member-chat-view .du-chat-rooms button{min-width:120px}.member-chat-view form{padding:10px}.permission-preview-bar+main{padding-top:20px}@media(max-width:600px){.permission-preview-bar{padding:8px 14px;gap:5px}.permission-preview-bar label{font-size:11px}.permission-preview-bar span{font-size:9px}}
.detached-messenger{padding:12px;height:100dvh;display:flex;flex-direction:column;gap:8px;background:#f5f7fa}.detached-messenger>header{display:flex;justify-content:space-between;gap:10px;font-size:13px}.detached-messenger>header span{font-size:10px}.detached-messenger>.notice{font-size:10px;margin:0;padding:8px}.detached-messenger .du-chat-rightpanel{display:flex;flex-direction:column;flex:1;height:auto;min-height:0;overflow:hidden}.detached-messenger .du-chat-grid,.detached-messenger .du-chat-main{display:flex;flex-direction:column;flex:1;min-height:0}.detached-messenger .du-chat-messages{flex:1;min-height:60px;max-height:none}.detached-messenger .du-chat-note{display:none}.detached-messenger .du-chat-rooms{max-height:90px;flex-shrink:0}.detached-messenger #chat-send-form{padding:10px;flex-shrink:0}.detached-messenger #chat-message{height:62px}.detached-messenger .du-chat-main>header{padding:10px;flex-shrink:0}.detached-messenger .du-chat-main>header h2{font-size:15px}.detached-messenger .du-chat-banner{font-size:10px;padding:7px}@media(max-width:700px){.desktop-detach{display:none!important}}
/* Reading-first messenger: one compact toolbar, floating optional controls. */
.du-chat .du-chat-main>header.du-chat-compactbar{display:flex;align-items:center;gap:5px;padding:6px;position:relative;flex-shrink:0;min-height:42px}.du-chat-compactbar .du-chat-rooms{flex:1;min-width:0;margin:0;padding:0;border:0;background:none;overflow:visible;display:block}.du-chat-compactbar .du-chat-rooms select{width:100%;height:32px;min-width:0;border:1px solid #d6dfe8;border-radius:6px;font-size:12px;background:#fff;color:#243345}.du-chat-compactbar .chat-ack{padding:6px!important;font-size:11px!important;white-space:nowrap}.du-chat-compactbar details{position:relative;flex:0 0 28px}.du-chat-compactbar summary{list-style:none;cursor:pointer;text-align:center;border-radius:5px;font-size:21px;line-height:28px}.du-chat-compactbar summary::-webkit-details-marker{display:none}.du-chat-compactbar .chat-popover{position:absolute;right:0;top:34px;width:250px;max-width:80vw;padding:12px;background:white;border:1px solid #d7e0e8;box-shadow:0 5px 20px #23364d26;border-radius:8px;z-index:90;display:grid;gap:8px}.du-chat-compactbar .chat-popover label{display:grid!important;margin:0!important;font-size:11px!important}.du-chat-compactbar .chat-popover select,.du-chat-compactbar .chat-popover input{width:100%;min-width:0}.du-chat-compactbar .chat-popover button{font-size:11px;padding:7px}.chat-composer-row{display:flex;gap:7px;align-items:flex-end}.chat-composer-row textarea{flex:1;min-width:0;height:54px!important;min-height:54px!important;max-height:120px;resize:vertical;font-size:14px}.chat-composer-row>button{flex:0 0 auto;height:40px;padding:8px 12px!important;background:#244c83!important;color:#fff!important}.du-chat form>label.chat-input-hint,.chat-input-hint{display:block;font-size:10px!important;color:#687789;margin:0 0 5px!important}.detached-messenger .du-chat-rightpanel .du-chat-banner{display:none}.detached-messenger .du-chat-rightpanel .du-chat-main>.du-chat-messages,.messenger-dock .du-chat-rightpanel .du-chat-main>.du-chat-messages{min-height:0;max-height:none;flex:1;overflow-y:auto;padding:10px}.detached-messenger .du-chat-rightpanel .du-chat-grid,.messenger-dock .du-chat-rightpanel .du-chat-grid{overflow:visible}.detached-messenger .du-chat-main>form,.messenger-dock .du-chat-main>form{padding:8px!important;flex-shrink:0}.detached-messenger .du-chat-main,.messenger-dock .du-chat-main{min-height:0;overflow:visible}.detached-messenger{gap:5px;padding:8px}.detached-messenger>.notice{padding:5px;font-size:10px;line-height:1.35}.member-chat-notice{font-size:10px;margin:3px 0 5px}.member-chat-compactbar{display:flex;gap:5px;padding:6px;flex-shrink:0}.member-chat-compactbar select{flex:1;min-width:0;height:32px;font-size:12px}.member-chat-view .du-chat-messages{min-height:0;max-height:none;flex:1;overflow-y:auto}.member-chat-view>form{padding:8px;flex-shrink:0}.messenger-dock .du-chat-banner{padding:5px;font-size:10px}.du-chat .du-chat-message p{font-size:14px;line-height:1.6}.du-chat .du-chat-message{padding:9px 11px;margin:7px 0}
/* Room directory and independent per-room conversation windows. */
.chat-room-directory{display:flex;flex-direction:column;min-height:0;flex:1;background:white}.chat-list-search{display:block;padding:10px 12px;font-size:12px;color:#64748b}.chat-list-search input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #dce2e9;border-radius:8px}.chat-room-list{overflow-y:auto;min-height:0;flex:1}.chat-directory-row{width:100%;display:flex;align-items:center;gap:10px;padding:13px 12px;border:0;border-bottom:1px solid #edf0f4;background:white;text-align:left;color:#253044}.chat-directory-row:hover{background:#f0f5fa}.chat-room-symbol{padding:9px 7px;border-radius:10px;background:#e9eff7;font-size:12px}.chat-room-copy{flex:1;min-width:0}.chat-room-copy b{font-size:14px;display:block}.chat-room-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;color:#77818f;margin-top:5px}.chat-room-meta{display:flex;align-items:flex-end;flex-direction:column;gap:6px;font-size:11px;color:#7a8593}.chat-thin-notice{margin:0!important;padding:4px 10px!important;font-size:10px!important;background:#fff8dd;color:#6b613d;line-height:1.4!important}.fixed-room-conversation{display:flex;flex:1;min-height:0;overflow:hidden}.fixed-room-conversation>.du-chat,.fixed-room-conversation>.member-chat-view{flex:1;min-height:0}.fixed-room-conversation .du-chat-banner,.fixed-room-conversation .member-chat-notice{display:none!important}.fixed-room-conversation #chat-room-select,.fixed-room-conversation #member-room-select{display:none!important}.detached-messenger.messenger-window-room>header{min-height:38px;padding:5px 10px}.detached-messenger.messenger-window-list>header{min-height:44px}.messenger-dock .fixed-room-conversation{height:auto;flex:1}.messenger-dock .chat-room-directory{flex:1}.messenger-dock-heading small{display:none}

.fixed-room-conversation>.member-chat-view{display:flex;flex-direction:column;overflow:hidden}.messenger-dock-heading{margin-bottom:4px!important;padding:2px 0!important}.messenger-dock[data-open="true"]{gap:4px}.fixed-room-conversation .du-chat-rooms{display:none!important}

.fixed-room-conversation .du-chat-compactbar{justify-content:flex-end}.fixed-room-conversation .du-chat-compactbar .chat-popover{right:0;max-width:calc(100vw - 36px)}
.chat-list-filters{display:flex;align-items:center;gap:7px;padding:10px 12px 0;flex-shrink:0}.chat-list-filters button{border:0;border-radius:18px;padding:7px 13px;background:#eef1f5;color:#596473;font-size:12px;cursor:pointer}.chat-list-filters button[aria-pressed="true"]{background:#27374c;color:#fff}.chat-list-filters b,.chat-room-directory .chat-unread{display:inline-block;border-radius:12px;background:#f07832;color:#fff;font-size:11px;min-width:18px;line-height:18px;text-align:center;padding:0 4px}.unread-orange-dot{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;border:0;background:transparent;color:#e87424;font-size:10px;padding:2px;vertical-align:middle;line-height:1}.unread-orange-dot[hidden],.chat-directory-row[hidden]{display:none!important}button.unread-orange-dot{cursor:pointer;min-width:22px;min-height:22px}.unread-orange-dot:focus-visible{outline:2px solid #244c83;outline-offset:2px;border-radius:50%}
.cal-item:has(.unread-orange-dot:not([hidden])),.home-work-title:has(.unread-orange-dot:not([hidden])){position:relative;padding-right:20px!important}.cal-item>.unread-orange-dot,.home-work-title>.unread-orange-dot{position:absolute;right:3px;top:50%;transform:translateY(-50%);margin:0}.table-title:has(>.unread-orange-dot:not([hidden])){position:relative;padding-right:30px}.table-title>.unread-orange-dot{position:absolute;right:4px;top:50%;transform:translateY(-50%);margin:0}
.customer-name{padding:3px 0;font-weight:650}.record-modification{margin-top:14px;text-align:right;color:#7b8793}.record-modification .button{font-size:10px;color:#7b8793;white-space:normal;text-align:right}.history-entry{padding:12px 0;border-top:1px solid #e3e8ee}.history-entry h3{font-size:13px}.history-entry small{font-weight:400;color:#7b8793;font-size:10px}.history-entry dl>div{padding:7px 0}.history-entry dt{font-size:11px;color:#64748b}.history-entry dd{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.history-entry del{color:#7b8793}.history-entry strong{font-weight:500}

.project-context-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 20px}.project-context-head h1{font-size:26px;margin:10px 0}.project-phase-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid #dce3ea;padding-bottom:8px}.project-phase-tabs button{border:0;background:transparent;color:#66768b;padding:11px 15px;white-space:nowrap;border-radius:7px;cursor:pointer}.project-phase-tabs button.active{background:#e6efff;color:#2457a5;font-weight:700}.aggregate-filters{display:grid;grid-template-columns:repeat(6,minmax(95px,1fr)) auto;gap:10px;align-items:end;margin:14px 0 20px}.project-record-focus{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid #abc5f3;background:#f3f7ff;padding:14px;border-radius:9px;margin:14px 0}.project-record-focus span{font-size:11px;color:#66768b}.project-context-head+.project-phase-tabs~.page-title{margin-top:18px}.table-wrap td small{display:block;color:#8590a0;font-size:10px}@media(max-width:700px){.aggregate-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.project-context-head h1{font-size:21px}.project-phase-tabs button{padding:9px 10px}.project-context-head{align-items:flex-start}.project-record-focus{padding:10px;gap:8px}}
/* Customer/project titles are navigation; customer operations stay visible above details. */
.record-title-link,.button.record-title-link{border:0!important;background:transparent!important;color:#245d92!important;padding:2px 0;min-height:0;font:inherit;font-weight:650;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
.record-title-link:hover{color:#143f69!important;text-decoration-thickness:2px}.record-title-link:focus-visible{outline:2px solid #356eae;outline-offset:4px;border-radius:2px}.project-card{cursor:default}.project-name{line-height:1.5}.customer-action-bar{position:sticky;top:-1px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;background:#fff;padding:12px 0;border-bottom:1px solid #dce4ec;margin-bottom:14px}.customer-action-bar small{width:100%;font-size:11px;color:#66778a}.customer-action-bar .button{min-height:38px}.customer-action-bar~.notice{margin-top:8px}@media(max-width:700px){.customer-action-bar{gap:6px;padding:9px 0}.customer-action-bar .button{padding:8px 10px;font-size:12px}.customer-action-bar small{font-size:10px}}
.customer-name{min-width:96px;white-space:nowrap;overflow-wrap:normal}.customer-name:focus-visible{outline-offset:2px}
/* Suplex-reference project shell: compact identity, a single work strip, direct calendar. */
.project-compact-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0 15px}.project-heading-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.project-heading-line h1{font-size:22px;line-height:1.35;margin:0}.project-owner{color:#617286;font-size:12px}.project-header-actions{display:flex;gap:6px;flex-shrink:0}.project-work-tabs{display:flex;gap:2px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #d8e1ea;margin:0 0 16px;scrollbar-width:thin}.project-work-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#56687a;padding:13px 15px;font:inherit;font-size:13px;cursor:pointer;flex-shrink:0}.project-work-tabs button.active{border-bottom-color:#2e609a;color:#244e7b;font-weight:700}.project-work-tabs button:focus-visible{outline:2px solid #356eae;outline-offset:-3px}.project-direct-content>.page-title{margin-top:0}.project-schedule{background:white;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden}.project-schedule-toolbar{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fafbfd}.project-schedule-toolbar>div{display:flex;align-items:center;gap:6px}.project-schedule .month-grid{border-radius:0;border-width:1px 0 0}.project-schedule .day{min-height:114px;padding:5px}.project-schedule .cal-item{display:flex;align-items:center;gap:4px;width:100%;border:0;border-radius:3px;text-align:left;font-size:12px;line-height:1.5;padding:4px 5px;margin-top:4px;cursor:pointer;overflow:hidden}.project-schedule .cal-item>span:not(.unread-orange-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-schedule .cal-item .contractor-chip{flex-shrink:0}.project-schedule .selected-record{outline:2px solid #356eae;outline-offset:-2px;background-color:#e5eef9}.schedule-caption{font-size:11px;color:#6b7b8e;padding:10px 14px;margin:0}.project-schedule .table-wrap{border:0;border-radius:0}.project-schedule .day-num{display:inline-block;font-size:12px;padding:3px}
@media(max-width:700px){.project-compact-head{align-items:flex-start;gap:8px;flex-direction:column;padding:4px 0 10px}.project-heading-line{gap:6px 10px}.project-heading-line h1{font-size:18px}.project-heading-line>.record-title-link{font-size:12px}.project-owner{font-size:11px}.project-header-actions{align-self:flex-end}.project-work-tabs{margin-bottom:10px}.project-work-tabs button{padding:11px 12px;font-size:12px}.project-schedule-toolbar{gap:8px;padding:10px}.project-schedule-toolbar>div:nth-child(2){order:-1;width:100%;justify-content:center}.project-schedule-toolbar .button{font-size:11px;padding:6px 9px}.project-schedule .month-grid{min-width:650px}.project-schedule .day{min-height:98px}.project-schedule .cal-item{font-size:11px}}

/* Checkpoint 53: compact verified-source cards without deleting provenance. */
.company-project-card .project-body{padding:18px}.company-project-card h3{margin:0 0 10px}.company-source-details{margin-top:12px;font-size:12px;color:var(--muted)}.company-source-details summary{cursor:pointer;min-height:32px;line-height:32px}.company-source-details[open] summary{margin-bottom:8px}.demo-strip{padding-top:6px;padding-bottom:6px;flex-wrap:wrap;gap:8px}

/* Internal report: source IDs and touch target stay distinct. */
.progress-report-source{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.progress-report-source small{overflow-wrap:anywhere}.progress-report-source button{min-height:44px;min-width:88px}

/* Progressive internal customer intake, native details remain keyboard accessible. */
.customer-section{border-top:1px solid var(--line,#ddd);margin-top:12px}.customer-section>summary{min-height:44px;padding:12px 4px;cursor:pointer;font-weight:600}.customer-section>.form-grid{padding:8px 0 16px}#customer-form [hidden]{display:none!important}#customer-form input:not([type=checkbox]),#customer-form select{min-height:44px}#customer-form summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Specification history and long synthetic model names must wrap on narrow screens. */
.history-entry,.specification-panel,.specification-panel .panel{min-width:0;overflow-wrap:anywhere;word-break:normal}
.history-entry h3,.history-entry p,.specification-panel h3{white-space:normal;overflow-wrap:anywhere}

/* Long record titles wrap without pushing the modal close control off-screen. */
.modal-head{gap:12px;min-width:0}.modal-head h2{min-width:0;overflow-wrap:anywhere;white-space:normal}.modal-head>.icon-button{flex-shrink:0}

/* Keep customer names readable without taking over the contact summary table. */
.table-wrap .customer-name{max-width:220px;white-space:normal;overflow-wrap:anywhere}

/* Long project identities must not displace the attachment and messenger actions. */
.project-heading-line{min-width:0;max-width:100%}.project-heading-line h1,.project-heading-line .project-owner{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}

/* Preserve consultation newlines while wrapping long unbroken manual notes. */
[data-readable-module="meetings"] .note-text,.consult-card .note-text{min-width:0;overflow-wrap:anywhere}

/* Checkpoint 81: full-month mobile context; desktop event controls stay unchanged. */
.mobile-calendar-day{display:none}
.mobile-calendar-hint{display:none}
.calendar-day-record{width:100%;text-align:left;margin-bottom:8px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
 .calendar-scroll{width:100%;min-width:0;overflow:visible}
 .month-grid,.project-schedule .month-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
 .month-grid .weekday{min-width:0;padding:7px 0;font-size:12px}
 .month-grid .day,.project-schedule .month-grid .day{min-width:0;min-height:70px;height:70px;padding:0;position:relative}
 .month-grid .day>.day-num,.month-grid .day>.cal-item{display:none!important}
 .mobile-calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;height:100%;min-width:0;padding:4px 3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
 .mobile-calendar-day b{font-size:13px;line-height:20px;font-weight:650}
 .mobile-calendar-day small{font-size:10px;line-height:14px;white-space:nowrap}
 .mobile-calendar-day span{font-size:11px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .day.today .mobile-calendar-day b{color:var(--paper);background:#526447;border-radius:50%;width:22px;text-align:center}
 .mobile-calendar-hint{display:block;font-size:12px;margin:10px 0;color:var(--muted)}
 .mobile-calendar-day[data-selected="true"]{box-shadow:inset 0 0 0 2px #a76827}
 .mobile-calendar-day:focus-visible{outline:2px solid #244c83;outline-offset:-2px}
 .month-grid .birthday-label{position:absolute;right:2px;top:4px;max-width:16px;overflow:hidden;white-space:nowrap;font-size:11px;pointer-events:none}
 .project-schedule .selected-record{outline-offset:-2px}
}

/* Checkpoint 84: optional schedule controls stay in the same enabled form. */
.schedule-field-details{min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px 12px}
.schedule-field-details>summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.5}
.schedule-field-details>.form-grid{margin-top:14px;min-width:0}
.schedule-field-details>summary:focus-visible{outline:2px solid #244c83;outline-offset:3px}

/* Checkpoint 108: greeting, compact updates, then work on every viewport. */
.home-updates{gap:10px;margin-bottom:12px}.home-updates>.panel{padding:10px 14px}.home-updates .section-head{gap:6px;flex-wrap:wrap;margin-bottom:4px}.home-updates .section-head .button{padding:5px 7px;font-size:10px}.home-updates .home-update-item{padding:6px 0}.home-updates .home-updates-more>summary{padding:5px 0}.home-updates .subtitle{margin-top:5px}
@media(max-width:760px){.home-updates{gap:6px;margin-bottom:10px}.home-updates>.panel{padding:8px 10px}.home-updates h2{font-size:14px}.home-updates .home-update-item strong{font-size:12px}.home-news-tabs{margin:4px 0}.home-news-tabs button{padding:4px 7px}}
/* Staff navigation must fit narrow screens without hiding account actions. */
@media(max-width:700px){.staff-header{flex-wrap:wrap;gap:14px}.staff-header>.row{min-width:0;max-width:100%;flex-wrap:wrap}.staff-app .demo-strip{overflow-wrap:anywhere}}

.material-product-details{display:grid;grid-template-columns:minmax(65px,auto) minmax(0,1fr);gap:6px 10px;margin:0}.material-product-details dt{color:#526071}.material-product-details dd{margin:0;overflow-wrap:anywhere}
