:root{--bg:#f6f7f4;--surface:#fff;--surface-2:#f0f2ef;--line:#e4e8e3;--text:#1e2925;--muted:#77837d;--soft:#aab3ae;--teal:#356e60;--teal-dark:#234f44;--teal-soft:#e4f0eb;--amber:#c48642;--amber-soft:#fbf0df;--purple:#765ea6;--purple-soft:#eee9f8;--red:#c75b57;--red-soft:#fae9e7;--green:#4d8d67;--green-soft:#e6f2e9;--slate:#66757c;--slate-soft:#ebeff0;--shadow:0 16px 45px rgba(34,48,42,.07);--radius:18px;--radius-sm:10px;font-family:'Noto Sans SC','DM Sans',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);padding:12px 13px;outline:none;transition:.18s border, .18s box-shadow}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(53,110,96,.12)}textarea{resize:vertical}.icon{display:inline-block;width:17px;height:17px;position:relative;flex:0 0 17px}.icon-grid:before{content:'◫';font-size:19px;line-height:16px}.icon-home:before{content:'⌂';font-size:20px;line-height:16px}.icon-users:before{content:'◉';font-size:18px;line-height:16px}.icon-layers:before{content:'◇';font-size:18px}.icon-alert:before{content:'!';font-weight:700;font-size:15px;border:1.5px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;width:14px;height:14px}.icon-wallet:before{content:'▣';font-size:17px}.icon-settings:before{content:'⚙';font-size:16px}.icon-search:before{content:'⌕';font-size:22px;line-height:14px}.icon-bell:before{content:'◌';font-size:21px;line-height:13px}.icon-eye:before{content:'◉';font-size:17px}.icon-plus:before{content:'+';font-size:20px;line-height:13px}.icon-arrow:before{content:'→';font-size:18px}.icon-chevron:before{content:'⌄';font-size:16px}.icon-calendar:before{content:'□';font-size:15px}.icon-check:before{content:'✓';font-size:14px}.icon-download:before{content:'↓';font-size:18px}.icon-user:before{content:'●';font-size:11px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--teal);color:#fff;display:inline-grid;place-items:center;font-family:serif;font-size:21px;box-shadow:0 8px 18px rgba(53,110,96,.18)}.eyebrow{font-size:10px;line-height:1;letter-spacing:.13em;color:var(--muted);font-weight:700}.muted{color:var(--muted)}.btn{height:40px;padding:0 15px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;white-space:nowrap}.btn-primary{color:#fff;background:var(--teal);box-shadow:0 6px 14px rgba(53,110,96,.15)}.btn-primary:hover{background:var(--teal-dark)}.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--text)}.btn-secondary:hover{border-color:var(--teal);color:var(--teal)}.btn-block{width:100%}.text-button{color:var(--teal);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.text-button:hover{color:var(--teal-dark)}.icon-button{width:34px;height:34px;border-radius:9px;display:inline-grid;place-items:center;color:var(--muted);font-size:19px}.icon-button:hover{background:var(--surface-2);color:var(--text)}.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#fbfcfa;border-right:1px solid var(--line);padding:24px 15px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 28px}.brand strong{font-size:15px;display:block;letter-spacing:.03em}.brand small{display:block;color:var(--soft);font-size:10px;margin-top:2px}.company-switch{display:flex;align-items:center;gap:9px;background:var(--surface-2);border-radius:12px;padding:10px;margin:0 2px 25px}.company-avatar{width:28px;height:28px;border-radius:8px;background:#d9e9e3;color:var(--teal-dark);display:grid;place-items:center;font-family:serif;font-size:16px}.company-switch strong,.company-switch span{display:block}.company-switch strong{font-size:12px}.company-switch span{font-size:10px;color:var(--muted);margin-top:2px}.company-switch .chevron{margin-left:auto;font-size:17px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:10px;color:var(--muted);font-size:13px;text-align:left;transition:.18s background,.18s color}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--teal-soft);color:var(--teal-dark);font-weight:600}.nav-item .nav-count{margin-left:auto;background:var(--red-soft);color:var(--red);border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:9px;margin-top:16px;padding:14px 10px 0;border-top:1px solid var(--line)}.profile strong,.profile span{display:block}.profile strong{font-size:12px}.profile span{font-size:10px;color:var(--muted);margin-top:2px}.profile .icon-button{margin-left:auto}.avatar{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex:0 0 auto}.avatar-light{background:#c8b89a;color:#fff}.avatar-warm{background:#d48b72}.avatar-dark{background:#4b6970}.avatar-green{background:var(--teal)}.avatar-purple{background:var(--purple)}.main-content{margin-left:244px;min-height:100vh;width:calc(100% - 244px)}.topbar{height:70px;border-bottom:1px solid var(--line);background:rgba(251,252,250,.86);backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:6}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.breadcrumbs strong{color:var(--text);font-weight:600}.top-actions{display:flex;align-items:center;gap:9px}.search-button{height:34px;width:222px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:9px;color:var(--muted);padding:0 10px;font-size:11px;background:#fff}.search-button kbd{margin-left:auto;font-size:9px;border:1px solid var(--line);border-radius:4px;padding:2px 4px;color:var(--soft)}.notification-button{position:relative}.notification-dot{width:6px;height:6px;border-radius:50%;background:var(--red);position:absolute;top:7px;right:7px;border:1px solid #fff}.customer-preview{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--teal);font-size:12px;display:flex;align-items:center;gap:7px;font-weight:600}.customer-preview:hover{border-color:var(--teal)}.page-body{max-width:1440px;margin:0 auto;padding:38px 38px 60px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-header h1{font-size:29px;letter-spacing:-.03em;margin:9px 0 6px;font-weight:700}.page-header p{font-size:13px;margin:0}.wave{font-size:27px;color:var(--teal);font-weight:400;margin-left:2px}.hero-project{border-radius:18px;background:var(--teal-dark);color:#fff;display:grid;grid-template-columns:1.6fr .8fr;min-height:218px;margin-bottom:20px;overflow:hidden;box-shadow:0 18px 38px rgba(35,79,68,.16)}.hero-main{padding:25px 29px}.project-kicker{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#b9d9cd;display:flex;align-items:center;gap:7px}.status-pulse{width:7px;height:7px;border-radius:50%;background:#b9d9cd;display:inline-block;box-shadow:0 0 0 4px rgba(185,217,205,.14)}.hero-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-top:16px}.hero-title-row h2{margin:0;font-size:23px;letter-spacing:-.03em}.hero-title-row p{font-size:12px;color:#a9c7bb;margin:7px 0 0}.hero-title-row .text-button{color:#dcf0e8;margin-top:3px}.hero-progress{margin-top:27px;max-width:650px}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#b8d5ca}.progress-label strong{font-size:15px;color:#fff}.progress-track{height:7px;border-radius:8px;background:rgba(255,255,255,.18);overflow:hidden}.progress-track span{height:100%;display:block;border-radius:inherit;background:#e1f1e9}.hero-meta{display:flex;gap:26px;margin-top:12px;color:#9dbdb2;font-size:10px}.hero-meta b{color:#e4f3ed;margin-left:3px}.hero-side{background:rgba(0,0,0,.12);padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start}.side-label{font-size:10px;letter-spacing:.11em;color:#a9c7bb}.hero-side strong{font-size:16px;margin-top:12px}.side-date{font-size:11px;color:#a9c7bb;margin-top:6px}.mini-avatars{display:flex;margin-top:34px}.mini-avatars .avatar{border:2px solid var(--teal-dark);margin-left:-6px}.mini-avatars .avatar:first-child{margin-left:0}.avatar-more{height:30px;min-width:30px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:10px;margin-left:-6px;border:2px solid var(--teal-dark)}.side-note{font-size:10px;color:#a9c7bb;margin-top:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;align-items:flex-start;gap:12px;min-height:122px}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:18px;flex:0 0 auto}.icon-teal{background:var(--teal-soft);color:var(--teal)}.icon-amber{background:var(--amber-soft);color:var(--amber)}.icon-purple{background:var(--purple-soft);color:var(--purple)}.icon-slate{background:var(--slate-soft);color:var(--slate)}.stat-card span{font-size:11px;color:var(--muted);display:block}.stat-card strong{font-family:'DM Sans',sans-serif;font-size:23px;display:block;margin-top:7px;letter-spacing:-.03em}.stat-card strong small{font-size:12px;color:var(--muted);font-weight:500}.stat-card em{display:block;font-size:10px;color:var(--muted);font-style:normal;margin-top:5px}.stat-card em.positive{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(36,52,44,.025)}.schedule-panel,.activity-panel{padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading h3,.section-toolbar h3{margin:6px 0 0;font-size:16px;letter-spacing:-.02em}.phase-track{display:flex;justify-content:space-between;gap:5px;margin:30px 0 26px;position:relative}.phase-track:before{content:'';height:2px;background:var(--line);position:absolute;top:10px;left:10px;right:10px}.phase-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;color:var(--soft);min-width:0}.phase-node span:last-child{white-space:nowrap}.phase-dot{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line);color:var(--soft);font-size:9px;font-family:'DM Sans',sans-serif}.phase-node.done,.phase-node.active{color:var(--teal)}.phase-node.done .phase-dot{background:var(--teal);border-color:var(--teal);color:#fff}.phase-node.active .phase-dot{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.schedule-list{border-top:1px solid var(--line)}.schedule-row{display:flex;align-items:center;gap:11px;min-height:59px;border-bottom:1px solid var(--line)}.schedule-row:last-child{border-bottom:0}.check{width:19px;height:19px;border:1.5px solid #cbd2ce;border-radius:6px;display:grid;place-items:center;color:#fff;font-size:12px;flex:0 0 auto}.check.checked{background:var(--teal);border-color:var(--teal)}.schedule-copy{flex:1;min-width:0}.schedule-copy strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-copy span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.schedule-date{font-size:10px;color:var(--muted);white-space:nowrap}.schedule-date.late{color:var(--red)}.activity-list{margin-top:19px}.activity-item{display:flex;gap:13px;padding:0 0 20px;position:relative}.activity-item:not(:last-child):before{content:'';position:absolute;top:11px;bottom:0;left:4px;width:1px;background:var(--line)}.timeline-dot{width:9px;height:9px;border:2px solid var(--teal);border-radius:50%;background:#fff;margin-top:5px;z-index:1;flex:0 0 auto}.activity-copy{flex:1;min-width:0}.activity-top{display:flex;justify-content:space-between;gap:8px}.activity-top strong{font-size:12px}.activity-top span{font-size:10px;color:var(--soft);white-space:nowrap}.activity-copy p{font-size:11px;color:var(--muted);line-height:1.7;margin:7px 0 8px}.activity-bottom{display:flex;justify-content:space-between;font-size:10px;color:var(--soft)}.activity-published{color:var(--green)}.quick-strip{margin-top:20px;background:#eff4f0;border-radius:var(--radius);padding:20px 22px;display:flex;align-items:center;gap:28px}.quick-title{width:145px;flex:0 0 auto}.quick-title h3{font-size:16px;margin:6px 0 0}.quick-items{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;flex:1}.attention-item{background:#fff;border:1px solid rgba(224,231,225,.8);border-radius:11px;padding:10px 11px;display:flex;align-items:center;gap:8px;text-align:left;min-width:0}.attention-item:hover{border-color:var(--teal)}.attention-item b,.attention-item small{display:block}.attention-item b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-item small{color:var(--muted);font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-size:13px;font-weight:700;flex:0 0 auto}.attention-teal{background:var(--teal-soft);color:var(--teal)}.attention-red{background:var(--red-soft);color:var(--red)}.attention-purple{background:var(--purple-soft);color:var(--purple)}.attention-amber{background:var(--amber-soft);color:var(--amber)}.attention-arrow{margin-left:auto;color:var(--soft);font-size:17px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-teal{color:var(--teal)}.badge-green{color:var(--green)}.badge-amber{color:var(--amber)}.badge-purple{color:var(--purple)}.badge-red{color:var(--red)}.badge-slate{color:var(--slate)}.filter-bar{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 20px}.segmented{background:var(--surface-2);padding:3px;border-radius:9px;display:flex;gap:2px}.segmented button{height:30px;padding:0 12px;border-radius:7px;font-size:11px;color:var(--muted)}.segmented button.active{color:var(--text);background:#fff;box-shadow:0 2px 5px rgba(30,41,37,.07)}.segmented button span{color:var(--soft);margin-left:3px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;transition:.2s transform,.2s box-shadow,.2s border-color}.project-card:hover{transform:translateY(-2px);border-color:#cbdcd5;box-shadow:var(--shadow)}.project-card-top{display:flex;justify-content:space-between;gap:8px}.project-status{font-size:10px;color:var(--teal);display:inline-flex;align-items:center;gap:5px}.project-status span{width:6px;height:6px;border-radius:50%;background:currentColor}.project-status.planning{color:var(--slate)}.project-card h3{font-size:16px;margin:12px 0 5px}.project-card p{font-size:10px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-progress{margin:24px 0 16px}.card-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:7px}.card-progress strong{color:var(--text);font-family:'DM Sans',sans-serif}.card-progress .progress-track{height:5px;background:var(--surface-2)}.card-progress .progress-track span{background:var(--teal)}.project-card-meta{display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}.project-card-meta span{display:flex;align-items:center;gap:6px}.project-card-footer{display:flex;align-items:center;gap:9px;padding-top:14px}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid #fff;margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.card-alerts{display:flex;gap:6px;margin-left:3px}.mini-alert{font-size:10px}.mini-alert.red{color:var(--red)}.mini-alert.amber{color:var(--amber)}.project-card-footer .text-button{margin-left:auto;font-size:10px}.customer-table{overflow:hidden}.table-toolbar{padding:16px 18px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.search-field{width:230px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:0 9px;color:var(--muted)}.search-field input{border:0;padding:8px 0;box-shadow:none}.filter-button{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px;background:#fff}.table-head,.customer-row{display:grid;grid-template-columns:1.8fr 1fr 1.2fr 1fr 34px;gap:18px;align-items:center}.table-head{padding:12px 20px;background:#fafbf9;color:var(--soft);font-size:10px}.customer-row{padding:15px 20px;border-top:1px solid var(--line);font-size:11px}.customer-cell{display:flex;align-items:center;gap:9px}.customer-cell strong,.customer-cell span{display:block}.customer-cell strong{font-size:12px}.customer-cell span{font-size:10px;color:var(--muted);margin-top:3px}.table-progress{display:flex;align-items:center;gap:8px}.table-progress .progress-track{height:5px;background:var(--surface-2);flex:1}.table-progress .progress-track span{background:var(--teal)}.table-progress strong{font-family:'DM Sans',sans-serif;font-size:11px}.content-tabs,.detail-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px}.content-tabs button,.detail-tabs button{height:38px;color:var(--muted);font-size:12px;position:relative}.content-tabs button.active,.detail-tabs button.active{color:var(--teal);font-weight:600}.content-tabs button.active:after,.detail-tabs button.active:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--teal)}.content-tabs span,.tab-count{font-size:10px;background:var(--red-soft);color:var(--red);border-radius:9px;padding:2px 5px;margin-left:5px}.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.material-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.material-image{height:142px;background:linear-gradient(135deg,#bdb6a9,#e1ddd3 52%,#998f80);display:flex;align-items:flex-start;justify-content:space-between;padding:13px;color:rgba(255,255,255,.87);font-size:10px}.material-swatch{width:62px;height:48px;border-radius:8px;background:rgba(255,255,255,.28);backdrop-filter:blur(6px)}.material-body{padding:15px}.material-title{display:flex;justify-content:space-between;gap:7px}.material-title h3{margin:7px 0 0;font-size:14px}.material-spec{display:flex;justify-content:space-between;gap:8px;margin-top:15px;color:var(--muted);font-size:10px}.material-foot{display:flex;justify-content:space-between;align-items:end;margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.material-foot strong{font-family:'DM Sans',sans-serif;font-size:16px}.material-foot span{font-size:10px;color:var(--muted)}.card-actions{display:flex;gap:8px;margin-top:14px}.card-actions .btn{flex:1;height:34px;font-size:11px}.issue-board{display:flex;flex-direction:column;gap:18px}.issue-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.issue-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.issue-summary strong{display:block;font-family:'DM Sans',sans-serif;font-size:26px;margin:10px 0 5px}.issue-summary strong span{font-size:13px;font-weight:500;color:var(--muted)}.issue-summary>div>span:last-child{font-size:10px;color:var(--muted)}.issue-list{overflow:hidden}.list-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.list-heading h3{margin:0;font-size:15px}.issue-filters{display:flex;gap:4px}.issue-filters button{font-size:10px;color:var(--muted);padding:5px 8px;border-radius:7px}.issue-filters button.active{background:var(--surface-2);color:var(--text)}.issue-row{display:flex;align-items:stretch;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.issue-row:last-child{border-bottom:0}.issue-priority{width:3px;border-radius:3px;flex:0 0 auto}.priority-high{background:var(--red)}.priority-medium{background:var(--amber)}.priority-low{background:var(--green)}.issue-content{flex:1;min-width:0}.issue-row-title{display:flex;align-items:center;gap:9px}.issue-row-title strong{font-size:13px}.issue-content p{font-size:11px;color:var(--muted);margin:8px 0}.issue-meta{display:flex;gap:15px;color:var(--soft);font-size:10px}.issue-meta span{display:inline-flex;align-items:center;gap:4px}.issue-actions{display:flex;align-items:center;gap:8px;min-width:120px;justify-content:flex-end}.issue-actions .btn{height:32px;font-size:11px}.finance-hero{background:var(--teal-dark);border-radius:18px;color:#fff;padding:25px 28px;display:grid;grid-template-columns:.9fr 1.3fr .7fr;gap:36px;align-items:center;margin-bottom:20px}.finance-hero .eyebrow,.finance-hero span{color:#a9c7bb}.finance-hero strong{display:block;font-family:'DM Sans',sans-serif;font-size:27px;margin-top:11px}.finance-hero>div>span:last-child{font-size:10px;display:block;margin-top:5px}.finance-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:9px}.finance-progress>div:first-child strong{font-size:15px;margin:0}.finance-progress .progress-track{background:rgba(255,255,255,.16)}.finance-progress small{display:block;color:#a9c7bb;font-size:10px;margin-top:10px}.finance-side{border-left:1px solid rgba(255,255,255,.16);padding-left:28px}.finance-side strong{font-size:22px}.payment-list{overflow:hidden}.payment-list .list-heading{padding:21px 24px}.payment-row{display:grid;grid-template-columns:1.6fr .8fr .55fr .7fr;gap:20px;align-items:center;padding:18px 24px;border-top:1px solid var(--line)}.payment-stage{display:flex;align-items:center;gap:12px}.payment-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:10px}.payment-index.done{background:var(--green-soft);color:var(--green)}.payment-stage-copy strong,.payment-stage-copy>span,.payment-amount strong,.payment-amount>span{display:block}.payment-stage strong{font-size:12px}.payment-stage-copy>span,.payment-amount>span{font-size:10px;color:var(--muted);margin-top:4px}.payment-amount strong{font-family:'DM Sans',sans-serif;font-size:14px}.payment-action{text-align:right}.payment-action .btn{height:32px;font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-section{padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.section-heading h3{margin:6px 0 0;font-size:16px}.brand-preview{display:flex;align-items:center;gap:11px;padding:13px;background:var(--surface-2);border-radius:12px;margin-bottom:22px}.brand-preview strong,.brand-preview span{display:block}.brand-preview strong{font-size:13px}.brand-preview span{font-size:10px;color:var(--muted);margin-top:3px}.settings-section label{display:block;font-size:11px;color:var(--muted);margin-bottom:15px}.settings-section label input{margin-top:7px}.color-input{display:flex;align-items:center;gap:8px;margin-top:7px}.color-input span{width:28px;height:28px;border-radius:7px}.color-input input{margin:0;flex:1}.member-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.member-row strong,.member-row span{display:block}.member-row strong{font-size:12px}.member-row div span{font-size:10px;color:var(--muted);margin-top:3px}.member-status{margin-left:auto;font-size:10px;color:var(--green)!important}.detail-page{max-width:1320px;margin:0 auto}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.back-button{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.back-button:hover{color:var(--text)}.detail-actions{display:flex;gap:8px}.detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:28px}.detail-heading h1{font-size:28px;letter-spacing:-.04em;margin:10px 0 7px}.detail-heading p{font-size:12px;color:var(--muted);margin:0}.detail-heading-side{display:flex;align-items:center;gap:27px}.detail-heading-side>div>span,.detail-heading-side>div>strong{display:block;font-size:10px;color:var(--muted)}.detail-heading-side>div>strong{font-family:'DM Sans',sans-serif;color:var(--text);font-size:13px;margin-top:6px}.detail-avatars{display:flex}.detail-avatars .avatar{border:2px solid var(--bg);margin-left:-7px}.detail-tabs{margin-bottom:24px}.detail-tabs button{height:39px}.detail-overview{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.overview-main{display:flex;flex-direction:column;gap:18px}.current-state{padding:25px 28px;display:flex;justify-content:space-between;align-items:center;min-height:180px}.current-state h2{font-size:25px;margin:10px 0 6px}.current-state p{font-size:12px;color:var(--muted);margin:0}.state-meta{display:flex;gap:25px;color:var(--muted);font-size:11px;margin-top:22px}.state-meta strong{color:var(--text);font-family:'DM Sans',sans-serif;margin-left:4px}.ring-progress{width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--teal) var(--progress),var(--surface-2) 0);display:grid;place-items:center;position:relative}.ring-progress:before{content:'';position:absolute;width:88px;height:88px;background:#fff;border-radius:50%}.ring-progress span{position:relative;font-family:'DM Sans',sans-serif;font-size:22px;font-weight:700;color:var(--teal)}.phase-panel{padding:23px 28px}.detail-phase-track{margin-top:17px}.detail-phase-row{display:flex;align-items:center;gap:11px;min-height:45px;position:relative}.detail-phase-row:not(:last-child):before{content:'';position:absolute;width:1px;top:30px;bottom:-15px;left:10px;background:var(--line)}.detail-phase-row .phase-dot{width:21px;height:21px;z-index:1;background:#fff}.detail-phase-row>div{flex:1}.detail-phase-row strong,.detail-phase-row span{display:block}.detail-phase-row strong{font-size:12px}.detail-phase-row span{font-size:10px;color:var(--muted);margin-top:3px}.detail-phase-row time{font-size:10px;color:var(--soft)}.detail-phase-row.done .phase-dot{background:var(--teal);border-color:var(--teal);color:#fff}.detail-phase-row.active .phase-dot{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.detail-phase-row.active strong{color:var(--teal)}.overview-side{display:flex;flex-direction:column;gap:18px}.next-action{padding:23px}.next-action h3{font-size:16px;margin:19px 0 7px}.next-action p{font-size:11px;color:var(--muted);margin:0 0 20px}.next-icon{width:36px;height:36px;border-radius:10px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:20px;margin-top:16px}.mini-summary{padding:20px}.mini-summary-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.mini-summary-heading h3{font-size:14px;margin:0}.mini-summary-heading>span{width:22px;height:22px;background:var(--red-soft);color:var(--red);border-radius:50%;font-size:10px;display:grid;place-items:center}.mini-summary-row{display:flex;align-items:center;gap:8px;width:100%;padding:11px 0;border-top:1px solid var(--line);text-align:left}.summary-mark{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.summary-mark.amber{background:var(--amber)}.summary-mark.red{background:var(--red)}.summary-mark.purple{background:var(--purple)}.summary-mark.green{background:var(--green)}.mini-summary-row>span:nth-child(2){flex:1;min-width:0}.mini-summary-row strong,.mini-summary-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-summary-row strong{font-size:11px}.mini-summary-row small{font-size:10px;color:var(--muted);margin-top:3px}.mini-summary-row>span:last-child{color:var(--soft);font-size:17px}.progress-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.progress-main{min-width:0}.progress-summary{padding:22px;display:grid;grid-template-columns:1.1fr .8fr .7fr auto;gap:22px;align-items:center;margin-bottom:23px}.progress-summary h2{font-family:'DM Sans',sans-serif;margin:9px 0 7px;font-size:28px}.progress-summary h2 small{font-family:'Noto Sans SC',sans-serif;font-size:11px;font-weight:500;color:var(--muted)}.progress-summary .progress-track{height:6px;background:var(--surface-2)}.progress-summary .progress-track span{background:var(--teal)}.progress-summary>div>span,.progress-summary>div>strong{display:block}.progress-summary>div>span{font-size:10px;color:var(--muted)}.progress-summary>div>strong{font-size:13px;margin-top:8px}.section-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 13px}.toolbar-actions{display:flex;align-items:center;gap:8px}.log-list{display:flex;flex-direction:column;gap:12px}.log-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 20px}.log-card.is-pending{border-color:#edd9b4;background:#fffdf9}.log-card-head{display:flex;align-items:flex-start;gap:12px}.log-date{width:41px;text-align:center;flex:0 0 auto;color:var(--soft)}.log-day{font-family:'DM Sans',sans-serif;color:var(--text);font-size:22px;font-weight:700;display:block;line-height:1}.log-date span:last-child{font-size:10px;display:block;margin-top:3px}.log-card-head>div:nth-child(2){flex:1;min-width:0}.log-title-row{display:flex;align-items:center;gap:9px}.log-title-row h3{font-size:13px;margin:0}.log-meta{font-size:10px;color:var(--muted);display:block;margin-top:6px}.log-card>p{font-size:11px;line-height:1.75;color:var(--muted);margin:16px 0 13px;padding-left:53px}.log-footer{display:flex;align-items:center;justify-content:space-between;margin-left:53px;font-size:10px;color:var(--soft)}.inline-actions{display:flex;gap:7px}.inline-actions .btn{height:30px;font-size:10px}.published-label{color:var(--green);display:inline-flex;align-items:center;gap:4px}.progress-side{display:flex;flex-direction:column;gap:18px}.pending-review,.task-panel{padding:20px}.queue-count{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber);font-size:10px}.review-row{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:13px 0}.review-image{width:32px;height:32px;background:linear-gradient(135deg,#bda98c,#e1d6c7);border-radius:7px;font-size:8px;color:#fff;display:grid;place-items:center}.review-row>div:nth-child(2){flex:1;min-width:0}.review-row strong,.review-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-row strong{font-size:11px}.review-row span{font-size:9px;color:var(--muted);margin-top:4px}.tab-content{min-width:0}.material-table,.issue-table{overflow:hidden}.material-table-head,.material-table-row{display:grid;grid-template-columns:1.7fr 1.2fr .7fr .65fr 34px;gap:18px;align-items:center}.material-table-head{font-size:10px;color:var(--soft);background:#fafbf9;padding:13px 20px}.material-table-row{padding:15px 20px;border-top:1px solid var(--line);font-size:11px}.material-table-row span,.material-table-row strong{display:block}.material-table-row span{color:var(--muted);font-size:10px;margin-top:4px}.material-name{display:flex;align-items:center;gap:9px}.material-thumb{width:37px;height:37px;border-radius:8px;background:linear-gradient(135deg,#beb5a4,#e6dfd1);display:grid;place-items:center;color:#fff;font-size:9px}.change-list{display:flex;flex-direction:column;gap:13px}.change-card{padding:21px 23px}.change-card-head{display:flex;align-items:flex-start;justify-content:space-between}.change-card-head h3{font-size:15px;margin:7px 0 0}.change-compare{display:grid;grid-template-columns:1fr 35px 1fr;gap:10px;align-items:center;margin-top:21px}.change-compare>div{padding:12px;background:var(--surface-2);border-radius:9px}.change-compare span,.change-compare p{display:block}.change-compare span{font-size:10px;color:var(--muted)}.change-compare p{font-size:11px;margin:7px 0 0}.compare-arrow{text-align:center;color:var(--teal);font-size:18px}.change-impact{display:flex;align-items:center;gap:23px;border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:10px;color:var(--muted)}.change-impact strong{color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;margin-left:4px}.change-impact .inline-actions,.change-impact>.btn{margin-left:auto}.acceptance-list{display:flex;flex-direction:column;gap:13px}.acceptance-card{padding:21px 23px}.acceptance-left{display:flex;align-items:center;gap:13px}.acceptance-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:19px}.acceptance-icon.amber{background:var(--amber-soft);color:var(--amber)}.acceptance-icon.green{background:var(--green-soft);color:var(--green)}.acceptance-left h3{font-size:14px;margin:7px 0 4px}.acceptance-left p{font-size:10px;color:var(--muted);margin:0}.acceptance-card{position:relative}.acceptance-right{position:absolute;right:23px;top:21px;display:flex;align-items:center;gap:11px}.acceptance-right .btn{height:32px;font-size:10px}.checklist-preview{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.checklist-preview span{background:var(--surface-2);border-radius:6px;padding:5px 7px;color:var(--muted);font-size:9px}.checklist-preview i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);margin-right:4px}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted);gap:15px}.loading-screen .brand-mark{margin:auto}.loading-block,.empty-state{padding:80px;text-align:center;color:var(--muted)}.empty-icon{font-size:35px;color:var(--teal)}.empty-state h2{color:var(--text);font-size:20px;margin:10px 0}.empty-state p{font-size:12px;margin-bottom:20px}.empty-inline{text-align:center;color:var(--muted);font-size:11px;padding:30px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.login-story{background:var(--teal-dark);color:#fff;padding:39px 8vw 40px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.login-story:before{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-210px;bottom:-230px}.login-story:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-60px;bottom:-120px}.story-brand{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:600;position:relative;z-index:1}.story-copy{position:relative;z-index:1;max-width:560px;margin-top:-65px}.story-copy .eyebrow{color:#a9c7bb}.story-copy h1{font-size:56px;line-height:1.2;letter-spacing:-.065em;margin:22px 0 24px}.story-copy h1 em{font-style:normal;color:#dceee7}.story-copy p{font-size:14px;color:#aac9bd;line-height:1.8;max-width:390px}.story-foot{display:flex;gap:25px;color:#9dbaaf;font-size:11px;position:relative;z-index:1}.story-foot span:before{content:'·';color:#d6eee3;margin-right:8px}.login-panel{display:grid;place-items:center;padding:40px}.login-box{width:min(370px,100%)}.mobile-brand{display:none}.login-box h2{font-size:29px;letter-spacing:-.04em;margin:12px 0 7px}.login-box>.muted{font-size:12px;margin:0 0 31px}.login-box form label{display:block;font-size:11px;color:var(--muted);margin-bottom:17px}.login-box form input{margin-top:8px;height:44px}.login-box form .btn{margin-top:8px;height:46px}.demo-hint{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--teal-soft);color:var(--teal);border-radius:9px;padding:10px;font-size:10px;margin-top:15px}.hint-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.login-footer{display:flex;justify-content:space-between;color:var(--soft);font-size:9px;margin-top:46px}.customer-shell{min-height:100vh;background:#f7f8f5;color:var(--text)}.customer-topbar{height:72px;background:#fbfcfa;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(34px,calc((100vw - 1140px)/2));position:sticky;top:0;z-index:5}.customer-brand{display:flex;align-items:center;gap:11px}.customer-brand strong,.customer-brand span{display:block}.customer-brand strong{font-size:13px}.customer-brand span{font-size:10px;color:var(--muted);margin-top:3px}.customer-top-actions{display:flex;align-items:center;gap:15px}.customer-icon-btn{position:relative;color:var(--muted)}.customer-icon-btn>span{position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;right:-1px;top:0}.customer-avatar{width:31px;height:31px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px}.customer-content{max-width:1140px;margin:0 auto;padding:43px 34px 56px}.customer-greeting{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.customer-greeting h1{font-size:28px;letter-spacing:-.05em;margin:11px 0 5px}.customer-greeting p{color:var(--muted);font-size:12px;margin:0}.exit-preview{font-size:11px;color:var(--teal);border:1px solid #c9dad3;border-radius:8px;padding:8px 12px}.customer-hero{background:var(--teal-dark);color:#fff;border-radius:19px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;min-height:276px;box-shadow:0 18px 38px rgba(35,79,68,.15)}.customer-hero-copy{padding:33px 34px}.customer-stage{font-size:10px;color:#b8d6ca;display:flex;align-items:center;gap:7px;letter-spacing:.07em}.customer-hero h2{font-size:32px;letter-spacing:-.06em;margin:26px 0 8px}.customer-hero p{font-size:12px;color:#add0c1;margin:0}.customer-progress{margin-top:39px}.customer-progress .progress-track{background:rgba(255,255,255,.18);height:6px}.customer-progress .progress-track span{background:#e3f3ec}.customer-progress>div:last-child{display:flex;align-items:center;gap:12px;margin-top:11px}.customer-progress strong{font-family:'DM Sans',sans-serif;font-size:18px}.customer-progress span{font-size:10px;color:#aecbbf}.customer-progress>div:last-child>span:last-child{margin-left:auto}.customer-hero-image{background:#c1b7a0;min-height:276px;position:relative;overflow:hidden}.customer-hero-image:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(76,88,80,.18),rgba(246,237,214,.3)),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 85px),linear-gradient(30deg,#928779,#d4ccbb 50%,#857969)}.room-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding:26px;color:rgba(255,255,255,.8)}.room-art span{font-size:10px;letter-spacing:.1em}.room-art b{font-size:22px;letter-spacing:.08em;margin-top:4px}.customer-stats{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;align-items:center;padding:17px 22px}.customer-stats>div{border-right:1px solid var(--line);padding-left:20px}.customer-stats>div:first-child{padding-left:0}.customer-stats span,.customer-stats strong{display:block}.customer-stats span{font-size:10px;color:var(--muted)}.customer-stats strong{font-family:'DM Sans',sans-serif;font-size:18px;margin-top:7px}.customer-stats strong small{font-size:11px;color:var(--muted);font-weight:500}.contact-manager{justify-self:end;color:var(--teal);font-size:11px;font-weight:600;padding-right:3px}.contact-manager span{display:inline;font-size:17px;margin-left:6px}.customer-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-top:30px}.customer-section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.customer-section-heading h3{font-size:17px;margin:7px 0 0}.customer-link{font-size:11px;color:var(--teal);font-weight:600}.customer-timeline{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px}.customer-update{display:flex;gap:15px}.customer-update:not(:last-child){padding-bottom:27px}.customer-update-marker{width:45px;position:relative;display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.customer-update:not(:last-child) .customer-update-marker:after{content:'';position:absolute;width:1px;background:var(--line);top:34px;bottom:-28px}.customer-update-marker>span{width:10px;height:10px;border:2px solid var(--teal);border-radius:50%;background:#fff;z-index:1}.customer-update-marker time{font-family:'DM Sans',sans-serif;color:var(--text);font-size:18px;font-weight:700;margin-top:9px;text-align:center}.customer-update-marker time small{font-family:'Noto Sans SC',sans-serif;display:block;font-size:9px;font-weight:500;color:var(--muted);margin-top:2px}.customer-update-content{flex:1;min-width:0}.customer-update-title{display:flex;justify-content:space-between;gap:7px}.customer-update-title h4{font-size:13px;margin:0}.customer-update-title span{font-size:10px;color:var(--muted)}.customer-update-content p{font-size:11px;line-height:1.7;color:var(--muted);margin:9px 0 12px}.photo-strip{display:flex;gap:6px}.photo-placeholder{height:65px;flex:1;border-radius:7px;background:linear-gradient(135deg,#aaa28e,#e1d6c4 47%,#766f62)}.photo-2{background:linear-gradient(135deg,#7e897e,#d4c8ad 57%,#a58a6c)}.photo-3{background:linear-gradient(135deg,#9d9b89,#d7d0bf);position:relative;display:grid;place-items:center}.photo-3 span{color:#fff;font-size:13px;font-weight:600}.update-by{display:block;font-size:9px;color:var(--soft);margin-top:9px}.customer-side{display:flex;flex-direction:column;gap:15px}.customer-action-card,.customer-help-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.pending-number{width:22px;height:22px;border-radius:50%;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font-size:10px}.customer-pending-row{display:flex;align-items:center;width:100%;gap:9px;text-align:left;padding:13px 0;border-top:1px solid var(--line)}.pending-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;flex:0 0 auto}.pending-icon.amber{background:var(--amber-soft);color:var(--amber)}.pending-icon.purple{background:var(--purple-soft);color:var(--purple)}.pending-icon.teal{background:var(--teal-soft);color:var(--teal)}.pending-icon.red{background:var(--red-soft);color:var(--red)}.customer-pending-row>span:nth-child(2){flex:1;min-width:0}.customer-pending-row strong,.customer-pending-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-pending-row strong{font-size:11px}.customer-pending-row small{font-size:10px;color:var(--muted);margin-top:3px}.pending-arrow{font-size:18px;color:var(--soft)}.customer-empty{font-size:11px;color:var(--muted);padding:20px 0 3px}.customer-help-card{background:#edf3ef;display:flex;align-items:flex-start;gap:12px;border-color:#dbe8df}.help-mark{width:26px;height:26px;border:1px solid #9eb8a8;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-weight:700}.customer-help-card h3{font-size:13px;margin:0 0 6px}.customer-help-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 9px}.customer-footer{max-width:1140px;padding:0 34px 28px;margin:0 auto;display:flex;justify-content:space-between;color:var(--soft);font-size:9px}.modal-backdrop{position:fixed;inset:0;background:rgba(21,33,28,.45);backdrop-filter:blur(4px);z-index:30;display:grid;place-items:center;padding:22px}.modal-dialog{background:#fff;width:min(560px,100%);max-height:calc(100vh - 44px);overflow:auto;border-radius:18px;box-shadow:0 24px 70px rgba(12,26,20,.22);padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.modal-header h2{font-size:20px;margin:7px 0 0;letter-spacing:-.03em}.modal-form label{display:block;color:var(--muted);font-size:11px;margin-bottom:14px}.modal-form input,.modal-form select,.modal-form textarea{margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:9px;margin-top:20px;border-top:1px solid var(--line)}.upload-box{border:1px dashed #c9d4ce;border-radius:11px;background:#f8faf8;padding:14px;display:flex!important;align-items:center;gap:9px;cursor:pointer}.upload-box>span:first-child{width:30px;height:30px;border-radius:8px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:18px}.upload-box strong,.upload-box small{display:block}.upload-box strong{font-size:11px;color:var(--text)}.upload-box small{font-size:9px;color:var(--muted);margin-top:3px}.upload-box input{display:none}.form-hint{font-size:10px;color:var(--muted);line-height:1.6;background:var(--surface-2);padding:10px;border-radius:8px}.payment-modal-summary{background:var(--teal-soft);border-radius:10px;padding:15px;margin-bottom:16px}.payment-modal-summary span,.payment-modal-summary strong{display:block}.payment-modal-summary span{font-size:10px;color:var(--teal)}.payment-modal-summary strong{font-family:'DM Sans',sans-serif;font-size:24px;color:var(--teal-dark);margin-top:4px}.confirm-card{padding:4px 1px}.confirm-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:20px;margin-bottom:17px}.confirm-icon.purple{background:var(--purple-soft);color:var(--purple)}.confirm-icon.teal{background:var(--teal-soft);color:var(--teal)}.confirm-icon.amber{background:var(--amber-soft);color:var(--amber)}.confirm-card h3{font-size:17px;margin:9px 0}.confirm-card>p{font-size:11px;color:var(--muted);line-height:1.7}.confirm-impact{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.confirm-impact>div{background:var(--surface-2);padding:12px;border-radius:9px}.confirm-impact span,.confirm-impact strong{display:block}.confirm-impact span{font-size:10px;color:var(--muted)}.confirm-impact strong{font-family:'DM Sans',sans-serif;font-size:14px;margin-top:5px}.confirm-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-compare>div{background:var(--surface-2);padding:11px;border-radius:9px}.confirm-compare span{font-size:10px;color:var(--muted)}.confirm-compare p{font-size:11px;margin:7px 0 0}.customer-check-list{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);padding:13px;border-radius:9px}.customer-check-list label{font-size:11px;color:var(--text);margin:0}.customer-check-list input{width:auto;margin:0 5px 0 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#24322d;color:#fff;padding:11px 16px;border-radius:10px;font-size:12px;z-index:60;box-shadow:0 10px 30px rgba(20,35,28,.18);transition:.25s ease}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast-error{background:#a64b47}.toast-info{background:#50616a}.toast-success{background:#2f6657}@media (max-width:1100px){.sidebar{width:210px}.main-content{margin-left:210px;width:calc(100% - 210px)}.page-body{padding:30px 24px}.topbar{padding:0 24px}.quick-strip{display:block}.quick-title{width:auto;margin-bottom:15px}.quick-items{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.customer-grid,.dashboard-grid,.detail-overview,.progress-layout{grid-template-columns:1fr}.overview-side,.progress-side{display:grid;grid-template-columns:1fr 1fr}.hero-project{grid-template-columns:1.25fr .75fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.sidebar{width:64px;padding:17px 10px}.brand{padding:0 4px 25px}.brand>div,.company-switch>div,.company-switch .chevron,.nav-item>span:not(.icon),.profile>div:not(.avatar),.profile .icon-button{display:none}.company-switch{padding:6px;background:transparent;margin:0 0 18px}.company-avatar{margin:auto}.nav-item{justify-content:center;padding:0}.nav-item .nav-count{position:absolute;margin:0 0 28px 28px;padding:1px 4px}.profile{justify-content:center;padding:13px 0 0}.main-content{margin-left:64px;width:calc(100% - 64px)}.topbar{height:60px;padding:0 14px}.breadcrumbs span{display:none}.top-actions{gap:5px}.search-button{width:34px;padding:0;justify-content:center;border:0;background:transparent}.search-button span,.search-button kbd{display:none}.customer-preview{padding:0 8px;font-size:10px}.customer-preview .icon{display:none}.page-body{padding:24px 14px 45px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:21px}.page-header h1{font-size:25px}.page-header .btn{align-self:stretch}.hero-project{display:block}.hero-main{padding:22px}.hero-title-row{display:block}.hero-title-row .text-button{margin-top:15px}.hero-meta{gap:10px;flex-wrap:wrap}.hero-side{min-height:145px;padding:20px 22px}.mini-avatars{margin-top:17px}.stat-grid{gap:9px}.stat-card{min-height:110px;padding:13px;gap:9px}.stat-card strong{font-size:19px}.stat-card em{font-size:9px}.dashboard-grid{gap:14px}.schedule-panel,.activity-panel{padding:17px}.phase-track{overflow:auto;justify-content:flex-start;padding-bottom:3px}.phase-node{min-width:55px}.phase-node span:last-child{font-size:9px}.quick-strip{padding:16px}.quick-items{grid-template-columns:1fr;gap:6px}.project-grid,.material-grid,.settings-grid,.issue-summary{grid-template-columns:1fr}.customer-row,.table-head{grid-template-columns:1.5fr .8fr 1fr 30px}.customer-row>div:nth-child(4),.table-head span:nth-child(4){display:none}.customer-row{gap:9px;padding:13px}.table-head{padding:10px 13px}.material-table-head,.material-table-row{grid-template-columns:1.5fr 1fr .6fr 28px}.material-table-row>div:nth-child(4){display:none}.material-table-row{gap:8px;padding:13px}.material-table-head span:nth-child(4){display:none}.finance-hero{grid-template-columns:1fr;gap:20px;padding:22px}.finance-side{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:15px 0 0}.payment-row{grid-template-columns:1.4fr .8fr 28px;gap:10px;padding:15px}.payment-row>div:last-child{grid-column:1/-1;text-align:left}.payment-row>div:nth-child(3){justify-self:end}.detail-actions .btn{font-size:0;padding:0 10px}.detail-actions .btn .icon{margin:0}.detail-heading{display:block}.detail-heading h1{font-size:25px}.detail-heading-side{margin-top:17px;gap:18px}.detail-tabs{gap:17px;overflow:auto;margin-right:-14px;padding-right:14px}.detail-tabs button{white-space:nowrap}.current-state{padding:20px}.current-state h2{font-size:22px}.ring-progress{width:84px;height:84px}.ring-progress:before{width:66px;height:66px}.ring-progress span{font-size:16px}.phase-panel{padding:19px}.progress-summary{grid-template-columns:1fr 1fr;padding:17px;gap:15px}.progress-summary .btn{grid-column:1/-1}.section-toolbar{align-items:flex-start;gap:10px}.toolbar-actions{flex-direction:column;align-items:flex-end}.log-card{padding:15px}.log-card>p,.log-footer{padding-left:0;margin-left:0}.log-footer{align-items:flex-start;gap:8px;flex-direction:column}.inline-actions{width:100%}.inline-actions .btn{flex:1}.overview-side,.progress-side{display:flex}.change-compare{grid-template-columns:1fr}.compare-arrow{display:none}.change-impact{flex-wrap:wrap;gap:11px}.change-impact .inline-actions{width:100%;margin-left:0}.acceptance-right{position:static;margin-top:16px;justify-content:flex-start}.acceptance-card{padding:17px}.customer-greeting{display:block}.exit-preview{margin-top:15px}.customer-content{padding:28px 14px 42px}.customer-topbar{padding:0 14px}.customer-hero{display:block}.customer-hero-image{height:150px;min-height:150px}.customer-hero-copy{padding:25px 23px}.customer-hero h2{font-size:27px;margin-top:20px}.customer-progress{margin-top:28px}.customer-progress>div:last-child>span:last-child{margin-left:0}.customer-progress>div:last-child{flex-wrap:wrap;gap:8px}.customer-stats{grid-template-columns:1fr 1fr;padding:14px;gap:15px}.customer-stats>div{padding:0 0 0 13px}.customer-stats>div:nth-child(2){border-right:0}.customer-stats>div:nth-child(3){border-top:1px solid var(--line);border-right:0;padding-top:13px}.contact-manager{grid-column:1/-1;justify-self:start;border-top:1px solid var(--line);padding-top:13px;width:100%;text-align:left}.customer-grid{gap:18px}.customer-timeline{padding:17px}.customer-update-title{display:block}.customer-update-title span{display:block;margin-top:5px}.photo-placeholder{height:52px}.customer-footer{padding:0 14px 22px;display:block}.customer-footer span{display:block;margin-top:5px}.modal-dialog{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.login-shell{display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:30px 24px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:72px}.mobile-brand strong{font-size:15px}.login-box h2{font-size:26px}.login-footer{margin-top:34px}}
.photo-strip{display:flex;gap:7px;align-items:center;margin:12px 0}.photo-strip img{width:calc(25% - 6px);height:85px;object-fit:cover;border-radius:8px;background:var(--surface-2)}.log-card .photo-strip{margin-left:53px}.photo-extra{color:var(--muted);font-size:11px}@media(max-width:760px){.log-card .photo-strip{margin-left:0}.photo-strip img{height:58px}}
.customer-group-tabs{display:flex;align-items:center;gap:3px;background:var(--surface-2);padding:3px;border-radius:8px}.customer-group-tabs button{font-size:10px;color:var(--muted);padding:5px 9px;border-radius:6px}.customer-group-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 1px 4px rgba(24,42,32,.08)}.customer-help-card .customer-link{margin-right:14px}.customer-hero-image[style]::before{background:linear-gradient(90deg,transparent,rgba(20,30,25,.18))}.customer-update-content .photo-strip{margin:11px 0}
/* Jnwecom visual system: local font, compact nav, blue action accents and responsive touch targets */
@font-face{font-family:"Noto Sans SC Local";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/noto-sans-sc/files/noto-sans-sc-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-024F}
:root{--jn-blue:#2864dc;--jn-blue-dark:#1c4fbd;--jn-navy:#0b1220;--jn-bg:#f4f7fb;--jn-line:#e7ecf2;--jn-shadow:0 12px 32px rgba(15,32,62,.07)}
html,body{background:var(--jn-bg)}
body{font-family:"Noto Sans SC Variable","Noto Sans SC Local","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.brand-mark{background:#f4f9f6!important;color:transparent!important;background-image:url('/assets/brand/jingnie-mark-small.png')!important;background-size:125%;background-repeat:no-repeat;background-position:center;box-shadow:none!important;border-radius:10px!important}
.brand strong{letter-spacing:0;font-weight:750}.sidebar{background:linear-gradient(180deg,var(--jn-navy),#0d1729);color:#fff;border-right:0;padding-top:22px}.brand{padding-bottom:25px}.brand strong{color:#fff}.brand small{color:#7f91aa}.company-switch{background:#101d31;border:1px solid #1e2d45;color:#fff}.company-switch strong{color:#fff}.company-switch span{color:#768ba8}.company-avatar{background:#1d385c;color:#cfe0fb}.nav-item{color:#9cacc2}.nav-item:hover{background:#14223a;color:#dbe7f8}.nav-item.active{background:linear-gradient(90deg,#1b4eac,#183d80);color:#fff;box-shadow:inset 3px 0 #5d94ff}.sidebar-bottom .profile{border-top-color:#1e2d45}.profile strong{color:#fff}.profile span{color:#768ba8}.main-content{background:var(--jn-bg)}.topbar{background:rgba(255,255,255,.9);border-bottom-color:var(--jn-line);height:78px}.search-button{background:#fff;border-color:#dce3ec}.customer-preview{color:var(--jn-blue);border-color:#dce3ec}.customer-preview:hover{border-color:#6c9df3}.btn-primary{background:linear-gradient(135deg,var(--jn-blue),var(--jn-blue-dark));box-shadow:0 8px 18px rgba(40,100,220,.2)}.btn-primary:hover{background:var(--jn-blue-dark)}.text-button{color:var(--jn-blue)}.panel,.stat-card,.project-card,.customer-table,.material-card,.issue-card,.payment-card{border-color:var(--jn-line);box-shadow:var(--jn-shadow)}.hero-project{background:radial-gradient(circle at 82% 5%,rgba(75,137,255,.45),transparent 28%),linear-gradient(120deg,#111f38,#12376b);box-shadow:0 18px 34px rgba(17,42,80,.13)}.hero-main{padding:27px 31px}.hero-side{background:rgba(0,0,0,.14)}.progress-track span{background:#dceaff}.risk-indicator{width:100%;margin-top:23px;display:grid;gap:5px}.risk-indicator span{font-size:10px;color:#b7c7de}.risk-indicator b{font-size:14px;color:#fff}.risk-indicator i{height:5px;border-radius:9px;background:rgba(255,255,255,.17);overflow:hidden}.risk-indicator em{display:block;height:100%;border-radius:inherit;background:#60a5fa}.risk-indicator.high em{background:#fb7185}.risk-indicator.medium em{background:#fbbf24}.risk-indicator.low em{background:#37d9a8}.attention-clear{display:flex;align-items:center;gap:11px;padding:15px 16px;border:1px solid #d8ebe3;border-radius:12px;background:#f6fcf9}.quick-title p{font-size:10px;margin:7px 0 0}.attention-item{border-color:var(--jn-line);background:#fbfcfe}.attention-item:hover{border-color:#adc4ed;background:#f7faff}.attention-red{background:#fff0f0;color:#cf3b41}.attention-teal{background:#eaf9f3;color:#07875f}.attention-amber{background:#fff5e5;color:#bb730d}.attention-purple{background:#f2efff;color:#7657db}
@media(max-width:1100px){.page-body{padding:30px 28px}.sidebar{width:224px}.main-content{margin-left:224px;width:calc(100% - 224px)}}
@media(max-width:760px){.sidebar{width:64px;background:var(--jn-navy)}.main-content{margin-left:64px;width:calc(100% - 64px)}.topbar{height:64px}.btn,.customer-preview,.nav-item,.icon-button{min-height:40px}.page-body{padding:24px 14px 45px}.quick-title p{line-height:1.5}.risk-indicator{margin-top:17px}.brand-mark{width:36px;height:36px}}
@media(max-width:520px){.topbar{height:60px}.hero-main{padding:22px}.page-body{padding:18px 12px 32px}.stat-card{min-height:104px}.attention-item{min-height:58px}}
.dashboard-grid,.dashboard-grid>.panel,.schedule-list{min-width:0}
.phase-track{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}
.search-modal-label{display:block;font-size:12px;color:var(--muted)}.search-modal-label input{margin-top:8px}.search-results,.notification-list{display:grid;gap:7px;max-height:min(48vh,410px);overflow:auto;margin-top:14px}.search-result,.notification-item{width:100%;min-height:60px;display:grid;gap:5px;text-align:left;border:1px solid var(--jn-line);border-radius:9px;background:#fbfcfe;padding:12px 13px}.search-result:hover,.notification-item:hover{border-color:#adc4ed;background:#f7faff}.search-result strong,.notification-item strong{font-size:13px}.search-result span,.notification-item span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.notification-item small{font-size:10px;color:var(--soft)}.notification-item.unread{border-left:3px solid var(--jn-blue)}
.customer-hero.no-photo{display:block;min-height:0;background:linear-gradient(120deg,#111f38,#12376b);border-radius:8px}.customer-hero.no-photo .customer-hero-copy{padding:28px 32px}.customer-hero.no-photo .customer-progress{max-width:620px}
@media(max-width:520px){.search-result,.notification-item{min-height:64px}.modal-dialog{max-height:calc(100dvh - 28px);border-radius:8px}.modal-backdrop{padding:14px}}
