:root { --ink:#16223a; --muted:#64718a; --line:#dce2ec; --paper:#fff; --ground:#f4f6f9; --nav:#17253a; --accent:#bc7350; --success:#23846d; --shadow:0 16px 40px rgba(26,39,60,.08); font-family:Inter, Pretendard, "Noto Sans KR", Arial, sans-serif; color:var(--ink); background:var(--ground); }
* { box-sizing:border-box; } body { margin:0; min-width:320px; } .hidden { display:none !important; } .eyebrow { margin:0 0 8px; color:#667391; font-size:.71rem; font-weight:800; letter-spacing:.16em; } h1,h2,h3,p { margin-top:0; } button,input { font:inherit; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 85% 5%, #e9ded9 0, transparent 31%),var(--ground); } .login-card { width:min(100%,520px); background:var(--paper); border:1px solid var(--line); border-radius:22px; padding:42px; box-shadow:var(--shadow); } .login-card h1 { margin-bottom:12px; font-size:2rem; letter-spacing:-.05em; } .lede,.support-copy,.section-lede { color:var(--muted); line-height:1.7; } .login-form { display:grid; gap:16px; margin:28px 0 14px; } label { display:grid; gap:8px; font-size:.9rem; font-weight:700; } input { width:100%; border:1px solid #cbd3e0; border-radius:10px; padding:13px 14px; background:#fff; } input:focus { outline:3px solid #e6edf9; border-color:#486eae; } button { border:0; cursor:pointer; border-radius:10px; padding:13px 16px; font-weight:800; } .login-form button { background:var(--nav); color:#fff; } .status { min-height:1.3em; color:#b14037; font-size:.88rem; } .support-copy { margin:20px 0 0; font-size:.8rem; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:248px minmax(0,1fr); } .sidebar { position:sticky; top:0; height:100vh; padding:28px 18px; display:flex; flex-direction:column; background:var(--nav); color:#dbe6f8; } .brand { display:flex; gap:11px; align-items:center; color:#fff; text-decoration:none; line-height:1.15; font-size:.87rem; letter-spacing:.03em; } .brand span { display:grid; place-items:center; width:33px; height:33px; border-radius:9px; background:var(--accent); font-size:1.1rem; } .primary-nav { display:grid; gap:5px; margin-top:50px; } .primary-nav a { display:flex; justify-content:space-between; align-items:center; padding:12px 13px; color:#c4d1e3; text-decoration:none; border-radius:9px; font-weight:700; font-size:.92rem; } .primary-nav a.active,.primary-nav a:hover { color:#fff; background:rgba(255,255,255,.1); } .primary-nav small { color:#8ca0bd; font-size:.68rem; font-weight:600; } .sidebar-footer { margin-top:auto; color:#9cacc3; font-size:.75rem; } .dot { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:100%; background:#72d3b2; }
.workspace { min-width:0; } .topbar { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:28px 46px 24px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.75); } .topbar h1 { margin:0; font-size:1.45rem; letter-spacing:-.04em; } .topbar .eyebrow { margin-bottom:3px; } .account { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:.84rem; } .account button,.menu-button { padding:9px 12px; color:var(--ink); border:1px solid var(--line); background:#fff; } .menu-button { display:none; } .content { max-width:1320px; margin:auto; padding:42px 46px 70px; } .intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); align-items:end; gap:36px; margin-bottom:28px; } .intro h2 { margin:0; max-width:760px; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.2; letter-spacing:-.055em; } .intro > p { margin:0; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; } .metric-grid article,.panel { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 4px 18px rgba(29,45,67,.025); } .metric-grid article { padding:20px; min-height:132px; } .metric-grid p { margin-bottom:11px; color:var(--muted); font-size:.82rem; font-weight:700; } .metric-grid strong { display:block; margin-bottom:7px; font-size:1.1rem; letter-spacing:-.03em; } .metric-grid span { color:#71809a; font-size:.76rem; line-height:1.45; }
.panel { padding:30px; margin-top:24px; } .split-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(285px,.6fr); gap:28px; } .panel h2 { margin-bottom:8px; font-size:1.35rem; letter-spacing:-.04em; } .timeline { list-style:none; margin:24px 0 0; padding:0; display:grid; gap:17px; } .timeline li { display:flex; gap:14px; } .timeline li > span { flex:0 0 auto; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#e9eef7; color:#3f5d92; font-size:.76rem; font-weight:900; } .timeline strong { display:block; margin:1px 0 4px; font-size:.92rem; } .timeline p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; } .decision-card { align-self:stretch; border-radius:13px; padding:25px; background:#f8f4f1; border:1px solid #eadbd2; } .decision-card h3 { font-size:1.06rem; line-height:1.45; } .decision-card p:last-child { color:#695e59; font-size:.84rem; line-height:1.65; }
.panel-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; } .tag { border-radius:999px; padding:7px 10px; background:#edf5f2; color:var(--success); font-size:.72rem; font-weight:800; white-space:nowrap; } .connection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; } .connection-item { border:1px solid var(--line); border-radius:12px; padding:18px; } .connection-item header { display:flex; justify-content:space-between; gap:12px; align-items:start; } .connection-item h3 { margin:0 0 6px; font-size:.95rem; } .connection-item p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; } .badge { border-radius:999px; padding:5px 8px; color:#53637d; background:#edf0f5; font-size:.66rem; font-weight:800; white-space:nowrap; } .badge.waiting { color:#8a572d; background:#fcf0de; } .badge.ready { color:#236853; background:#e8f5ef; } .next-panel { background:linear-gradient(135deg,#fff 0,#f5f7fb 100%); } .next-panel p:last-child { max-width:760px; margin:0; color:var(--muted); line-height:1.7; }
.mobile-nav { display:none; }
@media (max-width:960px) { .app-shell { grid-template-columns:1fr; } .sidebar { display:none; } .topbar { padding:22px 24px; } .menu-button { display:inline-block; } .account { margin-left:auto; } .content { padding:32px 24px 82px; } .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .mobile-nav { padding:0 24px 16px; gap:8px; overflow:auto; white-space:nowrap; background:#fff; border-bottom:1px solid var(--line); } .mobile-nav:not(.hidden) { display:flex; } .mobile-nav a { padding:8px 10px; color:var(--ink); text-decoration:none; background:#f2f4f8; border-radius:8px; font-size:.8rem; font-weight:800; } }
@media (max-width:640px) { .login-card { padding:30px 24px; border-radius:17px; } .topbar { align-items:start; flex-wrap:wrap; padding:18px; } .topbar h1 { font-size:1.2rem; } .account { width:100%; justify-content:space-between; padding-top:3px; } .content { padding:28px 18px 58px; } .intro,.split-panel { grid-template-columns:1fr; gap:18px; } .intro h2 { font-size:1.82rem; } .metric-grid,.connection-list { grid-template-columns:1fr; } .panel { padding:23px 19px; } }.access-label { border-radius:999px; padding:6px 9px; background:#eef1f5; color:#56647a; font-size:.7rem; font-weight:800; white-space:nowrap; }
.access-label.ready { color:#236853; background:#e8f5ef; }
.access-label.setup,.access-label.error { color:#8a572d; background:#fcf0de; }
.access-notice { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); align-items:center; gap:28px; margin:-8px 0 24px; padding:21px 24px; border:1px solid #dfe5ee; border-radius:14px; background:#fff; }
.access-notice h2 { margin:0; font-size:1.06rem; letter-spacing:-.035em; }
.access-notice p:last-child { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
@media (max-width:640px) { .access-notice { grid-template-columns:1fr; gap:18px; } .review-filter-bar { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; } .review-filter { white-space:nowrap; } }
.work-summary { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:23px; }
.work-summary h3 { margin:0 0 7px; font-size:1rem; }
.work-summary > p:last-child { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
.work-summary-list { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.work-summary-list li { display:flex; justify-content:space-between; gap:12px; padding:12px 13px; border-radius:10px; background:#f5f7fa; font-size:.83rem; }
.work-summary-list span { color:var(--muted); white-space:nowrap; font-size:.76rem; }
.product-summary { margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.product-summary h3 { margin:0 0 8px; font-size:1rem; }
.product-summary > p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
.product-facts { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.product-facts span { padding:7px 9px; border-radius:999px; background:#eef2f7; color:#43536e; font-size:.73rem; font-weight:800; }
.product-summary-list { display:grid; gap:8px; margin:17px 0 0; padding:0; list-style:none; }
.product-summary-list li { display:flex; justify-content:space-between; gap:14px; padding:13px; border-radius:10px; background:rgba(255,255,255,.72); }
.product-summary-list strong { display:block; margin-bottom:4px; font-size:.88rem; }
.product-summary-list small { color:var(--muted); font-size:.75rem; }
.product-review-queue { margin-top:20px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }
.product-review-queue h4 { margin:0 0 7px; font-size:.9rem; }
.product-review-queue > p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.review-filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0 0; }
.review-filter { padding:8px 10px; border:1px solid #d7deea; border-radius:999px; background:#fff; color:#43536e; font-size:.72rem; font-weight:800; }
.review-filter[aria-pressed="true"] { border-color:var(--nav); background:var(--nav); color:#fff; }
.product-review-empty { padding:12px; border-radius:8px; background:#fff; color:var(--muted); font-size:.78rem; }
.product-review-list { display:grid; gap:7px; margin:14px 0 0; padding:0; list-style:none; }
.product-review-list li { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px; border-radius:8px; background:#fff; }
.product-review-list strong { display:block; margin-bottom:3px; font-size:.8rem; }
.product-review-list small { color:var(--muted); font-size:.72rem; }
.product-review-list span { flex:0 0 auto; padding:5px 7px; border-radius:999px; background:#eef2f7; color:#43536e; font-size:.68rem; font-weight:800; }

.product-evidence-readiness{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.product-evidence-readiness h4{margin:0 0 .45rem}.product-evidence-readiness>p{margin:.25rem 0;color:var(--muted);line-height:1.6}.product-evidence-readiness .evidence-state{font-size:.9rem}.product-evidence-readiness .product-facts{margin-top:.9rem}

.work-summary-list li{align-items:center}.work-summary-list li>div:first-child{min-width:0}.work-summary-list strong{display:block;margin-bottom:3px}.work-action-bar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.work-action{padding:7px 9px;border:1px solid #cfd8e7;background:#fff;color:#31415c;font-size:.7rem}.work-action:last-child{border-color:#31415c;background:#31415c;color:#fff}.work-action:disabled{cursor:wait;opacity:.65}.work-action-status{margin:13px 0 0;color:var(--muted);font-size:.78rem}@media (max-width:640px){.work-summary-list li{align-items:flex-start;flex-direction:column}.work-action-bar{justify-content:flex-start}}

.connection-list { grid-template-columns:1fr; }
.connection-summary { margin:0; color:var(--muted); font-size:.82rem; }
.connection-family { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.connection-family > h3 { grid-column:1 / -1; margin:12px 0 0; font-size:.9rem; color:var(--ink); }
.connection-family .connection-item h4 { margin:0 0 6px; font-size:.92rem; }
@media (max-width:640px) { .connection-family { grid-template-columns:1fr; } }

.governance-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.governance-block { border:1px solid var(--line); border-radius:12px; padding:18px; }
.governance-block h3 { margin:0 0 7px; font-size:.96rem; }
.governance-block p { margin:0; color:var(--muted); font-size:.79rem; line-height:1.55; }
.governance-list { margin:14px 0 0; padding:0; list-style:none; display:grid; gap:7px; }
.governance-list li { color:var(--ink); font-size:.77rem; line-height:1.45; }
@media (max-width:640px) { .governance-summary { grid-template-columns:1fr; } }

.connection-item .connection-gate {
  margin-top: 8px;
  color: #43536e;
  font-weight: 700;
}

.connection-item .connection-boundary {
  margin-top: 7px;
  font-size: 0.73rem;
}
.product-identity-readiness {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #d9dfeb;
  border-radius: 14px;
  background: #f8fafc;
}


.work-detail{grid-column:1/-1;margin-top:4px;padding:20px;border:1px solid #d8e0eb;border-radius:12px;background:#fbfcfe}.work-detail h4{margin:0 0 12px;font-size:1rem}.work-detail h5{margin:20px 0 10px;font-size:.85rem}.work-detail>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.work-detail-facts{display:flex;flex-wrap:wrap;gap:7px}.work-detail-facts span{padding:6px 8px;border-radius:999px;background:#eef2f7;color:#43536e;font-size:.7rem;font-weight:800}.work-detail-summary{margin-top:14px!important;color:#46546d!important}.work-detail-timeline{display:grid;gap:7px;margin:0;padding:0;list-style:none}.work-detail-timeline li{display:flex;justify-content:space-between;gap:14px;padding:10px;border-left:3px solid #d6dfeb;border-radius:0 8px 8px 0;background:#fff}.work-detail-timeline strong{font-size:.77rem}.work-detail-timeline span{color:var(--muted);font-size:.7rem;text-align:right}.work-detail-action{border-color:#8b9bb3;background:#f8fafc;color:#31415c}@media (max-width:640px){.work-detail{padding:17px}.work-detail-timeline li{flex-direction:column;gap:4px}.work-detail-timeline span{text-align:left}.work-detail-facts{gap:6px}}


.work-detail{grid-column:1/-1;margin-top:4px;padding:20px;border:1px solid #d8e0eb;border-radius:12px;background:#fbfcfe}.work-detail h4{margin:0 0 12px;font-size:1rem}.work-detail h5{margin:20px 0 10px;font-size:.85rem}.work-detail>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.work-detail-facts{display:flex;flex-wrap:wrap;gap:7px}.work-detail-facts span{padding:6px 8px;border-radius:999px;background:#eef2f7;color:#43536e;font-size:.7rem;font-weight:800}.work-detail-summary{margin-top:14px!important;color:#46546d!important}.work-detail-timeline{display:grid;gap:7px;margin:0;padding:0;list-style:none}.work-detail-timeline li{display:flex;justify-content:space-between;gap:14px;padding:10px;border-left:3px solid #d6dfeb;border-radius:0 8px 8px 0;background:#fff}.work-detail-timeline strong{font-size:.77rem}.work-detail-timeline span{color:var(--muted);font-size:.7rem;text-align:right}.work-detail-action{border-color:#8b9bb3;background:#f8fafc;color:#31415c}@media (max-width:640px){.work-detail{padding:17px}.work-detail-timeline li{flex-direction:column;gap:4px}.work-detail-timeline span{text-align:left}.work-detail-facts{gap:6px}}

.product-review-operations { margin-top: 28px; padding-top: 25px; border-top: 2px solid #dce4ef; }
.product-review-operations > h3 { margin: 0 0 8px; font-size: 1.06rem; }
.product-review-operations > p { color: var(--muted); font-size: .82rem; line-height: 1.6; }
.product-review-case { margin-top: 15px; padding: 18px; border: 1px solid #dbe2ed; border-radius: 12px; background: #fff; }
.product-review-case h4 { margin: 0 0 5px; font-size: .94rem; }
.product-review-case > p { margin: 9px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.58; }
.product-review-case-meta { color: #43536e !important; font-size: .72rem !important; font-weight: 800; }
.product-review-case-facts { display: grid; grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr); gap: 8px 14px; margin: 15px 0; font-size: .77rem; line-height: 1.5; }
.product-review-case-facts dt { color: #43536e; font-weight: 800; }
.product-review-case-facts dd { margin: 0; color: var(--muted); }
.product-review-boundary { padding: 10px 11px; border-radius: 9px; background: #f7f1ed; color: #695e59 !important; }
.product-review-decision { color: #236853 !important; font-weight: 800; }
.product-review-action-bar { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.product-review-action { padding: 8px 10px; border: 1px solid #cfd8e7; background: #fff; color: #31415c; font-size: .72rem; }
.product-review-action:first-child { border-color: #31415c; background: #31415c; color: #fff; }
.product-review-action:disabled { cursor: wait; opacity: .65; }
@media (max-width: 640px) { .product-review-case-facts { grid-template-columns: 1fr; gap: 3px; } .product-review-case-facts dt { margin-top: 7px; } }

.content-repository { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.content-repository > h3 { margin: 0 0 8px; font-size: 1.04rem; }
.content-repository > p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.content-repository-section { margin-top: 20px; padding: 17px; border: 1px solid #d9e1ec; border-radius: 12px; background: #fbfcfe; }
.content-repository-section h4 { margin: 0 0 7px; font-size: .94rem; }
.content-repository-section > p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.asset-intake-form,.content-link-form,.content-draft-form { display: grid; gap: 12px; margin-top: 16px; }
.asset-intake-form select,.content-link-form select,.content-draft-form select,.content-draft-form textarea { width: 100%; border: 1px solid #cbd3e0; border-radius: 10px; padding: 11px 12px; background: #fff; font: inherit; }
.content-draft-form textarea { min-height: 72px; resize: vertical; }
.asset-intake-form button,.content-link-form button,.content-draft-form button { justify-self: start; color: #fff; background: var(--nav); }
.company-repository-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.company-repository-actions .work-action { background: #fff; color: #31415c; }
.company-repository-actions .work-action:first-child { color: #fff; background: var(--nav); border-color: var(--nav); }
@media (max-width: 640px) {
  .content-repository-section { padding: 15px; }
  .company-repository-actions { justify-content: flex-start; }
  .product-review-list li:has(.company-repository-actions) { align-items: flex-start; flex-wrap: wrap; }
}