:root{color-scheme:light;--bg: #f5f7fa;--surface: #ffffff;--surface-soft: #eef3f2;--ink: #1d2939;--muted: #667085;--line: #d9e1e7;--brand: #1f4e78;--brand-strong: #173b5d;--teal: #0f766e;--green: #177245;--amber: #b76e00;--red: #ba2f2f;--red-soft: #fff1f1;--focus: #8cc4ff;font-family:Noto Sans KR,Malgun Gothic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.center-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.login-panel{width:min(100%,520px);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 12px 30px #1d293914}.login-panel.narrow{width:min(100%,420px);text-align:center}.brand-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.brand-line svg{color:var(--teal);flex:0 0 auto}h1,h2,p{margin-top:0}.login-panel h1,.app-header h1{font-size:24px;line-height:1.25;margin-bottom:6px;letter-spacing:0}.login-panel p,.app-header p{color:var(--muted);margin-bottom:0}.mode-tabs,.section-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.mode-tabs button,.section-tabs button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 12px;font-weight:700}.mode-tabs button.active,.section-tabs button.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px #1d29391f}.section-tabs button.locked{color:#b4bcc6;cursor:not-allowed}.login-form{display:grid;gap:14px;margin-top:20px}.link-button{display:inline-flex;align-items:center;gap:6px;margin-top:16px;background:transparent;border:0;color:var(--brand);font-weight:700;font-size:14px;padding:0;cursor:pointer}.link-button:hover{text-decoration:underline}label{display:grid;gap:6px;color:#344054;font-weight:700;font-size:14px}input,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);outline:none}input{height:42px;padding:0 12px}textarea{min-height:80px;resize:vertical;padding:10px 12px;line-height:1.5}input:focus,textarea:focus,button:focus-visible{border-color:var(--focus);outline:3px solid rgba(140,196,255,.35)}.primary-action,.secondary-action,.ghost-button,.inline-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;border:1px solid transparent;padding:0 14px;font-weight:800;white-space:nowrap}.primary-action{background:var(--brand);color:#fff}.primary-action:hover{background:var(--brand-strong)}.secondary-action{background:#e9f4f2;color:var(--teal);border-color:#b6dbd5;transition:background-color .15s ease,border-color .15s ease}.secondary-action:hover:not(:disabled){background:#dcefeb;border-color:#9bcdc4}.ghost-button{background:transparent;color:#fff;border-color:#ffffff57}.inline-button{min-height:28px;margin-left:10px;padding:0 9px;background:#fff;color:var(--brand);border-color:var(--line)}.notice{border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45;white-space:pre-line}.notice.warning{color:#7a4b00;background:#fff7e6;border:1px solid #f3cc7a}.notice.danger{color:var(--red);background:var(--red-soft);border:1px solid #f1b5b5}.notice.info{color:#28536d;background:#eaf5fb;border:1px solid #b9dff1;margin-bottom:14px}.app-shell{min-height:100vh;padding-bottom:82px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;background:var(--brand);color:#fff}.app-header p{color:#ffffffd1}.app-header-tagline,.app-header-identity{display:block}.app-header-tagline{font-style:italic;opacity:.85}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workspace-grid{width:min(100% - 32px,1280px);margin:24px auto;display:grid;gap:18px;align-items:start}.supplier-grid{grid-template-columns:240px minmax(0,1fr)}.admin-grid{grid-template-columns:minmax(520px,1.1fr) minmax(500px,.9fr)}.side-panel,.main-panel,.table-panel,.detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.side-panel{position:sticky;top:18px;display:grid;overflow:hidden}.metric-block,.summary-cell{padding:16px;border-bottom:1px solid var(--line)}.metric-block:last-child{border-bottom:0}.metric-block span,.summary-cell span,.detail-metrics span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.metric-block strong,.summary-cell strong,.detail-metrics strong{font-size:22px;letter-spacing:0}.metric-block.risk strong,.summary-cell.risk strong,.text-risk{color:var(--red)}.main-panel{padding:16px}.section-tabs{margin-bottom:14px;overflow-x:auto}.question-list{display:grid;gap:12px}.question-row,.review-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.high-risk-row{border-color:#ef9a9a;background:var(--red-soft)}.question-head,.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.question-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.question-meta span{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:#eef3f8;color:#3d5c70;padding:0 8px;font-size:12px;font-weight:800}.question-row h2{font-size:16px;line-height:1.55;margin-bottom:0;letter-spacing:0}.badge-stack{display:flex;align-items:flex-end;flex-direction:column;gap:6px;flex:0 0 auto}.risk-badge,.high-risk-badge,.pill{min-height:24px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:0 8px;font-size:12px;font-weight:900}.risk-badge.High{background:#fee2e2;color:var(--red)}.risk-badge.Medium-High{background:#fff2cc;color:var(--amber)}.risk-badge.Medium,.risk-badge.Medium-Low,.risk-badge.Low{background:#e8f5e9;color:var(--green)}.high-risk-badge,.pill.risk{background:var(--red);color:#fff}.pill.ok{background:#dff7ea;color:var(--green)}.answer-grid{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.answer-group{display:flex;flex-wrap:wrap;gap:8px}.answer-chip{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#344054;font-weight:800}.answer-chip:has(input:disabled){opacity:.55;cursor:not-allowed}.answer-chip input{position:absolute;width:1px;height:1px;opacity:0}.answer-chip.selected{border-color:var(--teal);background:#e4f5f2;color:var(--teal)}.recommendation{flex:0 0 auto;color:var(--muted);font-size:13px;font-weight:800}.evidence-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:10px;color:var(--muted);font-size:13px}.evidence-line span{color:#475467;font-weight:900}.evidence-line p{margin:3px 0 0;line-height:1.45}.file-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--brand);padding:0 10px;font-weight:900;white-space:nowrap}.file-button.disabled{opacity:.55;cursor:not-allowed}.file-button input{display:none}.attachment-list{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:10px 0 0;list-style:none}.attachment-list li{border-radius:999px;background:#eef3f8;color:#344054;padding:4px 9px;font-size:12px;font-weight:800}.feedback-panel{display:flex;gap:10px;align-items:flex-start;border:1px solid #f1b5b5;border-radius:8px;background:var(--red-soft);color:#7a2222;padding:12px;margin-bottom:14px}.feedback-panel p{margin:5px 0 0;line-height:1.45}.footer-actions{position:fixed;left:0;right:0;bottom:0;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 28px;background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -8px 22px #1d293914}.footer-actions span{color:var(--muted);font-weight:800}.footer-actions div{display:flex;gap:8px}.admin-summary{width:min(100% - 32px,1280px);margin:20px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-cell{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.reminder-card{width:min(100% - 32px,1280px);margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px}.reminder-card span{color:var(--ink);font-weight:800}.reminder-card .secondary-action{flex:0 0 auto}@media (max-width: 720px){.reminder-card{width:min(100% - 20px,1280px);flex-direction:column;align-items:stretch}.reminder-card .secondary-action{width:100%}}.table-panel{overflow:hidden}.table-wrap{overflow:auto;max-height:calc(100vh - 260px)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#eef3f8;color:#344054;z-index:1}tbody tr{cursor:pointer}tbody tr:hover{background:#eef7f5}tbody tr.selected{background:#eef7f5;box-shadow:inset 3px 0 0 var(--brand)}.submissions-table{table-layout:fixed}.submissions-table .col-supplier-id{width:90px}.submissions-table .col-company-name{width:auto}.submissions-table .col-status,.submissions-table .col-progress{width:90px}.submissions-table .col-score{width:70px}.submissions-table .col-high-risk{width:100px}.cell-ellipsis{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-panel{padding:16px;max-height:calc(100vh - 260px);overflow:auto}.detail-head span{color:var(--muted);font-size:13px;font-weight:900}.detail-head-title{min-width:0}.detail-head h2{margin:2px 0 0;font-size:22px;font-weight:700;max-width:100%}.detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;align-items:stretch}.detail-metrics div{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-height:74px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfd}.detail-panel .detail-metrics span{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:0}.detail-panel .detail-metrics strong{font-size:22px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-panel .detail-metrics strong.cell-ellipsis{display:block;-webkit-line-clamp:unset;white-space:nowrap;text-overflow:ellipsis}.feedback-box{display:grid;gap:10px;margin-bottom:16px}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-meta{display:flex;align-items:center;gap:8px;margin-top:8px}.review-meta span:first-child{color:var(--muted);font-size:12px;font-weight:800}.feedback-history{display:grid;gap:8px;margin-bottom:16px}.feedback-history p{display:grid;gap:4px;margin:0;padding:10px;border-radius:8px;background:#fbfcfd;border:1px solid var(--line);line-height:1.45}.feedback-history span{color:var(--teal);font-size:12px;font-weight:900}.response-review-list{display:grid;gap:8px}.review-item{padding:12px}.review-item div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-item span{color:var(--muted);font-size:12px;font-weight:800}.review-item strong{color:var(--ink)}.review-item p{margin:8px 0 0;color:#475467;line-height:1.45}.empty-state{padding:24px;color:var(--muted);text-align:center}.admin-menu{width:min(100% - 32px,1280px);margin:20px auto 0}.admin-menu-tabs{overflow-x:auto;overflow-y:hidden;gap:4px}.admin-menu-tabs button{flex:none;white-space:nowrap;font-size:13px;padding:0 10px;gap:5px}.admin-panel{width:min(100% - 32px,1280px);margin:18px auto 0;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:14px}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-toolbar h2{font-size:17px;margin:0}.crud-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:14px}.crud-form-full{grid-column:1 / -1}.crud-form-actions{display:flex;justify-content:flex-end;gap:8px}.answer-requirements-block{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff}.answer-requirements-title{display:block;font-weight:700;font-size:13px;margin-bottom:4px}.answer-requirements-hint{margin:0 0 8px;font-size:12px;color:var(--muted)}.answer-requirements-table{width:100%}.answer-requirements-table th{text-align:left;font-size:12px;color:var(--muted);padding:4px 6px}.answer-requirements-table td{padding:4px 6px}.answer-requirements-table select{width:100%}.status-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:900;background:#eef3f8;color:#3d5c70}.status-pill.active{background:#dff7ea;color:var(--green)}.status-pill.invited{background:#fff2cc;color:var(--amber)}.status-pill.suspended{background:var(--red-soft);color:var(--red)}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.inactive-row{opacity:.6}.download-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fbfcfd}.download-card h2{font-size:16px;margin-bottom:4px}.download-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.search-field{display:flex;align-items:center;gap:6px;min-height:38px;flex:1 1 260px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--muted)}.search-field input{border:0;height:34px;padding:0}.filter-bar select{height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--ink)}.scope-filter{display:flex;flex-wrap:wrap;gap:6px}.scope-chip{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#344054;padding:0 12px;font-size:13px;font-weight:700}.scope-chip input{width:14px;height:14px}.scope-chip.selected{border-color:var(--teal);background:#e4f5f2;color:var(--teal)}.scope-badge{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#eef3f8;color:#3d5c70;padding:0 8px;margin:0 4px 4px 0;font-size:11px;font-weight:800;white-space:nowrap}.crud-form-label{display:block;color:#344054;font-weight:700;font-size:14px;margin-bottom:6px}.crud-form-optional{color:var(--muted);font-weight:400}.detail-view{background:#fff}.detail-view p{margin:0;padding:10px 0 0;color:var(--ink)}.credential-card{border:1px solid #b6dbd5;border-radius:8px;background:#e9f4f2;padding:16px;display:grid;gap:10px}.credential-card-head{display:flex;align-items:center;justify-content:space-between}.credential-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.credential-card dt{color:var(--muted);font-size:12px;font-weight:800;margin-bottom:2px}.credential-card dd{margin:0;font-weight:800}.credential-password{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:16px;letter-spacing:.5px;color:var(--brand-strong)}.credential-card p{margin:0;color:#2c4a44;line-height:1.5}@media (max-width: 720px){.crud-form{grid-template-columns:1fr}.download-card{flex-direction:column;align-items:stretch}.credential-card dl{grid-template-columns:1fr}}.code-of-conduct-panel{display:grid;gap:14px}.document-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:14px 16px}.document-card svg{flex:0 0 auto;color:var(--teal)}.document-card>div:nth-child(2){flex:1 1 auto}.document-card p{margin:2px 0 0;color:var(--muted);font-size:13px}.document-card-actions{display:flex;gap:8px;flex-wrap:wrap}.checkbox-field{display:flex;align-items:center;gap:8px;font-weight:700}.checkbox-field input{width:16px;height:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#1d293973;padding:20px}.modal-panel{width:min(100%,560px);max-height:calc(100vh - 40px);overflow:auto;background:var(--surface);border-radius:10px;padding:20px;box-shadow:0 20px 50px #1d293940}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{font-size:18px;margin:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.supplier-grid{grid-template-columns:1fr}.side-panel{position:static;grid-template-columns:1fr}.metric-block{border-right:1px solid var(--line)}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1100px) and (min-width: 761px){.admin-grid{grid-template-columns:2fr 3fr}}@media (max-width: 760px){.admin-grid{grid-template-columns:1fr}.table-wrap,.detail-panel{max-height:none}}@media (max-width: 720px){.app-header,.footer-actions,.question-head,.answer-grid,.evidence-line{align-items:stretch;flex-direction:column}.header-actions,.footer-actions div{justify-content:stretch}.header-actions button,.footer-actions button,.primary-action,.secondary-action,.ghost-button{width:100%}.workspace-grid,.admin-summary{width:min(100% - 20px,1280px)}.side-panel,.admin-summary,.detail-metrics{grid-template-columns:1fr}.badge-stack{align-items:flex-start}.footer-actions{position:static;margin-top:20px}.app-shell{padding-bottom:0}}.product-data-panel,.product-detail-view{display:grid;gap:16px}.product-section{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:14px;display:grid;gap:14px}.site-chip-list{display:flex;flex-wrap:wrap;gap:8px}.site-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700;background:var(--surface);color:#344054}.site-chip svg{color:var(--teal)}.chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);padding:2px;margin-left:2px}.chip-remove:hover{color:var(--red)}.product-detail-tabs{margin-bottom:0}.crud-form-actions.space-between{justify-content:space-between}.danger-inline-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:6px;border:1px solid #f1b5b5;background:var(--red-soft);color:var(--red);font-weight:800}.attachment-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.file-list{display:grid;gap:6px;padding:0;margin:8px 0 0;list-style:none}.file-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px}.admin-summary.product-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}@media (max-width: 980px){.admin-summary.product-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.admin-summary.product-summary{grid-template-columns:1fr}}.toast-message{position:fixed;right:24px;bottom:24px;z-index:100;background:var(--brand-strong);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:800;white-space:pre-line;box-shadow:0 12px 30px #1d293940;animation:toast-in .2s ease-out}.toast-message.error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.side-progress-card{padding:16px;border-top:1px solid var(--line)}.side-progress-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.side-progress-head span{color:var(--muted);font-size:12px;font-weight:800}.side-progress-head strong{font-size:20px}.progress-bar-track{width:100%;height:8px;border-radius:999px;background:#e7ecf1;overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;background:var(--brand-strong);transition:width .2s ease-out}.side-progress-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.side-progress-list li{display:flex;align-items:center;justify-content:space-between;font-size:13px}.side-progress-list li strong{font-weight:800}.text-muted{color:var(--muted)}.text-done{color:var(--green)}.text-inprogress{color:var(--brand)}.side-progress-review{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.side-progress-review .side-progress-head{margin-bottom:0}.side-progress-review .side-progress-head strong{font-size:14px}.side-progress-card .full-width{width:100%;justify-content:center;margin-top:14px}.side-progress-submitted-notice{margin-top:14px;text-align:center;font-weight:800}.side-progress-feedback{margin:0;padding:10px;border-radius:8px;background:#f5f7fa;font-size:12px;color:var(--muted);line-height:1.5}.submit-readiness{margin:14px 0 0;padding:10px;border-radius:8px;font-size:13px}.submit-readiness.ready{background:#dff7ea;color:var(--green);font-weight:800;text-align:center}.reason-required-hint{margin:-6px 0 0;font-size:12px;font-weight:700;color:var(--amber)}.submit-readiness.evidence-warning{background:#fff7e6;color:var(--amber);font-weight:800;text-align:center}.submit-readiness.evidence-warning p{margin:0}.submit-readiness.evidence-warning p+p{margin-top:4px}.submit-readiness.not-ready{background:var(--red-soft);color:var(--red)}.submit-readiness.not-ready p{margin:0 0 6px;font-weight:800}.submit-readiness.not-ready span{font-size:12px;font-weight:800}.submit-readiness.not-ready ul{margin:4px 0 0;padding-left:18px}.submit-issue-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px}.product-detail-header{padding:4px 0 16px;display:flex;flex-direction:column;gap:8px}.product-detail-kicker{color:var(--muted);font-size:12px;font-weight:800}.product-detail-header h2{margin:0}.product-detail-header .progress-bar-track{max-width:320px}.progress-percent-label{font-size:13px;font-weight:800;color:var(--muted)}.detail-status-badges{display:flex;gap:8px;flex-wrap:wrap}.tab-content-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.tab-content-toolbar .notice{flex:1;margin-bottom:0}.primary-action.small{padding:6px 12px;font-size:13px;flex-shrink:0}.percent-pill{font-variant-numeric:tabular-nums}.route-list{display:grid;gap:10px}.route-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.route-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:transparent;border:none;text-align:left;cursor:pointer}.route-card-title{display:flex;flex-direction:column;gap:2px}.route-card-title span{color:var(--muted);font-size:12px;font-weight:700}.route-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}.route-card-body{padding:12px 14px 14px;border-top:1px solid var(--line);display:grid;gap:10px}.route-composer{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:14px}.route-composer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.legs-editor{display:grid;gap:8px}.legs-editor .table-wrap{max-height:none}.route-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.route-footer-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.route-footer,.route-footer-group{flex-direction:column;align-items:stretch;width:100%}}.admin-route-block{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:12px;background:#fbfcfd}@media (max-width: 720px){.route-card-head{flex-direction:column;align-items:flex-start}}.dashboard-section-title{width:min(100% - 32px,1280px);margin:24px auto 10px;font-size:15px;font-weight:900;color:var(--ink)}.dashboard-section-title:first-of-type{margin-top:0}.today-tasks-grid{width:min(100% - 32px,1280px);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:128px}.task-card>span{color:var(--muted);font-size:12px;font-weight:800}.task-card strong{font-size:26px;letter-spacing:0}.task-card.risk strong{color:var(--red)}.task-card .secondary-action{width:100%;justify-content:space-between}.kpi-grid{width:min(100% - 32px,1280px);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}.kpi-cell{display:flex;flex-direction:column;justify-content:space-between;min-height:92px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px 16px}.kpi-cell span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px}.kpi-cell strong{font-size:28px;letter-spacing:0}.kpi-cell.risk strong{color:var(--red)}.quick-actions{width:min(100% - 32px,1280px);margin:0 auto;display:flex;flex-wrap:wrap;gap:10px}.activity-card{width:min(100% - 32px,1280px);margin:0 auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 16px}.activity-card .empty-state.compact{padding:10px 0;text-align:left}.activity-view-all{margin-top:10px}.activity-timeline{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.modal-panel .activity-timeline{max-height:none}.activity-timeline li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.activity-timeline li:last-child{border-bottom:0;padding-bottom:0}.activity-timeline li svg{color:var(--muted);margin-top:3px;flex:0 0 auto}.activity-row{min-width:0;flex:1}.activity-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.activity-label{font-size:14px;font-weight:600;color:var(--ink)}.activity-supplier{display:block;margin-top:2px;font-size:13px;color:var(--muted)}.activity-time{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}@media (max-width: 980px){.today-tasks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.today-tasks-grid,.kpi-grid{grid-template-columns:1fr}.task-card,.kpi-cell{min-height:0}.quick-actions{flex-direction:column}.quick-actions button{width:100%}}.detail-accordion{display:grid;gap:10px}.detail-accordion details{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:4px 14px;overflow:hidden}.detail-accordion details[open]{padding-bottom:14px}.detail-accordion summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;margin:0 -14px;padding:0 14px;font-weight:600;font-size:15px;color:var(--ink);list-style:none;transition:background-color .15s ease}.detail-accordion summary:hover{background:#eef3f8}.detail-accordion details[open]>summary{background:#eef3f8}.detail-accordion summary>span:first-of-type{flex:1;min-width:0}.detail-accordion summary::-webkit-details-marker{display:none}.detail-accordion summary:before{content:"▶";display:inline-block;flex:0 0 auto;width:16px;color:var(--muted);font-size:11px}.detail-accordion details[open]>summary:before{content:"▼"}.accordion-count-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-soft);color:var(--brand);font-size:12px;font-weight:600}.detail-accordion .detail-metrics{margin:0}.detail-accordion-note{color:var(--muted);font-size:13px;margin:8px 0 0}.campaign-bar{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 16px;margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.campaign-bar-select label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:var(--muted)}.campaign-bar-select select{min-height:38px;padding:0 10px;border-radius:6px;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink)}.campaign-bar-info{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;color:var(--muted)}.campaign-bar-info strong{color:var(--ink);margin-left:4px}.campaign-bar-modules{display:flex;flex-wrap:wrap;gap:6px}.pcn-panel{display:grid;gap:14px}.pcn-period-banner{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px 14px;font-size:13px;color:var(--muted)}.pcn-period-banner strong{color:var(--ink)}.pcn-form{display:grid;gap:16px;border:0;padding:0;margin:0}.pcn-form:disabled{opacity:.7}.pcn-question-block{display:grid;gap:8px}.pcn-question-label{font-size:13px;font-weight:800;color:var(--ink)}.pcn-radio-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}.pcn-radio-row label,.pcn-checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px;line-height:20px;cursor:pointer}.pcn-radio-row input[type=radio],.pcn-checkbox-row input[type=checkbox]{width:18px;height:18px;min-height:0;min-width:0;flex:0 0 18px;margin:0;accent-color:var(--brand)}.pcn-checkbox-row.disabled{color:var(--muted);cursor:not-allowed}.pcn-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));row-gap:16px;column-gap:24px}.pcn-field{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.pcn-field input,.pcn-field textarea{font-size:14px;font-weight:400;color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:6px}.pcn-field textarea{min-height:72px;resize:vertical}.pcn-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pcn-uploading{margin-left:8px;font-size:12px;color:var(--muted)}.pcn-attachment-list{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}.campaign-admin-panel{width:min(100% - 32px,1280px);margin:20px auto 0;display:grid;gap:16px}.campaign-create-form{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px;display:grid;gap:14px}.campaign-create-form>label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}.campaign-create-form input,.campaign-create-form select{font-size:14px;font-weight:400;color:var(--ink);min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:6px}.campaign-create-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.campaign-form-section{display:grid;gap:8px}.campaign-supplier-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));row-gap:16px;column-gap:24px;max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:6px;padding:10px}.campaign-detail-block{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px;display:grid;gap:12px}.campaign-detail-block h3{font-size:16px;margin:0}@media (max-width: 720px){.campaign-bar,.campaign-bar-info{flex-direction:column;align-items:flex-start}.pcn-contact-grid{grid-template-columns:1fr}}
