@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-kr-korean-400-normal-CmjJz_gz.woff2) format("woff2"),url(/assets/noto-sans-kr-korean-400-normal-Dvb5JbtY.woff) format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-kr-korean-500-normal-BlTm2RPg.woff2) format("woff2"),url(/assets/noto-sans-kr-korean-500-normal-BflsTeeZ.woff) format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-kr-korean-700-normal-DvnDzSjd.woff2) format("woff2"),url(/assets/noto-sans-kr-korean-700-normal-KAYYVieF.woff) format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/noto-sans-kr-korean-900-normal-DBM0ezAo.woff2) format("woff2"),url(/assets/noto-sans-kr-korean-900-normal-KNJqfAlu.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-sc-chinese-simplified-400-normal-Ba7eOkfT.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-400-normal-CN8EQoOj.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-sc-chinese-simplified-500-normal-z_irmif2.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-500-normal-CtDGG6sn.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-sc-chinese-simplified-700-normal-DoUziBww.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-700-normal-CDPtaw17.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/noto-sans-sc-chinese-simplified-900-normal-Di-dyiBb.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-900-normal-BgOe1Og4.woff) format("woff")}:root{font-family:Noto Sans KR,Noto Sans SC,Pretendard,Apple SD Gothic Neo,Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;color:#17201c;background:#f4f6f4;font-synthesis:none;text-rendering:geometricPrecision;--ink: #17201c;--muted: #66726e;--line: #dce3df;--line-strong: #c7d3ce;--surface: #ffffff;--soft: #f7faf8;--green: #117a52;--green-soft: #e6f5ed;--blue: #2c6db0;--blue-soft: #e8f2ff;--amber: #b36b00;--amber-soft: #fff1da;--red: #bd4236;--red-soft: #fff0ed;--violet: #6b5aa8;--violet-soft: #f0eefb;--shadow: 0 18px 45px rgba(31, 45, 39, .08)}*{box-sizing:border-box;letter-spacing:0}html,body,#root{min-width:320px;min-height:100vh}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:20px;align-items:stretch;padding:24px;background:linear-gradient(180deg,#117a5214,#f4f6f400 260px),#f4f6f4}.login-panel,.login-demo-panel{border:1px solid var(--line);border-radius:8px;background:#fffffff5;box-shadow:var(--shadow)}.login-panel{min-height:calc(100vh - 48px);display:grid;align-content:start;gap:24px;padding:28px}.login-demo-panel{min-width:0;padding:20px;overflow:hidden}.login-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.platform-shell{min-height:100vh;padding:20px;background:linear-gradient(180deg,#117a5214,#f4f6f400 270px),#f4f6f4}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding-bottom:16px;border-bottom:1px solid var(--line)}.brand-lockup{min-width:0;display:flex;align-items:center;gap:14px}.brand-logo{min-width:148px;display:inline-flex;align-items:baseline;gap:8px;flex:0 0 auto;line-height:1;white-space:nowrap}.brand-logo .brand-logo-g{color:#0b8a5b;font-family:Segoe UI,Arial,sans-serif;font-size:31px;font-weight:900;line-height:.95}.brand-logo .brand-logo-ko{color:var(--ink);font-size:22px;font-weight:900;line-height:1}.login-copy{display:grid;gap:10px}.login-copy h1{margin:0;color:var(--ink);font-size:34px;line-height:1.12}.login-copy p{max-width:520px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.route-hint{width:fit-content;max-width:100%;min-height:36px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;border:1px solid #d7e4de;border-radius:8px;padding:7px 10px;background:var(--soft);color:#40504a;font-size:12px;font-weight:900}.route-hint svg{color:var(--blue);flex:0 0 auto}.route-hint strong{color:var(--green)}.login-form{display:grid;gap:13px}.login-form label{display:grid;gap:7px}.login-form label span,.demo-account-foot span{color:var(--muted);font-size:12px;font-weight:900}.login-form input{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:8px;padding:0 13px;background:#fff;color:var(--ink);font-weight:800}.login-form input:focus{border-color:#83bca3;outline:3px solid rgba(17,122,82,.12)}.login-error{min-height:38px;display:flex;align-items:center;border:1px solid #efc4bd;border-radius:8px;padding:0 12px;background:var(--red-soft);color:var(--red);font-size:13px;font-weight:850}.login-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.login-proof span{min-height:36px;display:inline-flex;align-items:center;gap:6px;border:1px solid #d7e4de;border-radius:8px;padding:0 10px;background:var(--soft);color:#40504a;font-size:12px;font-weight:900}.login-proof svg{color:var(--green);flex:0 0 auto}.demo-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.demo-account{min-height:226px;display:grid;gap:12px;align-content:start;border:1px solid var(--line);border-radius:8px;padding:15px;background:#fff;color:var(--ink);text-align:left}.demo-account.selected{border-color:#8fc8ad;background:var(--green-soft);box-shadow:inset 0 0 0 1px #117a522e}.demo-account-head{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.demo-account-head svg{color:var(--green)}.demo-account-head div{min-width:0;display:grid;gap:3px}.demo-account-head strong,.demo-account-foot strong{color:var(--ink)}.demo-account-head span{color:var(--muted);font-size:12px;font-weight:850}.demo-account p{margin:0;color:#4f5f58;font-size:13px;line-height:1.5}.demo-account-checks{display:flex;flex-wrap:wrap;gap:6px}.demo-account-checks small{min-height:26px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;background:#eef3f0;color:#51605a;font-size:11px;font-weight:850}.demo-account-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.brand-lockup span,.eyebrow,.metric span,.metric small,.section-title span,.case-row-main span,.case-row-main small,.case-row-meta small,.inline-meta,.info-block span,.info-block small,.quote-total span,.quote-total small,.service-tile span,.service-tile p,.service-tile small,.file-row small,.chat-message span,.timeline-item p,.supplier-card span,.supplier-card p,.supplier-card small,.supplier-profile span,.supplier-profile small,.fee-row span,.fee-row small,.template-row small,.kpi-strip span,.kpi-strip small,.portal-summary span,.privacy-box span,.header-status span,.doc-list span,.aftercare-grid span,.risk-policy p{color:var(--muted)}.brand-lockup h1{margin:2px 0 0;color:var(--ink);font-size:24px;line-height:1.2}.header-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}.header-status span{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:750}.header-status strong{color:#3d4642;font-size:13px}.session-action{min-height:32px;padding:0 10px}.portal-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.portal-tabs.single{grid-template-columns:minmax(220px,360px)}.portal-tabs button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:#ffffffe0;color:#3a4742;font-weight:900;box-shadow:none}.portal-tabs button.active{border-color:#90c8ad;background:#12221c;color:#fff}.workspace-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.side-rail{position:sticky;top:16px;display:grid;gap:12px}.portal-summary,.privacy-box,.panel,.form-surface,.detail-surface,.metric,.service-tile,.case-row,.quote-option,.milestone,.risk-policy,.supplier-card{border:1px solid var(--line);border-radius:8px;background:#fffffff0}.portal-summary{min-height:94px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:16px}.portal-summary svg{color:var(--green)}.portal-summary strong,.privacy-box strong{display:block;margin-bottom:4px}.portal-summary span,.privacy-box span{display:block;font-size:13px;line-height:1.5}.side-rail nav{display:grid;gap:7px}.icon-button{width:100%;min-height:42px;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#40504a;text-align:left;font-weight:850}.icon-button svg{color:#71817a}.icon-button.active{border-color:#b9d8ca;background:var(--green-soft);color:var(--green)}.icon-button.active svg{color:var(--green)}.privacy-box{padding:14px;background:#13241d;color:#fff}.privacy-box svg{color:#96e4c1}.privacy-box span{color:#c5d5ce}.workspace-main{min-width:0;display:grid;gap:14px}.notice-bar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d7c9e8;border-radius:8px;background:var(--violet-soft);color:#453a76}.notice-bar div,.inline-meta,.action-row,.case-title-line,.person-line,.service-foot,.chat-input,.form-actions,.large-person,.supplier-profile,.table-actions,.doc-list div,.template-row{display:flex;align-items:center}.notice-bar div{gap:8px;min-width:0;font-weight:850}.notice-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-start-panel{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,.7fr) minmax(420px,1.4fr);gap:12px;align-items:stretch;border:1px solid #cfe0d8;border-radius:8px;padding:14px;background:linear-gradient(135deg,#fffffff5,#e8f2ffb8),#fff;box-shadow:var(--shadow)}.quick-start-copy{min-width:0;display:grid;align-content:center;gap:5px}.quick-start-copy h2{margin:0;color:var(--ink);font-size:21px;line-height:1.25}.quick-start-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.quick-start-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-start-stats div{min-width:0;min-height:72px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#ffffffd1}.quick-start-stats span{color:var(--muted);font-size:11px;font-weight:900}.quick-start-stats strong{overflow-wrap:anywhere;color:var(--ink);font-size:18px;line-height:1.1}.quick-actions{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quick-action{min-width:0;min-height:82px;display:grid;grid-template-columns:auto 1fr;align-content:center;gap:4px 7px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink);text-align:left}.quick-action svg{color:var(--blue)}.quick-action span{overflow-wrap:anywhere;white-space:normal;font-size:13px;font-weight:900;line-height:1.25}.quick-action small{grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{min-height:116px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;align-content:start;gap:9px 10px;padding:16px}.metric svg{color:var(--green)}.metric.blue svg{color:var(--blue)}.metric.amber svg{color:var(--amber)}.metric.red svg{color:var(--red)}.metric strong{grid-column:1 / -1;min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:25px;line-height:1.1}.metric span,.metric small{font-size:12px;font-weight:800}.metric small{grid-column:1 / -1;line-height:1.35}.panel,.form-surface,.detail-surface{min-width:0;padding:16px;box-shadow:var(--shadow)}.section-title{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title h2{margin:2px 0 0;color:var(--ink);font-size:20px;line-height:1.25}.eyebrow,.section-title span{font-size:12px;font-weight:850;text-transform:uppercase}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;max-width:100%;border-radius:999px;padding:0 10px;color:#4c5652;background:#eef2f0;font-size:12px;font-weight:900;white-space:nowrap}.badge.green{color:var(--green);background:var(--green-soft)}.badge.blue{color:var(--blue);background:var(--blue-soft)}.badge.amber{color:var(--amber);background:var(--amber-soft)}.badge.red{color:var(--red);background:var(--red-soft)}.service-grid,.supplier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-tile{min-height:210px;display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:14px}.service-tile img,.supplier-card img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--soft)}.service-tile h3,.supplier-card h3,.risk-policy h3{margin:4px 0 0;color:var(--ink);font-size:17px;line-height:1.25}.service-tile p,.supplier-card p,.risk-policy p{margin:8px 0 0;font-size:13px;line-height:1.5}.service-foot{justify-content:space-between;gap:8px}.two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:14px;align-items:start}.risk-center-grid{min-width:0;display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.full-span{grid-column:1 / -1}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.split-grid.compact{margin:14px 0}.case-hero{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:start}.case-hero>img{width:78px;height:78px;border-radius:8px;background:var(--soft);object-fit:cover}.case-title-line{justify-content:space-between;gap:10px}.case-hero h2{margin:5px 0 0;font-size:22px;line-height:1.25}.case-hero p{margin:5px 0 0;color:var(--muted);line-height:1.45}.inline-meta{flex-wrap:wrap;gap:8px;margin-top:10px;font-size:12px;font-weight:800}.inline-meta span{display:inline-flex;align-items:center;gap:4px}.stage-bar{display:grid;grid-template-columns:repeat(9,minmax(72px,1fr));gap:6px;margin:16px 0 4px;overflow-x:auto;padding-bottom:4px}.stage-node{min-height:62px;display:grid;justify-items:center;align-content:center;gap:5px;border-radius:8px;background:#edf2ef;color:#7a8580;text-align:center}.stage-node span{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#d7dfdb;color:#54615b;font-size:12px;font-weight:900}.stage-node small{font-size:11px;font-weight:850;white-space:nowrap}.stage-node.done{background:var(--green-soft);color:var(--green)}.stage-node.done span{background:var(--green);color:#fff}.stage-node.current{outline:2px solid #90c8ad}.info-block{min-height:78px;display:grid;align-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--soft)}.info-block strong{overflow-wrap:anywhere}.person-line{gap:8px;min-width:0}.person-line img,.large-person img{width:42px;height:42px;border-radius:999px;object-fit:cover;flex:0 0 auto}.person-line div,.large-person div{min-width:0;display:grid;gap:2px}.quote-total{display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:14px;margin-top:14px;padding:14px;border-radius:8px;background:#12221c;color:#fff}.quote-total div:first-child{min-width:0;display:grid;gap:3px}.quote-total span,.quote-total small{color:#c9d8d1;font-size:12px;font-weight:800}.quote-total strong{font-size:23px;white-space:nowrap}.quote-total .action-row{justify-content:flex-start}.action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px}.primary-action,.secondary-action,.ghost-action,.upload-action{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:0 12px;font-weight:900;text-decoration:none;white-space:nowrap}.primary-action{border:1px solid var(--green);background:var(--green);color:#fff}.secondary-action{border:1px solid #bdd2c8;background:#fff;color:var(--green)}.ghost-action{border:1px solid var(--line);background:#ffffffd1;color:#41514b}.primary-action.full{width:100%;margin-top:12px}.manager-panel{align-self:stretch}.large-person{gap:12px;min-height:70px;margin-bottom:12px}.large-person img{width:58px;height:58px}.large-person strong{font-size:18px}.case-list{display:grid;gap:8px}.case-row{width:100%;min-height:82px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;color:var(--ink);text-align:left}.case-row:hover,.case-row.selected{border-color:#9acbb4;background:#f2faf6}.case-row.selected{box-shadow:inset 4px 0 0 var(--green)}.case-row>img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--soft)}.case-row-main{min-width:0;display:grid;gap:3px}.case-row-main strong,.case-row-main small,.case-row-main span,.case-row-meta span,.case-row-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-row-main strong{font-size:14px}.case-row-main span,.case-row-main small,.case-row-meta small{font-size:12px;font-weight:750}.case-row-meta{min-width:86px;display:grid;justify-items:end;gap:4px}.case-row-meta>span:not(.badge){max-width:112px;color:#3f4d47;font-size:12px;font-weight:900}.filters{display:grid;grid-template-columns:minmax(240px,1fr) 160px 132px;gap:8px;margin-bottom:12px}.search-control,.select-control,.form-grid label,.fee-row label{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff}.search-control,.select-control{min-height:42px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:0 11px;color:#75827c}.search-control input,.select-control select,.form-grid input,.form-grid select,.form-grid textarea,.fee-row input,.chat-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.search-control:focus-within,.select-control:focus-within,.form-grid label:focus-within,.fee-row label:focus-within,.chat-input:focus-within{border-color:#95c8ad;box-shadow:0 0 0 3px #117a521f}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid.compact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{min-height:72px;display:grid;align-content:center;gap:7px;padding:10px}.form-grid label.wide{grid-column:1 / -1}.form-grid label span{color:var(--muted);font-size:12px;font-weight:850}.form-grid textarea{resize:vertical;line-height:1.5}.form-actions{justify-content:space-between;gap:10px;margin-top:12px}.quote-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-lines div{min-height:74px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--soft)}.quote-lines span,.quote-lines small{color:var(--muted);font-size:12px;font-weight:800}.quote-lines strong{overflow-wrap:anywhere;font-size:17px}.grand-total{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;margin-top:10px;padding:12px;border-radius:8px;background:var(--green-soft)}.grand-total span{color:var(--green);font-size:13px;font-weight:900}.grand-total strong{overflow-wrap:anywhere;color:var(--green);font-size:24px}.quote-option-list{display:grid;gap:9px}.quote-option{min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px}.quote-option div:first-child,.quote-option-meta{min-width:0;display:grid;gap:4px}.quote-option span,.quote-option small{color:var(--muted);font-size:12px;font-weight:800}.quote-option strong{font-size:20px}.quote-option-meta{justify-items:end}.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.milestone{min-height:116px;display:grid;justify-items:start;align-content:start;gap:7px;padding:12px;color:var(--ink);text-align:left}.milestone.green{background:var(--green-soft);border-color:#b7dccb}.milestone.blue{background:var(--blue-soft);border-color:#c2daf2}.milestone.amber{background:var(--amber-soft);border-color:#edd0a0}.milestone.red{background:var(--red-soft);border-color:#f0c3bc}.milestone span,.milestone small{color:var(--muted);font-size:12px;font-weight:850}.milestone strong{line-height:1.35}.file-list,.check-list,.timeline,.doc-list{display:grid;gap:8px}.file-row,.check-row,.template-row{min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--soft);color:var(--ink)}.check-row{width:100%;grid-template-columns:auto minmax(0,1fr) auto;text-align:left}.file-row svg,.check-row svg,.template-row svg{color:var(--green)}.file-row div,.template-row div{min-width:0;display:grid;gap:2px}.file-row strong,.template-row strong,.check-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-action{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;color:#40504a}.upload-action input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.chat-panel{min-height:520px;display:grid;grid-template-rows:auto 1fr auto}.chat-stream{max-height:430px;overflow:auto;display:grid;align-content:start;gap:9px;padding-right:4px}.chat-message{max-width:82%;display:grid;gap:4px;border-radius:8px;padding:10px;background:var(--soft)}.chat-message.manager{justify-self:center;border:1px solid #c4dcd0;background:var(--green-soft)}.chat-message.client{justify-self:end;border:1px solid #c5daf0;background:var(--blue-soft)}.chat-message.supplier{justify-self:start;border:1px solid #ead0a8;background:var(--amber-soft)}.chat-message p{margin:0;line-height:1.5}.chat-input{gap:8px;min-height:46px;margin-top:12px;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start}.timeline-item span{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:900}.timeline-item p{margin:4px 0 0;line-height:1.45}.aftercare-grid,.sop-grid,.kpi-strip,.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aftercare-grid div,.sop-grid div,.kpi-strip div{min-height:90px;display:grid;align-content:start;gap:7px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--soft)}.aftercare-grid svg,.sop-grid svg{color:var(--green)}.aftercare-grid strong,.sop-grid span,.kpi-strip strong{color:var(--ink)}.aftercare-grid span{font-size:13px;line-height:1.45}.supplier-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.supplier-switch button{min-height:82px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink);text-align:left}.supplier-switch button.selected{border-color:#95c8ad;background:var(--green-soft)}.supplier-switch img{grid-row:1 / -1;width:44px;height:44px;border-radius:8px;object-fit:cover}.supplier-switch span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.supplier-switch small{color:var(--muted);font-size:12px}.supplier-profile{gap:12px;margin-bottom:12px}.supplier-profile img{width:68px;height:68px;border-radius:8px;object-fit:cover}.supplier-profile div{min-width:0;display:grid;gap:4px}.supplier-profile strong{font-size:19px}.tag-cloud{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tag-cloud span{border-radius:999px;padding:6px 9px;background:#edf2f0;color:#465650;font-size:12px;font-weight:850}.doc-list{margin-top:12px}.doc-list div{justify-content:space-between;min-height:44px;gap:9px;border-top:1px solid var(--line)}.doc-list div:first-child{border-top:0}.sop-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.sop-grid div{min-height:72px;justify-items:center;text-align:center}.fee-grid{display:grid;gap:8px}.fee-row{min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) 160px 78px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--soft)}.fee-row.off{opacity:.62}.fee-row>div{min-width:0;display:grid;gap:4px}.fee-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fee-row label{min-height:42px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:0 9px}.risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.risk-policy{min-height:196px;padding:14px}.risk-policy.green{border-color:#b9dccb;background:var(--green-soft)}.risk-policy.amber{border-color:#ead0a0;background:var(--amber-soft)}.risk-policy.red{border-color:#efc4bd;background:var(--red-soft)}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-strip div{min-height:86px}.kpi-strip strong{font-size:24px}.finance-table{overflow-x:auto}.finance-head,.finance-row{display:grid;grid-template-columns:minmax(160px,1.15fr) 138px 138px 138px minmax(130px,.9fr) 112px;gap:10px;align-items:center;min-width:920px}.finance-head{min-height:40px;padding:0 10px;border-radius:8px;background:#eef3f0;color:var(--muted);font-size:12px;font-weight:900}.finance-row{min-height:62px;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.finance-row div:first-child{display:grid;gap:2px}.finance-row small{color:var(--muted)}.table-actions{justify-content:flex-end;gap:6px}.table-actions button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:#40504a;font-size:12px;font-weight:850}.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-card{min-height:156px;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:1fr auto;gap:10px;padding:14px}.supplier-card img{width:64px;height:64px}.supplier-card div:nth-child(2){min-width:0}.supplier-card h3,.supplier-card p,.supplier-card span{overflow:hidden;text-overflow:ellipsis}.supplier-stats{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.supplier-stats span{font-size:12px;font-weight:850}@media(max-width:1220px){.login-shell,.quick-start-panel,.workspace-grid{grid-template-columns:1fr}.side-rail{position:static;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr)}.side-rail nav{grid-template-columns:repeat(4,minmax(0,1fr))}.privacy-box{grid-column:1 / -1}.metric-grid,.service-grid,.quick-actions,.supplier-switch,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:920px){.login-shell{padding:14px}.login-panel{min-height:auto}.demo-account-grid,.quick-start-stats{grid-template-columns:1fr}.platform-shell{padding:14px}.workspace-header{align-items:flex-start;flex-direction:column}.header-status{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.portal-tabs,.portal-tabs.single,.side-rail{grid-template-columns:1fr}.side-rail nav{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.split-grid,.form-grid,.form-grid.compact-form,.quote-lines,.risk-grid,.template-grid,.supplier-grid{grid-template-columns:1fr}.quote-total{align-items:stretch;flex-direction:column}.action-row{justify-content:flex-start}.stage-bar{grid-template-columns:repeat(9,88px)}.quote-option{grid-template-columns:1fr}.quote-option-meta{justify-items:start}}@media(max-width:620px){.login-panel,.login-demo-panel{padding:16px}.login-brand{align-items:flex-start;flex-direction:column}.login-copy h1{font-size:27px}.login-proof,.quick-actions{grid-template-columns:1fr}.brand-lockup{align-items:flex-start;flex-direction:column}.brand-lockup h1{font-size:20px}.metric-grid,.service-grid,.supplier-switch,.aftercare-grid,.sop-grid,.kpi-strip{grid-template-columns:1fr}.side-rail nav{grid-template-columns:1fr}.notice-bar{align-items:stretch;flex-direction:column}.notice-bar span{white-space:normal}.case-hero,.case-row,.supplier-card{grid-template-columns:1fr}.case-row-meta{justify-items:start}.form-actions,.grand-total,.service-foot{align-items:flex-start;flex-direction:column}.chat-message{max-width:100%}.icon-only-label{min-width:82px}}
