:root {
  --ink: #17201f;
  --muted: #697471;
  --paper: #f4f1e9;
  --card: #fffdf8;
  --forest: #162b29;
  --green: #2f6d5d;
  --mint: #dcebe4;
  --amber: #d9873d;
  --red: #a6463b;
  --line: #dedbd2;
  --shadow: 0 18px 50px rgba(31, 43, 40, .08);
  font-family: Inter, Pretendard, "Noto Sans KR", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; }
.sidebar { background: var(--forest); color: white; padding: 28px 20px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 30px; }
.brand-mark { width: 42px; height: 42px; border: 1px solid #75928b; border-radius: 14px; display: grid; place-items: center; font-weight: 800; color: #ddaa62; }
.brand strong, .brand small { display: block; }
.brand small { color: #a9bbb6; margin-top: 3px; }
.sidebar nav { display: grid; gap: 7px; }
.nav-button { border: 0; background: transparent; color: #b7c6c2; padding: 13px 14px; border-radius: 12px; text-align: left; display: flex; gap: 11px; align-items: center; }
.nav-button.active, .nav-button:hover { color: white; background: rgba(255,255,255,.09); }
.nav-icon { width: 24px; text-align: center; }
.privacy-note { margin-top: auto; display: flex; gap: 10px; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.privacy-note strong, .privacy-note small { display: block; }
.privacy-note small { margin-top: 3px; color: #9fb2ac; font-size: 11px; line-height: 1.5; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #80d39f; margin-top: 5px; flex: 0 0 auto; }
main { min-width: 0; padding: 32px clamp(22px, 5vw, 70px) 80px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.topbar-actions { display:flex; align-items:center; gap:8px; }
.eyebrow { color: var(--green); font-size: 11px; letter-spacing: .16em; font-weight: 800; margin: 0 0 7px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-family: Georgia, "Noto Serif KR", serif; font-size: clamp(28px, 4vw, 42px); margin-bottom: 0; }
h2 { font-size: 22px; }
h3 { font-size: 16px; }
.primary, .secondary, .danger, .ghost { border: 0; border-radius: 12px; padding: 12px 17px; font-weight: 750; }
.primary { background: var(--forest); color: white; }
.primary:hover { background: #24423e; }
.secondary { background: var(--mint); color: var(--forest); }
.ghost { background: transparent; color: var(--green); border: 1px solid var(--line); }
.danger { background: #f4dfdb; color: var(--red); }
.compact { padding: 10px 14px; }
.grid { display: grid; gap: 18px; }
.stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.two-col { grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr); margin-top: 20px; }
.card { background: var(--card); border: 1px solid rgba(64,78,73,.08); border-radius: 20px; padding: 22px; box-shadow: var(--shadow); }
.stat-card small { color: var(--muted); display: block; margin-bottom: 12px; }
.stat-card strong { font-size: 24px; font-family: Georgia, serif; }
.stat-card em { display: block; font-style: normal; color: var(--muted); font-size: 12px; margin-top: 7px; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.section-head h2, .section-head h3 { margin-bottom: 0; }
.header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.empty { text-align: center; padding: 42px 20px; color: var(--muted); }
.empty-icon { font-size: 34px; margin-bottom: 12px; }
.transaction-list, .account-list, .review-list { display: grid; gap: 10px; }
.transaction, .account-row, .review-row { display: grid; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.transaction { grid-template-columns: 46px minmax(0, 1fr) auto; }
.transaction:last-child, .account-row:last-child, .review-row:last-child { border-bottom: 0; }
.transaction-button { width: 100%; border: 0; background: transparent; color: inherit; text-align: left; font: inherit; }
.transaction-button:hover, .transaction-button:focus-visible { background: #f7f4ec; outline: 3px solid rgba(47,109,93,.12); border-radius: 12px; }
.transaction.canceled { opacity: .62; }
.transaction.canceled .tx-main strong { text-decoration: line-through; }
.tx-icon { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: var(--mint); color: var(--green); font-weight: 800; }
.tx-main strong, .tx-main small { display: block; }
.tx-main small { color: var(--muted); margin-top: 4px; }
.tx-amount { text-align: right; font-weight: 800; }
.tx-amount small { display: block; color: var(--muted); font-weight: 500; margin-top: 4px; }
.negative { color: var(--red); }
.positive { color: var(--green); }
.pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; background: #eeeae0; color: #59615e; font-size: 11px; font-weight: 700; }
.pill.warn { background: #f8e8d2; color: #995b1e; }
.pill.ok { background: var(--mint); color: var(--green); }
.pill.cancel { background: #eee4e2; color: var(--red); }
.account-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
.account-button { width: 100%; border: 0; background: transparent; color: inherit; text-align: left; font: inherit; }
.account-button:hover, .account-button:focus-visible { background: #f7f4ec; outline: 3px solid rgba(47,109,93,.12); border-radius: 12px; }
.account-badge { width: 42px; height: 42px; border-radius: 50%; background: #ece7db; display: grid; place-items: center; }
.account-row small { color: var(--muted); }
.account-actions { display: flex; gap: 8px; }
.filterbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.filterbar select, .filterbar input { width: auto; min-width: 150px; }
label { display: grid; gap: 7px; color: #43504d; font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line); background: #fffefb; border-radius: 11px; padding: 12px 13px; color: var(--ink); }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(47,109,93,.15); border-color: var(--green); }
textarea { min-height: 88px; resize: vertical; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.full { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.notice { padding: 14px 16px; border-radius: 13px; background: #f8e8d2; color: #774814; font-size: 13px; line-height: 1.6; }
.notice.safe { background: var(--mint); color: #245548; }
.bar-row { display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; align-items: center; margin: 14px 0; font-size: 13px; }
.bar { height: 9px; border-radius: 99px; background: #e9e5db; overflow: hidden; }
.bar span { display: block; height: 100%; background: var(--green); border-radius: inherit; }
.mobile-nav { display: none; }
dialog { border: 0; border-radius: 22px; width: min(660px, calc(100vw - 28px)); padding: 0; box-shadow: 0 30px 90px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(14,26,24,.5); backdrop-filter: blur(4px); }
dialog:has(.editor-modal) { width: min(1080px, calc(100vw - 28px)); }
.modal-box { padding: 24px; }
.modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.modal-head h2 { margin-bottom: 0; }
.close { border: 0; background: #eeeae0; width: 36px; height: 36px; border-radius: 50%; }
#toast { position: fixed; right: 24px; bottom: 24px; background: var(--forest); color: white; padding: 13px 17px; border-radius: 12px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s; z-index: 20; }
#toast.show { opacity: 1; transform: translateY(0); }
.modal-inline-toast { display:none; margin:-8px 0 16px; padding:12px 14px; border:1px solid #d79c91; border-radius:12px; background:#fff1ef; color:#9a382d; font-size:13px; font-weight:700; line-height:1.5; }
.modal-inline-toast.show { display:block; }
.sensitive-warning { font-size: 12px; color: var(--red); margin-top: 8px; }
.welcome-card { max-width: 780px; padding: clamp(24px,5vw,48px); }
.welcome-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; max-width: 620px; }
.onboarding-steps { list-style: none; margin: 28px 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; counter-reset: onboarding; }
.onboarding-steps li { counter-increment: onboarding; background: #f1eee6; border-radius: 15px; padding: 16px; display: grid; grid-template-columns: 32px 1fr; column-gap: 10px; }
.onboarding-steps li::before { content: counter(onboarding); width: 28px; height: 28px; border-radius: 50%; background: var(--forest); color: white; display: grid; place-items: center; grid-row: 1 / span 2; font-weight: 800; }
.onboarding-steps strong, .onboarding-steps span { grid-column: 2; }
.onboarding-steps span { color: var(--muted); font-size: 12px; margin-top: 5px; line-height: 1.5; }
.setup-mode .sidebar nav, .setup-mode .mobile-nav, .setup-mode .topbar .primary { visibility: hidden; pointer-events: none; }
.setup-card { max-width: 780px; margin: 0 auto; padding: clamp(24px, 5vw, 46px); }
.setup-card h2 { font-family: Georgia, "Noto Serif KR", serif; font-size: clamp(25px, 4vw, 36px); margin-bottom: 12px; }
.setup-copy { color: var(--muted); line-height: 1.75; max-width: 650px; margin-bottom: 24px; }
.setup-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 34px; }
.setup-progress span { color: #89918e; border-top: 3px solid var(--line); padding-top: 9px; font-size: 12px; font-weight: 800; }
.setup-progress span.active { color: var(--green); border-color: var(--green); }
.setup-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 24px 0; }
.setup-points div { border: 1px solid var(--line); border-radius: 14px; padding: 15px; }
.setup-points strong, .setup-points span { display: block; }
.setup-points span { color: var(--muted); font-size: 12px; line-height: 1.55; margin-top: 6px; }
.setup-actions { justify-content: space-between; flex-wrap: wrap; }
.file-button { display: inline-flex; align-items: center; cursor: pointer; }
label small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.currency-picker { margin: 0; border: 1px solid var(--line); border-radius: 13px; padding: 14px; display: flex; flex-wrap: wrap; gap: 16px; }
.currency-picker legend { padding: 0 6px; color: #43504d; font-size: 13px; font-weight: 700; }
.currency-picker label { display: flex; align-items: center; gap: 7px; }
.currency-picker input { width: auto; }
.account-type-guide { display: flex; flex-wrap: wrap; gap: 7px; margin: -4px 0 22px; }
.account-type-guide span { border-radius: 999px; background: #f1eee6; color: #58625f; padding: 7px 11px; font-size: 12px; font-weight: 700; }
.entry-card { max-width: 940px; margin: 0 auto; }
.entry-progress { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 28px; }
.entry-progress span { border-top: 3px solid var(--line); color: #8a928f; padding-top: 8px; font-size: 12px; font-weight: 800; }
.entry-progress span.active { border-color: var(--green); color: var(--green); }
.entry-help { color: var(--muted); margin: 5px 0 0; line-height: 1.6; }
.type-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.type-card { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; text-align: left; border: 1px solid var(--line); border-radius: 15px; padding: 15px; background: #fffefb; color: var(--ink); }
.type-card:hover, .type-card:focus-visible { border-color: var(--green); background: #f3f8f5; outline: 3px solid rgba(47,109,93,.12); }
.type-card > span { grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 13px; background: var(--mint); display: grid; place-items: center; color: var(--green); font-size: 20px; font-weight: 800; }
.type-card strong, .type-card small { grid-column: 2; }
.type-card small { color: var(--muted); margin-top: 4px; line-height: 1.4; }
.selected-type { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; border-radius: 15px; background: #f1eee6; padding: 13px; margin-bottom: 22px; }
.selected-type > span { width: 44px; height: 44px; border-radius: 14px; background: var(--forest); color: white; display: grid; place-items: center; font-size: 21px; }
.selected-type small, .selected-type strong { display: block; }
.selected-type small { color: var(--muted); margin-bottom: 3px; }
.checkbox-row { display: flex; grid-template-columns: none; flex-direction: row; align-items: center; gap: 9px; }
.checkbox-row input { width: auto; }
.review-card { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; margin: 22px 0 16px; }
.review-card div { padding: 15px; border-bottom: 1px solid var(--line); }
.review-card div:nth-child(odd) { border-right: 1px solid var(--line); }
.review-card span, .review-card strong { display: block; }
.review-card span { color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.detail-grid div { padding: 14px; border-bottom: 1px solid var(--line); }
.detail-grid div:nth-child(odd) { border-right: 1px solid var(--line); }
.detail-grid span, .detail-grid strong { display: block; }
.detail-grid span { color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.history-section { margin-top: 22px; }
.history-section h3 { display: flex; align-items: center; gap: 8px; }
.history-list { display: grid; gap: 9px; }
.history-list div { border-left: 3px solid var(--line); padding: 7px 0 7px 12px; }
.history-list span, .history-list strong, .history-list small { display: block; }
.history-list span, .history-list small, .muted-copy { color: var(--muted); }
.history-list span { font-size: 11px; }
.history-list strong { margin: 3px 0; }
.history-list small { line-height: 1.5; }
.canceled-notice { margin-bottom: 15px; background: #f4dfdb; color: var(--red); }
.evidence-section { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.evidence-section .section-head { align-items: flex-start; }
.evidence-section .section-head p { margin: 5px 0 0; }
.evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin-bottom: 14px; }
.evidence-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fffefb; }
.evidence-card img, .pdf-preview { width: 100%; height: 150px; object-fit: cover; background: #ece7db; }
.pdf-preview { display: grid; place-items: center; color: var(--red); font-family: Georgia,serif; font-size: 24px; font-weight: 800; }
.pdf-preview small { display:block; margin-top:4px; font-family:inherit; font-size:11px; font-weight:700; }
.document-modal { width:min(900px,calc(100vw - 28px)); }
.pdf-page-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.pdf-rows { margin-top:18px; }
.pdf-rows > div { display:grid; grid-template-columns:100px 150px minmax(180px,1fr) auto; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.pdf-rows small { color:var(--muted); overflow-wrap:anywhere; }
.workspace-modal { width:min(1180px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.guided-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:4px 0 16px; }
.guided-steps > div { display:grid; grid-template-columns:32px 1fr; gap:1px 9px; align-items:center; padding:11px; border:1px solid var(--line); border-radius:13px; background:#faf8f1; }
.guided-steps span { grid-row:1 / 3; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#dfe7e4; color:var(--green); font-weight:800; }
.guided-steps small { color:var(--muted); }
.guided-steps .active { border-color:#a5bcb5; background:#eef5f1; }
.guided-steps .active span { color:white; background:var(--green); }
.workspace-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:12px; }
.workspace-summary > div { padding:13px; border:1px solid var(--line); border-radius:13px; background:#fffefb; }
.workspace-summary strong,.workspace-summary span { display:block; }
.workspace-summary strong { font-size:22px; color:var(--green); }
.workspace-summary span { margin-top:3px; color:var(--muted); font-size:12px; }
.workspace-toolbar,.workspace-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; }
.workspace-toolbar label { font-weight:750; }
.workspace-toolbar span,.workspace-footer span { color:var(--muted); font-size:12px; }
.workspace-table { min-width:960px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.workspace-row { display:grid; grid-template-columns:65px 200px 125px 180px minmax(220px,1fr) 135px; gap:10px; align-items:center; padding:10px; border-bottom:1px solid var(--line); background:#fffefb; }
.workspace-row:last-child { border-bottom:0; }
.workspace-row.blocked { background:#f4f1ea; opacity:.76; }
.workspace-head { position:sticky; top:0; z-index:1; background:var(--green); color:white; font-size:12px; font-weight:800; }
.workspace-row input,.workspace-row select,.workspace-row textarea { width:100%; padding:8px; font-size:12px; }
.workspace-row textarea { resize:vertical; }
.row-check { display:flex; align-items:center; gap:8px; font-weight:800; }
.row-check input { width:auto; }
.amount-line { display:grid; grid-template-columns:1fr 72px; gap:5px; margin-top:5px; }
.workspace-row > div > select + select { margin-top:5px; }
.workspace-row .pill { display:inline-block; }
.workspace-row .pill + small { display:block; margin-top:5px; color:var(--muted); overflow-wrap:anywhere; }
.workspace-footer { position:sticky; bottom:-1px; background:#fffdf8; border-top:1px solid var(--line); }
.workspace-footer > div { display:flex; align-items:center; gap:12px; }
.evidence-card > div:not(.pdf-preview) { padding: 12px; }
.evidence-card strong, .evidence-card small { display: block; overflow-wrap: anywhere; }
.evidence-card small { color: var(--muted); margin-top: 5px; font-size: 11px; }
.evidence-actions { display: flex; gap: 7px; padding-top: 0 !important; }
.evidence-actions button { flex: 1; }
.evidence-empty { padding: 24px; border: 1px dashed var(--line); border-radius: 14px; margin-bottom: 14px; }
.ocr-text { margin-top: 15px; border: 1px solid var(--line); border-radius: 13px; padding: 12px 14px; }
.ocr-text summary { cursor: pointer; color: var(--green); font-weight: 750; }
.ocr-text pre { white-space: pre-wrap; word-break: break-word; max-height: 230px; overflow: auto; background: #f1eee6; border-radius: 10px; padding: 12px; font-size: 12px; line-height: 1.55; }
.evidence-layout { margin-top: 0; }
.review-inbox { display: grid; gap: 14px; }
.review-card-item { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 16px; border: 1px solid var(--line); border-radius: 16px; padding: 13px; background: #fffefb; }
.review-card-item > img { width: 180px; height: 180px; object-fit: cover; border-radius: 12px; background: #ece7db; }
.review-content { min-width: 0; }
.review-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.review-title strong, .review-title small { display: block; overflow-wrap: anywhere; }
.review-title small { color: var(--muted); margin-top: 4px; }
.candidate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.candidate-grid span { display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; background: #f1eee6; border-radius: 10px; padding: 9px; color: var(--muted); font-size: 11px; }
.candidate-grid b { color: var(--ink); overflow-wrap: anywhere; }
.candidate-grid em { color: var(--green); font-style: normal; font-weight: 800; }
.review-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.duplicate-list { display: grid; gap: 10px; margin-top: 16px; }
.duplicate-list > div { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.duplicate-list span { color: var(--muted); font-size: 12px; }
.manual-link-list { display:grid; gap:8px; max-height:48vh; overflow:auto; margin-top:10px; padding-right:4px; }
.manual-link-option { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:12px; cursor:pointer; }
.manual-link-option:hover { border-color:var(--accent); background:var(--surface-soft); }
.manual-link-option input { width:18px; height:18px; }
.manual-link-option span:nth-child(2) { display:grid; gap:4px; }
.manual-link-option small { color:var(--muted); }
.trash-evidence-list { display:grid; gap:10px; margin-top:16px; }
.trash-evidence-row { display:flex; justify-content:space-between; gap:16px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:14px; }
.trash-evidence-row > div:first-child { display:grid; gap:4px; }
.trash-evidence-row small { color:var(--muted); }
.evidence-filter-bar { display:flex; gap:10px; align-items:end; flex-wrap:wrap; margin-top:14px; }
.evidence-filter-bar label { display:grid; gap:5px; min-width:180px; color:var(--muted); font-size:12px; }
.evidence-filter-bar input,.evidence-filter-bar select { min-height:40px; }
.evidence-filter-bar span { margin-left:auto; color:var(--muted); font-size:13px; padding-bottom:10px; }
.evidence-user-metadata { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-top:10px; }
.evidence-user-metadata strong,.evidence-user-metadata span { border-radius:999px; padding:4px 8px; background:var(--surface-soft); font-size:12px; }
.evidence-user-metadata small { flex-basis:100%; color:var(--muted); margin-top:3px; }
.evidence-select { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:11px; }
.evidence-select input { width:18px; height:18px; }
.bulk-suggestion-list { display:grid; gap:8px; max-height:36vh; overflow:auto; margin-top:14px; }
.bulk-suggestion-list > div { display:grid; grid-template-columns:1fr auto; gap:5px 12px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; }
.bulk-suggestion-list small { grid-column:1/-1; color:var(--muted); }
.completeness-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:16px 0; }
.completeness-overview > div { display:grid; gap:4px; text-align:center; border:1px solid var(--line); border-radius:12px; padding:14px; }
.completeness-overview strong { font-size:22px; }
.completeness-overview span { color:var(--muted); font-size:12px; }
.completeness-task-list { display:grid; gap:8px; max-height:46vh; overflow:auto; margin-top:14px; }
.completeness-task { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:12px; }
.completeness-task > div { display:grid; gap:3px; }
.completeness-task small { color:var(--muted); }
.review-queue-head { margin-top:18px; }
.review-queue-filters { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)) auto; gap:10px; align-items:end; margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.review-queue-filters label { display:grid; gap:5px; color:var(--muted); font-size:12px; font-weight:700; }
.review-queue-badges { display:flex !important; flex-wrap:wrap; gap:5px !important; }
.review-queue-task { grid-template-columns:auto auto minmax(0,1fr) auto; }
.review-task-select { display:grid; place-items:center; min-width:28px; min-height:44px; }
.review-task-select input { width:18px; height:18px; }
.review-queue-alert { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--soft); color:var(--muted); }
.review-queue-alert strong { color:var(--ink); }
.review-queue-alert.danger { background:#fff0ed; color:#9b3b2d; }
.review-queue-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:10px; }
.review-queue-toolbar > div { display:flex; flex-wrap:wrap; gap:7px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:700px) { .completeness-overview { grid-template-columns:repeat(2,1fr); } .completeness-task { grid-template-columns:1fr; } }
@media (max-width:850px) { .review-queue-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .review-queue-filters button { width:100%; } }
@media (max-width:700px) { .review-queue-task { grid-template-columns:auto 1fr; } .review-queue-task > div:nth-of-type(2), .review-queue-task > .approval-row-actions { grid-column:1 / -1; } .review-queue-alert,.review-queue-toolbar { align-items:flex-start; flex-direction:column; } }
.approval-toolbar { display:flex; justify-content:space-between; align-items:center; margin:14px 0 8px; }
.confidence-summary { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 2px; }
.approval-filterbar { display:flex; justify-content:space-between; gap:10px; align-items:end; margin:12px 0 0; }
.approval-filterbar label { display:grid; gap:5px; min-width:180px; }
.approval-table { display:grid; gap:6px; max-height:58vh; overflow:auto; }
.approval-row { display:grid; grid-template-columns:58px minmax(220px,1.5fr) minmax(130px,.7fr) minmax(180px,1fr) 70px; gap:8px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:9px; }
.approval-row[hidden] { display:none; }
.approval-reasons { color:var(--muted); margin-top:4px; }
.approval-row-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:7px; }
.multi-link-list { display:grid; gap:8px; margin:16px 0; }
.multi-link-option { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; }
.multi-link-option span:nth-child(2) { display:grid; gap:3px; }
.link-change-preview { display:grid; gap:7px; margin:8px 0 16px; }
.link-change-preview article { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; }
.metadata-change-preview { display:grid; gap:8px; max-height:55vh; overflow:auto; margin:16px 0; }
.metadata-change-preview article { padding:11px; border:1px solid var(--line); border-radius:11px; }
.metadata-change-preview article > div { display:grid; gap:5px; }
.approval-row > div { display:grid; gap:3px; }
.approval-row small { color:var(--muted); }
.approval-head { position:sticky; top:0; z-index:1; background:var(--surface-soft); font-size:12px; color:var(--muted); }
.approval-check { display:flex; gap:5px; align-items:center; }
@media (max-width:800px) { .approval-row { grid-template-columns:44px 1fr; } .approval-row > select,.approval-row > input:not([type="hidden"]),.approval-row > .pill { grid-column:2; } .approval-head { display:none; } }
.image-editor-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.7fr); gap: 18px; margin-top: 16px; }
.canvas-wrap { min-height: 360px; display: grid; place-items: center; background: #242927; border-radius: 15px; padding: 12px; overflow: auto; }
#evidence-editor-canvas { display: block; max-width: 100%; max-height: 620px; background: white; box-shadow: 0 8px 30px rgba(0,0,0,.24); }
.editor-controls { display: grid; align-content: start; gap: 14px; }
.editor-controls fieldset { margin: 0; border: 1px solid var(--line); border-radius: 13px; padding: 12px; }
.editor-controls legend { color: #43504d; font-size: 12px; font-weight: 800; padding: 0 5px; }
.editor-buttons { display: flex; gap: 7px; flex-wrap: wrap; }
.crop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
.crop-grid input { padding: 9px; }
.review-summary-card { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr) auto; align-items:center; gap:22px; margin-top:18px; border-left:4px solid var(--green); }
.review-summary-copy h2,.review-summary-copy p { margin:0; }
.review-summary-copy h2 { margin-top:5px; font-size:21px; }
.review-summary-copy p:last-child { margin-top:7px; color:var(--muted); line-height:1.55; }
.review-summary-numbers { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.review-summary-numbers span { display:grid; gap:3px; min-width:70px; padding:10px; border-radius:12px; background:#f1eee6; color:var(--muted); font-size:11px; text-align:center; }
.review-summary-numbers strong { color:var(--ink); font-size:19px; }
.review-center { display:grid; gap:16px; }
.review-center-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:linear-gradient(135deg,#f2f7f4,#fffdf8 68%); }
.review-center-hero h2,.review-center-hero p { margin:0; }
.review-center-hero h2 { margin-top:5px; }
.review-center-hero p:last-child { margin-top:8px; color:var(--muted); line-height:1.6; }
.review-center-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.review-center-overview > div { display:grid; gap:4px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#fffefb; }
.review-center-overview strong { color:var(--green); font-size:27px; }
.review-center-overview span { color:var(--muted); font-size:12px; }
.review-priority-note { display:flex; align-items:center; gap:13px; padding:15px 17px; border-radius:15px; background:#fff0df; color:#704b22; }
.review-priority-note > span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#b86424; color:white; font-weight:850; }
.review-priority-note strong,.review-priority-note p { display:block; margin:0; }
.review-priority-note p { margin-top:3px; font-size:12px; line-height:1.5; opacity:.78; }
.review-priority-note.all-clear { background:#e7f3ec; color:var(--green); }
.review-priority-note.all-clear > span { background:var(--green); }
.review-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.review-sections > section > p { margin:7px 0 15px; color:var(--muted); font-size:13px; line-height:1.55; }
.review-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.review-section-head > div { display:flex; align-items:center; gap:9px; }
.review-section-head h3 { margin:0; }
.review-section-head > strong { display:grid; place-items:center; min-width:34px; height:34px; border-radius:11px; background:#f1eee6; }
.priority { padding:5px 8px; border-radius:999px; font-size:10px; font-weight:850; }
.priority.high { background:#f4dfd8; color:#91492e; }
.priority.medium { background:#fff0cf; color:#7d5b12; }
.priority.low { background:#dfece7; color:var(--green); }
.review-task-list { display:grid; gap:8px; }
.review-task { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:11px 0; border-top:1px solid var(--line); }
.review-task:first-child { border-top:0; }
.review-task strong,.review-task small { display:block; overflow-wrap:anywhere; }
.review-task small { margin-top:3px; color:var(--muted); }
.review-task > span { color:var(--ink); font-size:12px; font-weight:750; white-space:nowrap; }
.review-clear { padding:14px; border:1px dashed var(--line); border-radius:13px; color:var(--muted); text-align:center; font-size:13px; }
.confirmation-modal { width:min(920px,calc(100vw - 28px)); }
.confirmation-progress { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin:2px 0 17px; padding:14px; border-radius:14px; background:#f1eee6; }
.confirmation-progress strong { color:var(--green); font-size:22px; }
.confirmation-progress > div { height:8px; overflow:hidden; border-radius:999px; background:#ddd8cd; }
.confirmation-progress > div span { display:block; height:100%; border-radius:inherit; background:var(--green); }
.confirmation-progress small { color:var(--muted); }
.confirmation-checks { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:20px; }
.confirmation-check { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:9px; padding:11px; border:1px solid var(--line); border-radius:13px; background:#fffefb; }
.confirmation-check > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; font-weight:850; }
.confirmation-check strong,.confirmation-check small { display:block; }
.confirmation-check small { margin-top:2px; color:var(--muted); font-size:10px; line-height:1.4; }
.confirmation-check.ready > span { background:var(--mint); color:var(--green); }
.confirmation-check.needs-work { border-color:#e5cdb4; background:#fff9ef; }
.confirmation-check.needs-work > span { background:#f8e8d2; color:#995b1e; }
.confirmation-ack { padding:12px; border:1px solid var(--line); border-radius:12px; background:#f7f4ec; }
.confirmation-ack.warning { border-color:#e5cdb4; background:#fff9ef; }
.confirmation-evidence { margin-top:2px; }
.reconciliation-page { display:grid; gap:16px; }
.reconciliation-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:linear-gradient(135deg,#edf5f1,#fffdf8 70%); }
.reconciliation-hero h2,.reconciliation-hero p { margin:0; }
.reconciliation-hero h2 { margin-top:5px; }
.reconciliation-hero p:last-child { margin-top:8px; color:var(--muted); line-height:1.6; }
.reconciliation-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.reconciliation-guide > div { display:grid; grid-template-columns:34px 1fr; gap:2px 10px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fffefb; }
.reconciliation-guide span { grid-row:1 / 3; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--mint); color:var(--green); font-weight:850; }
.reconciliation-guide small { color:var(--muted); }
.reconciliation-list { display:grid; gap:9px; }
.reconciliation-account { display:grid; grid-template-columns:46px minmax(0,1fr) auto auto; align-items:center; gap:13px; padding:13px 0; border-bottom:1px solid var(--line); }
.reconciliation-account:last-child { border-bottom:0; }
.reconciliation-account > div:nth-child(2) strong,.reconciliation-account > div:nth-child(2) small,.reconciliation-account > div:nth-child(2) span { display:block; }
.reconciliation-account > div:nth-child(2) small,.reconciliation-account > div:nth-child(2) span { margin-top:3px; color:var(--muted); font-size:11px; }
.reconciliation-state { display:grid; justify-items:end; gap:4px; }
.reconciliation-state small { color:var(--muted); font-size:11px; }
.reconciliation-modal { width:min(940px,calc(100vw - 28px)); }
.reconciliation-preview-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.reconciliation-preview-grid > div { padding:13px; border:1px solid var(--line); border-radius:13px; background:#f7f4ec; }
.reconciliation-preview-grid span,.reconciliation-preview-grid strong,.reconciliation-preview-grid small { display:block; }
.reconciliation-preview-grid span,.reconciliation-preview-grid small { color:var(--muted); font-size:11px; }
.reconciliation-preview-grid strong { margin:6px 0; font-size:16px; overflow-wrap:anywhere; }
.reconciliation-preview-grid .matched { border-color:#b7d5c7; background:#edf7f1; }
.reconciliation-preview-grid .matched strong { color:var(--green); }
.reconciliation-preview-grid .mismatch { border-color:#e2bdb5; background:#fff3ef; }
.reconciliation-preview-grid .mismatch strong { color:var(--red); }
.unknown-flow-list { display:grid; gap:5px; margin-top:10px; }
.unknown-flow-list button { border:0; border-radius:9px; padding:8px; background:rgba(255,255,255,.55); color:inherit; text-align:left; font-size:11px; }
.balance-history { display:grid; gap:8px; }
.balance-history > div { display:grid; grid-template-columns:100px minmax(130px,.6fr) 1fr; gap:10px; padding:10px 0; border-top:1px solid var(--line); }
.balance-history span,.balance-history small { color:var(--muted); font-size:11px; }
.reconciliation-row-actions,.resolution-actions { display:flex; flex-wrap:wrap; gap:7px; }
.resolution-modal { width:min(1080px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.resolution-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:13px; }
.resolution-summary > div { padding:14px; border:1px solid var(--line); border-radius:13px; background:#f7f4ec; }
.resolution-summary span,.resolution-summary strong { display:block; }
.resolution-summary span { color:var(--muted); font-size:11px; }
.resolution-summary strong { margin-top:6px; font-size:18px; }
.resolution-summary .matched { border-color:#b7d5c7; background:#edf7f1; }
.resolution-summary .matched strong { color:var(--green); }
.resolution-summary .mismatch { border-color:#e2bdb5; background:#fff3ef; }
.resolution-summary .mismatch strong { color:var(--red); }
.resolution-actions { justify-content:flex-end; margin:14px 0; }
.resolution-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.resolution-columns > section { min-width:0; padding:15px; border:1px solid var(--line); border-radius:15px; background:#fffefb; }
.resolution-flow-list { display:grid; gap:7px; margin-top:12px; }
.resolution-flow-list article { display:grid; grid-template-columns:40px minmax(0,1fr) auto auto; align-items:center; gap:8px; padding:9px 0; border-top:1px solid var(--line); }
.resolution-flow-list article:first-child { border-top:0; }
.resolution-flow-list strong,.resolution-flow-list small,.resolution-flow-list em { display:block; overflow-wrap:anywhere; }
.resolution-flow-list small { margin-top:3px; color:var(--muted); font-size:10px; }
.resolution-flow-list em { margin-top:3px; color:var(--green); font-size:10px; font-style:normal; font-weight:750; }
.closing-page { display:grid; gap:15px; }
.closing-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:linear-gradient(135deg,#f0f6f3,#fffdf8 72%); }
.closing-hero h2,.closing-hero p { margin:0; }
.closing-hero h2 { margin-top:5px; }
.closing-hero p:last-child { margin-top:8px; color:var(--muted); line-height:1.6; }
.closing-selector { display:grid; grid-template-columns:minmax(220px,.4fr) 1fr; align-items:end; gap:20px; }
.closing-selector label { margin:0; }
.closing-selector > div strong,.closing-selector > div span { display:block; }
.closing-selector > div span { margin-top:5px; color:var(--muted); font-size:12px; }
.closing-status { display:flex; justify-content:space-between; align-items:center; gap:15px; border-left:4px solid var(--green); }
.closing-status.stale { border-left-color:var(--amber); }
.closing-status > div:first-child strong,.closing-status > div:first-child small { display:block; }
.closing-status > div:first-child strong { margin-top:7px; }
.closing-status > div:first-child small { margin-top:4px; color:var(--muted); }
.closing-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.closing-overview > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:#fffefb; }
.closing-overview span,.closing-overview strong { display:block; }
.closing-overview span { color:var(--muted); font-size:11px; }
.closing-overview strong { margin-top:7px; font-size:18px; overflow-wrap:anywhere; }
.closing-overview .matched { border-color:#b7d5c7; background:#edf7f1; }
.closing-overview .mismatch { border-color:#e2bdb5; background:#fff3ef; }
.closing-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.closing-checklist article { display:grid; grid-template-columns:36px minmax(0,1fr) auto auto; align-items:center; gap:11px; padding:16px; box-shadow:none; }
.closing-checklist article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#f8e8d2; color:#995b1e; font-weight:850; }
.closing-checklist article.done > span { background:var(--mint); color:var(--green); }
.closing-checklist strong,.closing-checklist small { display:block; }
.closing-checklist small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.closing-checklist b { white-space:nowrap; }
.closing-form { display:grid; gap:14px; }
.closing-form h2,.closing-form p { margin:0; }
.closing-form div > p:last-child { margin-top:6px; color:var(--muted); }
button:disabled { cursor:not-allowed; opacity:.45; }
.funding-page { display:grid; gap:15px; }
.funding-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:linear-gradient(135deg,#eef5f1,#fffaf0 72%); }
.funding-hero h2,.funding-hero p { margin:0; }
.funding-hero h2 { margin-top:5px; }
.funding-hero p:last-child { margin-top:8px; color:var(--muted); line-height:1.6; }
.funding-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.funding-overview > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:#fffefb; }
.funding-overview span,.funding-overview strong,.funding-overview small { display:block; }
.funding-overview span,.funding-overview small { color:var(--muted); font-size:11px; }
.funding-overview strong { margin:7px 0 4px; color:var(--green); font-size:22px; }
.funding-workspace { align-items:start; }
.funding-gaps > div:last-child { display:grid; gap:7px; }
.funding-gaps button { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:10px; padding:11px 0; border-top:1px solid var(--line); text-align:left; }
.funding-gaps button span,.funding-gaps button small { color:var(--muted); font-size:11px; }
.funding-link-list { display:grid; gap:8px; }
.funding-link-list article { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto auto; align-items:center; gap:11px; padding:12px 0; border-top:1px solid var(--line); }
.funding-link-list article:first-child { border-top:0; }
.funding-link-list strong,.funding-link-list small { display:block; overflow-wrap:anywhere; }
.funding-link-list small { margin-top:4px; color:var(--muted); font-size:10px; }
.funding-link-list em { color:var(--red); font-style:normal; font-weight:800; }
.funding-link-list > article > span { color:var(--green); font-size:18px; }
.funding-link-list > article > p { grid-column:1 / -1; margin:0; padding:8px 10px; border-radius:9px; background:#f7f4ec; color:var(--muted); font-size:11px; }
.package-page { display:grid; gap:15px; }
.package-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; background:linear-gradient(135deg,#f1f6f3,#fff9ed 72%); }
.package-hero h2,.package-hero p { margin:0; }
.package-hero h2 { margin-top:5px; }
.package-hero p:last-child { margin-top:8px; color:var(--muted); line-height:1.6; }
.package-selector { display:grid; grid-template-columns:180px 180px 1fr; align-items:end; gap:14px; }
.package-selector label { margin:0; }
.package-selector > div strong,.package-selector > div span { display:block; }
.package-selector > div span { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }
.package-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.package-overview > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:#fffefb; }
.package-overview span,.package-overview strong { display:block; }
.package-overview span { color:var(--muted); font-size:11px; }
.package-overview strong { margin-top:7px; font-size:20px; }
.package-overview .matched { border-color:#b7d5c7; background:#edf7f1; }
.package-overview .mismatch { border-color:#e2bdb5; background:#fff3ef; }
.package-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.package-checks article { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:11px; padding:16px; box-shadow:none; }
.package-checks article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#f8e8d2; color:#995b1e; font-weight:850; }
.package-checks article.done > span { background:var(--mint); color:var(--green); }
.package-checks strong,.package-checks small { display:block; }
.package-checks small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.package-form { display:grid; gap:14px; }
.package-form h2,.package-form p { margin:0; }
.package-form > div:first-child p:last-child { margin-top:6px; color:var(--muted); }
.package-history { display:grid; gap:8px; }
.package-history > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; align-items:center; padding:10px 0; border-top:1px solid var(--line); }
.package-history > div:first-child { border-top:0; }
.package-history strong,.package-history small { display:block; }
.package-history small { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.package-history .pill { grid-row:1 / 3; grid-column:2; }
.package-verifier .section-head { align-items:flex-start; }
.verification-result { display:grid; gap:13px; padding:16px; border:1px solid var(--line); border-radius:15px; text-align:left; }
.verification-result.verified { border-color:#add0bf; background:#edf7f1; }
.verification-result.limited { border-color:#e8c98e; background:#fff8e8; }
.verification-result.failed { border-color:#e2bdb5; background:#fff3ef; }
.verification-head { display:flex; align-items:center; gap:11px; }
.verification-head > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--green); color:white; font-size:20px; font-weight:900; }
.verification-result.limited .verification-head > span { background:#a96b24; }
.verification-result.failed .verification-head > span { background:var(--red); }
.verification-head strong,.verification-head small { display:block; }
.verification-head small { margin-top:3px; color:var(--muted); }
.verification-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.verification-grid > div { min-width:0; padding:10px; border-radius:10px; background:rgba(255,255,255,.58); }
.verification-grid span,.verification-grid strong { display:block; }
.verification-grid span { color:var(--muted); font-size:10px; }
.verification-grid strong { margin-top:5px; overflow-wrap:anywhere; font-size:12px; }
.verification-messages { display:grid; gap:5px; }
.verification-messages p { margin:0; padding:8px 10px; border-radius:9px; background:rgba(255,255,255,.55); font-size:11px; }
.app-locked .topbar > button { display:none; }
.lock-screen { min-height:60vh; display:grid; place-items:center; }
.lock-card { width:min(480px,100%); text-align:center; }
.lock-symbol { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 18px; border-radius:20px; background:var(--forest); color:white; font-size:28px; }
.lock-card > p { color:var(--muted); line-height:1.6; }
.lock-card form { display:grid; gap:12px; margin:20px 0; text-align:left; }
.lock-card form button { width:100%; }
.security-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }
.security-grid section { padding:17px; border:1px solid var(--line); border-radius:15px; background:#fffefb; }
.security-grid section > p { color:var(--muted); font-size:12px; line-height:1.55; }
.security-grid section > button,.security-grid section > label.file-button { width:100%; justify-content:center; margin-top:8px; }
.security-grid section form { display:grid; gap:10px; }
.security-modal { width:min(720px,calc(100vw - 28px)); }
.manual-merge-modal { width:min(1120px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.lineage-merge-tools { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:18px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:var(--card); }
.lineage-merge-tools h3 { margin:0 0 4px; }
.lineage-merge-tools small { display:block; margin-top:8px; color:var(--muted); }
.upload-button { cursor:pointer; flex:0 0 auto; }
.merge-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }
.merge-overview > div { padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.merge-overview span,.merge-overview strong { display:block; }
.merge-overview span { color:var(--muted); font-size:.82rem; margin-bottom:5px; }
.merge-collections { display:grid; gap:16px; margin:18px 0; }
.merge-collections section { padding:16px; border:1px solid var(--line); border-radius:18px; }
.merge-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); gap:16px; align-items:center; padding:14px 0; border-top:1px solid var(--line); }
.merge-row > div:first-child > strong,.merge-row > div:first-child > small { display:block; margin-top:6px; overflow-wrap:anywhere; }
.merge-choice { margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; display:flex; flex-wrap:wrap; gap:12px; }
.merge-choice legend { padding:0 6px; color:var(--muted); font-size:.8rem; }
.merge-profile { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:16px; display:flex; gap:18px; flex-wrap:wrap; }
.merge-safety { margin:16px 0; }
.merge-post-actions { margin:12px 0 18px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.merge-post-actions small { color:var(--muted); }
.merge-check-list { display:grid; gap:9px; margin:16px 0; }
.merge-check-list > div { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:12px; }
.merge-check-list > div > span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; font-weight:800; }
.merge-check-list .pass > span { background:var(--mint); color:var(--green); }
.merge-check-list .fail > span { background:#f4d9d5; color:var(--red); }
.merge-check-list strong,.merge-check-list small { display:block; }
.merge-check-list small { margin-top:4px; color:var(--muted); }
.reference-integrity-modal { width:min(1040px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.reference-issue-list { display:grid; gap:10px; margin:18px 0; }
.reference-issue-list article { display:grid; grid-template-columns:180px minmax(0,1fr); gap:16px; padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.reference-issue-list strong,.reference-issue-list small { display:block; }
.reference-issue-list small { color:var(--muted); margin-top:4px; }
.reference-issue-list p { margin:8px 0; }
.reference-issue-list select { width:100%; }
.reference-issue-check { display:flex; align-items:flex-start; gap:9px; }
.schema-migration-modal { width:min(820px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.schema-version-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; margin:16px 0; }
.schema-version-flow > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.schema-version-flow span,.schema-version-flow strong { display:block; }
.schema-version-flow span { color:var(--muted); font-size:.82rem; }
.schema-version-flow strong { font-size:1.35rem; margin-top:4px; }
.schema-rehearsal-entry { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:18px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.schema-rehearsal-entry strong,.schema-rehearsal-entry small { display:block; }
.schema-rehearsal-entry small { margin-top:5px; color:var(--muted); }
.rehearsal-summary { display:flex; justify-content:space-between; gap:12px; padding:16px; border-radius:14px; margin:16px 0; }
.rehearsal-summary.passed { background:var(--success-soft); color:var(--success); }
.rehearsal-summary.failed { background:var(--danger-soft); color:var(--danger); }
.rehearsal-result-list { display:grid; gap:9px; margin-bottom:16px; }
.rehearsal-result-list article { display:grid; grid-template-columns:56px 1fr; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.rehearsal-result-list article > span { font-weight:800; }
.rehearsal-result-list article.passed > span { color:var(--success); }
.rehearsal-result-list article.failed > span { color:var(--danger); }
.rehearsal-result-list strong,.rehearsal-result-list small { display:block; }
.rehearsal-result-list small,.rehearsal-result-list p { color:var(--muted); }
.rehearsal-result-list p { margin:5px 0 0; font-size:.82rem; }
@media (max-width:640px) { .schema-rehearsal-entry,.rehearsal-summary { align-items:stretch; flex-direction:column; } }
.release-safety-card,.release-guard-steps { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.release-safety-card span,.release-safety-card strong,.release-safety-card small { display:block; }
.release-safety-card span { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.release-safety-card small { color:var(--muted); margin-top:5px; }
.release-preflight-modal { width:min(850px,calc(100vw - 24px)); max-height:92vh; overflow:auto; }
.release-guard-steps { margin:16px 0; }
.release-guard-steps span { flex:1; text-align:center; font-weight:700; }
.release-overview { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; padding:16px; border-radius:14px; margin:16px 0; }
.release-overview.passed { background:var(--success-soft); }
.release-overview.failed { background:var(--danger-soft); }
.release-overview span,.release-overview strong { display:block; }
.release-overview p { grid-column:1/-1; margin:0; }
.release-check-list { display:grid; gap:9px; margin-bottom:16px; }
.release-check-list article { display:grid; grid-template-columns:72px 1fr; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.release-check-list article > span { font-weight:800; }
.release-check-list article.통과 > span,.release-check-list article.현재 > span,.release-check-list article.업데이트 > span { color:var(--success); }
.release-check-list article.차단 > span { color:var(--danger); }
.release-check-list article.주의 > span { color:var(--warning); }
.release-check-list strong,.release-check-list small { display:block; }
.release-check-list small { color:var(--muted); margin-top:3px; }
@media (max-width:640px) { .release-safety-card,.release-guard-steps { align-items:stretch; flex-direction:column; } .release-overview { grid-template-columns:1fr; } .release-overview b { display:none; } }
.release-card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.update-history-list { display:grid; gap:9px; margin-bottom:16px; }
.update-history-list article { display:grid; grid-template-columns:92px 1fr; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; }
.update-history-list strong,.update-history-list small { display:block; }
.update-history-list small { color:var(--muted); margin-top:4px; }
.key-policy-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0; }
.key-policy-summary > div { padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.key-policy-summary span,.key-policy-summary strong,.key-policy-summary small { display:block; }
.key-policy-summary small { color:var(--muted); margin-top:5px; }
.custody-safe { color:var(--green); }
.custody-warn { color:var(--amber); }
.custody-danger { color:var(--red); }
.release-key-list { display:grid; gap:9px; margin:14px 0; }
.release-key-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:12px; }
.release-key-item strong,.release-key-item small { display:block; margin-top:5px; overflow-wrap:anywhere; }
.release-key-item small,.release-key-item p { color:var(--muted); }
.release-key-item p { margin:0; text-align:right; }
@media (max-width:640px) { .release-card-actions { display:grid; } .update-history-list article { grid-template-columns:1fr; } }
.operational-readiness-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 18px; padding:16px; border:1px solid #9fcfc0; border-radius:14px; background:#f2fbf7; }
.operational-readiness-card span,.operational-readiness-card strong,.operational-readiness-card small { display:block; }
.operational-readiness-card span { color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.operational-readiness-card small { color:var(--muted); margin-top:4px; }
.readiness-scope { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.readiness-scope span { padding:8px 11px; border-radius:999px; background:var(--mint); color:var(--green); font-size:.78rem; font-weight:750; }
.readiness-summary { display:flex; justify-content:space-between; gap:12px; padding:15px; margin-bottom:16px; border-radius:14px; border:1px solid var(--line); }
.readiness-summary.passed { background:#edf9f2; border-color:#9fcfb4; }.readiness-summary.conditional { background:#fff8e8; border-color:#e8c77d; }.readiness-summary.failed { background:#fff0ed; border-color:#e0aaa2; }
.readiness-check-list { display:grid; gap:9px; margin-bottom:16px; }
.readiness-check-list article { display:grid; grid-template-columns:64px 1fr; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.readiness-check-list article > span { font-weight:800; }.readiness-check-list article.통과 > span { color:var(--success); }.readiness-check-list article.주의 > span { color:var(--warning); }.readiness-check-list article.차단 > span { color:var(--danger); }
.readiness-check-list small,.readiness-check-list strong { display:block; }.readiness-check-list small,.readiness-check-list p { color:var(--muted); }.readiness-check-list p { margin:4px 0 0; }
.scenario-details { margin:14px 0; padding:12px; border:1px solid var(--line); border-radius:12px; }.scenario-details summary { cursor:pointer; font-weight:800; }
@media (max-width:640px) { .operational-readiness-card,.readiness-summary { align-items:stretch; flex-direction:column; }.operational-readiness-card button,.release-card-actions button,.release-card-actions .file-button { width:100%; }.readiness-check-list article { grid-template-columns:1fr; }.modal-box { max-height:92vh; overflow-y:auto; } }
.user-acceptance-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 18px; padding:16px; border:1px solid #b8c5dc; border-radius:14px; background:#f5f7fc; }
.user-acceptance-card span,.user-acceptance-card strong,.user-acceptance-card small { display:block; }.user-acceptance-card span { color:#415f91; font-size:.72rem; font-weight:800; letter-spacing:.12em; }.user-acceptance-card small { color:var(--muted); margin-top:4px; }
.acceptance-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0; }.acceptance-flow span { padding:10px; border-radius:11px; background:#eef2f9; color:#415f91; text-align:center; font-size:.78rem; font-weight:800; }
.acceptance-summary { display:flex; justify-content:space-between; gap:12px; padding:15px; margin-bottom:14px; border:1px solid var(--line); border-radius:14px; }.acceptance-summary.passed { background:#edf9f2; border-color:#9fcfb4; }.acceptance-summary.failed { background:#fff0ed; border-color:#e0aaa2; }
.acceptance-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:18px; }.acceptance-checks article { display:grid; grid-template-columns:30px 1fr; gap:9px; padding:11px; border:1px solid var(--line); border-radius:12px; }.acceptance-checks article > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; font-weight:800; }.acceptance-checks article.pass > span { background:#e2f5e9; color:#187449; }.acceptance-checks article.warn > span { background:#fff1cf; color:#8a5a00; }.acceptance-checks article.fail > span { background:#fde6e2; color:#a33b2f; }.acceptance-checks small { display:block; color:var(--muted); margin-top:3px; }
.acceptance-manual { display:grid; gap:10px; }.acceptance-manual > label:not(:last-of-type) { display:grid; grid-template-columns:22px 1fr; gap:9px; align-items:start; padding:11px; border:1px solid var(--line); border-radius:11px; line-height:1.45; }.acceptance-manual input[type=checkbox] { width:18px; height:18px; margin-top:2px; }
@media (max-width:640px) { .user-acceptance-card,.acceptance-summary { align-items:stretch; flex-direction:column; }.user-acceptance-card button { width:100%; }.acceptance-flow,.acceptance-checks { grid-template-columns:1fr; }.acceptance-manual .form-actions { display:grid; }.acceptance-manual .form-actions button { width:100%; min-height:46px; } button,.file-button,input:not([type=checkbox]),select { min-height:44px; } textarea { min-height:110px; } }
.feedback-center-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 18px; padding:16px; border:1px solid #d9bd89; border-radius:14px; background:#fff9ed; }.feedback-center-card span,.feedback-center-card strong,.feedback-center-card small { display:block; }.feedback-center-card span { color:#8a5a00; font-size:.72rem; font-weight:800; letter-spacing:.12em; }.feedback-center-card small { color:var(--muted); margin-top:4px; }
.feedback-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:16px; }.feedback-overview > div { padding:13px; border:1px solid var(--line); border-radius:12px; }.feedback-overview span,.feedback-overview strong { display:block; }.feedback-overview span { color:var(--muted); font-size:.72rem; }.feedback-overview strong { margin-top:4px; font-size:1.25rem; }
.feedback-create { padding:13px; margin-bottom:16px; border:1px solid var(--line); border-radius:12px; }.feedback-create > summary { cursor:pointer; font-weight:800; }.feedback-form { margin-top:14px; }
.feedback-list { display:grid; gap:10px; margin-bottom:16px; }.feedback-list > article { padding:14px; border:1px solid var(--line); border-left-width:5px; border-radius:13px; }.feedback-list > article.priority-p0 { border-left-color:#a33b2f; }.feedback-list > article.priority-p1 { border-left-color:#d07835; }.feedback-list > article.priority-p2 { border-left-color:#d3ad4b; }.feedback-list > article.priority-p3 { border-left-color:#7aa899; }.feedback-list > article.resolved { opacity:.72; }
.feedback-item-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; }.priority-badge { display:grid; place-items:center; width:40px; height:34px; border-radius:10px; background:#f0eee8; font-weight:900; }.feedback-item-head small,.feedback-item-head strong { display:block; }.feedback-item-head small,.feedback-list article > small { color:var(--muted); }.feedback-list article > p { margin:10px 0 7px; white-space:pre-wrap; line-height:1.5; }.feedback-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }.feedback-list details { margin-top:10px; }.feedback-list details summary { cursor:pointer; font-size:.8rem; font-weight:700; }.feedback-list details li { margin:6px 0; color:var(--muted); font-size:.78rem; }
@media (max-width:640px) { .feedback-center-card { align-items:stretch; flex-direction:column; }.feedback-center-card button { width:100%; }.feedback-overview { grid-template-columns:repeat(2,1fr); }.feedback-item-head { grid-template-columns:42px minmax(0,1fr); }.feedback-item-head .pill { grid-column:1/-1; justify-self:start; }.feedback-actions { display:grid; }.feedback-actions button { width:100%; } }
.improvement-control-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 18px; padding:16px; border:1px solid #b9cda6; border-radius:14px; background:#f6faef; }.improvement-control-card span,.improvement-control-card strong,.improvement-control-card small { display:block; }.improvement-control-card span { color:#537436; font-size:.72rem; font-weight:800; letter-spacing:.12em; }.improvement-control-card small { color:var(--muted); margin-top:4px; }
.regression-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px; border:1px solid var(--line); border-radius:12px; }.regression-fields legend { padding:0 6px; font-weight:800; }.regression-fields label { display:grid; grid-template-columns:20px 1fr; gap:8px; align-items:start; }.regression-fields input { width:18px; height:18px; }
.improvement-candidates { margin-bottom:18px; }.improvement-candidates > button { width:100%; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 0; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; }.improvement-candidates > button > span { display:grid; place-items:center; height:32px; border-radius:9px; background:#fff1cf; font-weight:900; }.improvement-candidates strong,.improvement-candidates small { display:block; }.improvement-candidates small { color:var(--muted); margin-top:3px; }.improvement-candidates b { color:var(--green); font-size:.8rem; }
.improvement-plan-list { display:grid; gap:10px; margin-bottom:16px; }.improvement-plan-list > article { padding:14px; border:1px solid var(--line); border-radius:13px; }.improvement-plan-head { display:grid; grid-template-columns:100px minmax(0,1fr); gap:10px; align-items:center; }.improvement-plan-head strong,.improvement-plan-head small { display:block; }.improvement-plan-head small { color:var(--muted); margin-top:4px; }.improvement-plan-list p { margin:9px 0; color:var(--muted); line-height:1.5; }.improvement-plan-list p b { color:var(--ink); }
@media (max-width:640px) { .improvement-control-card { align-items:stretch; flex-direction:column; }.improvement-control-card button { width:100%; }.regression-fields { grid-template-columns:1fr; }.improvement-candidates > button { grid-template-columns:42px minmax(0,1fr); }.improvement-candidates > button > b { grid-column:1/-1; }.improvement-plan-head { grid-template-columns:1fr; } }
.pilot-control-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 18px; padding:16px; border:1px solid #9cc7cf; border-radius:14px; background:#f0fafb; }.pilot-control-card span,.pilot-control-card strong,.pilot-control-card small { display:block; }.pilot-control-card span { color:#276d78; font-size:.72rem; font-weight:800; letter-spacing:.12em; }.pilot-control-card small { color:var(--muted); margin-top:4px; }
.pilot-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:16px; }.pilot-summary > div { padding:13px; border:1px solid var(--line); border-radius:12px; }.pilot-summary.ready > div { background:#f2faf5; }.pilot-summary.conditional > div { background:#fff9ed; }.pilot-summary strong,.pilot-summary span { display:block; }.pilot-summary strong { font-size:1.22rem; }.pilot-summary span { color:var(--muted); font-size:.72rem; margin-top:3px; }
.pilot-checkin-reminder { display:flex; align-items:center; justify-content:space-between; gap:16px; border-color:#9cc7cf; background:#f0fafb; }.pilot-checkin-reminder strong,.pilot-checkin-reminder span { display:block; }.pilot-checkin-reminder span { margin-top:3px; color:var(--muted); }.pilot-daily { display:grid; grid-template-columns:minmax(220px,2fr) repeat(3,minmax(80px,1fr)); gap:9px; margin-bottom:12px; padding:13px; border:1px solid var(--line); border-radius:14px; }.pilot-daily.done { background:#f2faf5; border-color:#a8d7b7; }.pilot-daily.due { background:#fff9ed; border-color:#e5c982; }.pilot-daily > div { padding:5px 8px; }.pilot-daily span,.pilot-daily strong,.pilot-daily b,.pilot-daily small { display:block; }.pilot-daily span { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.06em; }.pilot-daily strong { margin-top:5px; }.pilot-daily b { font-size:1.18rem; }.pilot-daily small { color:var(--muted); margin-top:3px; }.pilot-next-actions { margin:14px 0; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fbfaf6; }.pilot-next-actions h3 { margin:0 0 10px; }.pilot-next-actions article { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; padding:9px 0; border-top:1px solid var(--line); }.pilot-next-actions article:first-of-type { border-top:0; }.pilot-next-actions article > span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#e8f2f3; color:#276d78; font-weight:800; }.pilot-next-actions article.critical > span { background:#f7e1d8; color:#9a3e23; }.pilot-next-actions strong,.pilot-next-actions small { display:block; }.pilot-next-actions small { margin-top:3px; color:var(--muted); }
.pilot-check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:16px; }.pilot-check-list article { display:grid; grid-template-columns:30px 1fr; gap:9px; padding:11px; border:1px solid var(--line); border-radius:12px; }.pilot-check-list article > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; font-weight:900; }.pilot-check-list article.pass > span { background:#e2f5e9; color:#187449; }.pilot-check-list article.warn > span { background:#fff1cf; color:#8a5a00; }.pilot-check-list article.fail > span { background:#fde6e2; color:#a33b2f; }.pilot-check-list small { display:block; color:var(--muted); margin-top:3px; }
.pilot-observation-create { padding:13px; border:1px solid var(--line); border-radius:12px; margin-bottom:16px; }.pilot-observation-create > summary { cursor:pointer; font-weight:800; }.pilot-observation-create form { margin-top:14px; }.pilot-observation-list { display:grid; gap:9px; margin-bottom:16px; }.pilot-observation-list article { display:grid; grid-template-columns:100px minmax(0,1fr); gap:11px; padding:12px; border:1px solid var(--line); border-radius:12px; }.pilot-observation-list strong,.pilot-observation-list small { display:block; }.pilot-observation-list small { color:var(--muted); margin-top:3px; }.pilot-observation-list p { margin:7px 0 0; white-space:pre-wrap; color:var(--muted); }
.pilot-week-entry { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; padding:13px; border:1px solid #9cc7cf; border-radius:13px; background:#f4fafb; }.pilot-week-entry.due { border-color:#e5c982; background:#fff9ed; }.pilot-week-entry strong,.pilot-week-entry small { display:block; }.pilot-week-entry small { color:var(--muted); margin-top:4px; }
.pilot-weekly-modal .modal-head small { display:block; color:var(--muted); margin-top:4px; }.pilot-weekly-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:14px; }.pilot-weekly-overview > div { padding:13px; border:1px solid var(--line); border-radius:12px; background:#f7faf7; }.pilot-weekly-overview span,.pilot-weekly-overview strong { display:block; }.pilot-weekly-overview span { color:var(--muted); font-size:.72rem; }.pilot-weekly-overview strong { margin-top:4px; font-size:1.14rem; }
.pilot-week-calendar { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; margin-bottom:15px; }.pilot-week-calendar article { display:grid; gap:4px; min-width:0; padding:10px 5px; text-align:center; border:1px solid var(--line); border-radius:11px; }.pilot-week-calendar article.recorded { border-color:#8fc5ce; background:#eef9fa; }.pilot-week-calendar span { color:var(--muted); font-size:.7rem; }.pilot-week-calendar strong { font-size:.76rem; }.pilot-week-calendar b { color:#276d78; font-size:.75rem; }
.pilot-week-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:15px; }.pilot-week-grid > section { padding:14px; border:1px solid var(--line); border-radius:13px; }.pilot-week-grid h3 { margin:0 0 9px; }.pilot-week-grid article { padding:9px 0; border-top:1px solid var(--line); }.pilot-week-grid article:first-of-type { border-top:0; }.pilot-week-grid strong,.pilot-week-grid span { display:block; }.pilot-week-grid span,.pilot-week-grid .muted { color:var(--muted); font-size:.78rem; margin-top:3px; }
.pilot-week-history { margin-top:18px; }.pilot-week-history > article { display:grid; grid-template-columns:90px minmax(0,1fr); gap:11px; padding:13px 0; border-top:1px solid var(--line); }.pilot-week-history strong,.pilot-week-history small,.pilot-week-history b { display:block; }.pilot-week-history small { color:var(--muted); margin-top:3px; }.pilot-week-history p { margin:8px 0; white-space:pre-wrap; color:var(--muted); }.pilot-week-history b { font-size:.8rem; }
@media (max-width:640px) { .pilot-control-card,.pilot-checkin-reminder { align-items:stretch; flex-direction:column; }.pilot-control-card button,.pilot-checkin-reminder button { width:100%; }.pilot-summary,.pilot-check-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.pilot-daily { grid-template-columns:repeat(3,1fr); }.pilot-daily > div:first-child { grid-column:1/-1; }.pilot-observation-list article { grid-template-columns:1fr; }.pilot-center-modal .form-actions { display:grid; }.pilot-center-modal .form-actions button { width:100%; } }
@media (max-width:640px) { .pilot-week-entry { align-items:stretch; flex-direction:column; }.pilot-week-entry button { width:100%; }.pilot-weekly-overview { grid-template-columns:repeat(2,1fr); }.pilot-week-calendar { grid-template-columns:repeat(4,1fr); }.pilot-week-grid { grid-template-columns:1fr; }.pilot-weekly-modal .form-actions { display:grid; }.pilot-weekly-modal .form-actions button { width:100%; } }
@media (max-width:420px) { .pilot-summary,.pilot-check-list { grid-template-columns:1fr; } }
@media (max-width:420px) { .pilot-weekly-overview { grid-template-columns:1fr; }.pilot-week-calendar { grid-template-columns:repeat(2,1fr); }.pilot-week-history > article { grid-template-columns:1fr; } }
.operations-hub { border-color:#a9c4bd; background:linear-gradient(135deg,#f4faf7,#f7f5ee); }.operations-hub-actions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }.operations-hub-actions button { min-height:86px; padding:13px; text-align:left; }.operations-hub-actions span,.operations-hub-actions small { display:block; }.operations-hub-actions span { font-weight:850; }.operations-hub-actions small { margin-top:7px; opacity:.78; line-height:1.35; }
.operations-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:14px; }.operations-overview > div { padding:13px; border:1px solid var(--line); border-radius:12px; background:#f7faf7; }.operations-overview span,.operations-overview strong { display:block; }.operations-overview span { color:var(--muted); font-size:.72rem; }.operations-overview strong { margin-top:4px; font-size:1.12rem; }.operations-money { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:15px; }.operations-money section { padding:14px; border:1px solid var(--line); border-radius:13px; }.operations-money span,.operations-money strong { display:block; }.operations-money span { color:var(--muted); font-size:.76rem; }.operations-money strong { margin-top:5px; }.operations-top { margin-bottom:15px; }.operations-top article { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--line); }.operations-top article:first-of-type { border-top:0; }
.recurring-list,.operations-task-list { display:grid; gap:9px; margin:15px 0; }.recurring-list article { display:grid; grid-template-columns:minmax(0,1fr) 60px auto; gap:12px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:12px; }.recurring-list strong,.recurring-list small,.recurring-list span { display:block; }.recurring-list small,.recurring-list span { color:var(--muted); margin-top:3px; }.recurring-list > article > b { font-size:1.1rem; text-align:center; }.operations-task-list > button { display:grid; grid-template-columns:54px minmax(0,1fr) 42px; gap:11px; align-items:center; padding:13px; border:1px solid var(--line); border-left-width:5px; border-radius:12px; background:var(--card); text-align:left; }.operations-task-list > button.urgent { border-left-color:#b4543f; }.operations-task-list > button > span { font-size:.72rem; font-weight:850; color:var(--muted); }.operations-task-list strong,.operations-task-list small { display:block; }.operations-task-list small { margin-top:4px; color:var(--muted); }.operations-task-list > button > b { text-align:right; font-size:1.1rem; }
.global-search-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; margin-bottom:15px; }.global-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:15px; }.global-search-results section { padding:13px; border:1px solid var(--line); border-radius:13px; }.global-search-results h3 { display:flex; justify-content:space-between; margin:0 0 9px; }.global-search-results section > button,.global-search-results section > article { display:block; width:100%; padding:9px 0; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; }.global-search-results section > :nth-child(2) { border-top:0; }.global-search-results strong,.global-search-results small { display:block; }.global-search-results small { margin-top:3px; color:var(--muted); }
@media (max-width:900px) { .operations-hub-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.operations-hub-actions button:last-child { grid-column:1/-1; } }
@media (max-width:640px) { .operations-hub-actions,.operations-overview,.operations-money,.global-search-results { grid-template-columns:1fr; }.operations-hub-actions button:last-child { grid-column:auto; }.recurring-list article { grid-template-columns:1fr 50px; }.recurring-list article button { grid-column:1/-1; width:100%; }.operations-task-list > button { grid-template-columns:46px minmax(0,1fr) 34px; }.global-search-bar { grid-template-columns:1fr; }.global-search-bar button { width:100%; } }
@media (max-width:640px) { .key-policy-summary,.release-key-item { grid-template-columns:1fr; } .release-key-item p { text-align:left; } }
.release-rehearsal-entry { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:15px; margin-bottom:16px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.release-rehearsal-entry strong,.release-rehearsal-entry small { display:block; }
.release-rehearsal-entry small { color:var(--muted); margin-top:4px; }
.cache-integrity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.cache-integrity-card { padding:15px; border:1px solid var(--line); border-radius:14px; }
.cache-integrity-card > div { display:grid; gap:3px; }
.cache-integrity-card > b { display:block; margin-top:10px; }
.cache-integrity-card.passed > b { color:var(--success); }
.cache-integrity-card.failed > b { color:var(--danger); }
.cache-integrity-card p,.cache-integrity-card small { color:var(--muted); }
.cache-integrity-card p { margin:8px 0 0; font-size:.82rem; overflow-wrap:anywhere; }
@media (max-width:640px) { .release-rehearsal-entry { align-items:stretch; flex-direction:column; } .cache-integrity-grid { grid-template-columns:1fr; } }
.migration-step-list { display:grid; gap:10px; margin:16px 0; }
.migration-step-list article { display:grid; grid-template-columns:58px 1fr; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; }
.migration-step-list article > span { width:52px; height:32px; display:grid; place-items:center; border-radius:10px; background:var(--mint); color:var(--green); font-weight:800; }
.migration-step-list strong,.migration-step-list small { display:block; }
.migration-step-list small { color:var(--muted); margin-top:4px; }
.schema-status-card { margin:12px 0 18px; padding:15px 16px; border:1px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.schema-status-card span,.schema-status-card strong,.schema-status-card small { display:block; }
.schema-status-card span { color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.schema-status-card small { color:var(--muted); margin-top:4px; }
.schema-status-card.pending { border-color:#e5b47b; background:#fff8ed; }
.schema-status-card.future { border-color:#d8a09a; background:#fff1ef; }
@media (max-width:760px) { .reference-issue-list article { grid-template-columns:1fr; } }
@media (max-width:760px) { .lineage-merge-tools,.merge-row { display:grid; grid-template-columns:1fr; } .merge-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } .upload-button { width:100%; text-align:center; } }
.diagnostic-list { display:grid; gap:9px; margin-top:16px; }
.diagnostic-item { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fffefb; }
.diagnostic-item > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; font-weight:800; }
.diagnostic-item div { display:grid; gap:3px; }
.diagnostic-item small { color:var(--muted); line-height:1.45; }
.diagnostic-item.pass > span { background:#e2f5e9; color:#187449; }
.diagnostic-item.warn > span { background:#fff1cf; color:#8a5a00; }
.diagnostic-item.fail > span { background:#fde6e2; color:#a33b2f; }
.backup-reminder { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.backup-reminder div { display:grid; gap:3px; }
.backup-reminder span { font-size:12px; line-height:1.45; }
.backup-status-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.backup-status-grid > div { display:grid; gap:5px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fffefb; }
.backup-status-grid span,.backup-status-grid small { color:var(--muted); font-size:11px; }
.backup-status-grid strong { font-size:13px; }
.backup-status-grid small { color:#9a493b; }
.backup-policy-form { margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.42); }
.backup-history-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0; }
.backup-history-grid section { min-width:0; padding:15px; border:1px solid var(--line); border-radius:14px; background:#fffefb; }
.backup-history-grid h3 { margin-top:0; }
.history-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 0; border-top:1px solid var(--line); }
.history-row:first-of-type { border-top:0; }
.history-row > div { min-width:0; display:grid; gap:3px; }
.history-row strong,.history-row small { overflow-wrap:anywhere; }
.history-row strong { font-size:12px; }
.history-row small { color:var(--muted); font-size:10px; line-height:1.4; }
.history-row .history-ok { color:#187449; }
.history-row .history-warn { color:#a05c13; }
.risk-score { display:grid; justify-items:center; min-width:76px; padding:9px 12px; border-radius:14px; background:#fff1cf; color:#8a5a00; }
.risk-score strong { font-size:24px; line-height:1; }
.risk-score span { margin-top:4px; font-size:10px; font-weight:800; }
.risk-score.낮음 { background:#e2f5e9; color:#187449; }
.risk-score.높음 { background:#fde6e2; color:#a33b2f; }
.risk-check-list { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:16px 0; }
.risk-check { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:start; padding:11px; border:1px solid var(--line); border-radius:12px; background:#fffefb; }
.risk-check > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; font-weight:900; }
.risk-check.pass > span { background:#e2f5e9; color:#187449; }
.risk-check.fail > span { background:#fff1cf; color:#8a5a00; }
.risk-check div { display:grid; gap:3px; min-width:0; }
.risk-check strong { font-size:12px; }
.risk-check small { color:var(--muted); font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
.risk-check b { padding:3px 6px; border-radius:7px; background:#fde6e2; color:#a33b2f; font-size:9px; }
.incident-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:17px 0; }
.incident-guide { display:grid; gap:5px; text-align:left; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fffefb; color:var(--ink); }
.incident-guide:hover { border-color:var(--green); transform:translateY(-1px); }
.incident-guide span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.09em; }
.incident-guide strong { font-size:13px; }
.incident-guide small { color:var(--muted); font-size:10px; line-height:1.45; }
.guide-section { margin:16px 0; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fffefb; }
.guide-section h3 { margin-top:0; }
.guide-section li { margin:8px 0; color:var(--muted); font-size:12px; line-height:1.55; }
.danger-guide { border-color:#e9bbb4; background:#fff8f6; }
.transfer-steps { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.transfer-step { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:start; padding:13px; border:1px solid var(--line); border-radius:13px; background:#fffefb; }
.transfer-step > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff1cf; color:#8a5a00; font-weight:900; }
.transfer-step.pass > span { background:#e2f5e9; color:#187449; }
.transfer-step div { display:grid; gap:4px; min-width:0; }
.transfer-step strong { font-size:12px; }
.transfer-step small { color:var(--muted); font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.transfer-actions { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0; }
.lineage-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.lineage-summary > div { min-width:0; padding:13px; border:1px solid var(--line); border-radius:12px; background:#fffefb; }
.lineage-summary span,.lineage-summary strong { display:block; }
.lineage-summary span { color:var(--muted); font-size:10px; }
.lineage-summary strong { margin-top:5px; font-size:12px; overflow-wrap:anywhere; }
.lineage-form { align-items:end; margin:16px 0; }
.known-device-list { display:grid; gap:8px; margin:14px 0; }
.known-device-list > div { display:grid; grid-template-columns:12px minmax(0,1fr); column-gap:9px; align-items:center; padding:11px; border:1px solid var(--line); border-radius:11px; background:#fffefb; }
.known-device-list strong { font-size:12px; }
.known-device-list small { grid-column:2; color:var(--muted); font-size:10px; }
.device-dot { width:9px; height:9px; border-radius:50%; background:#b7b2a8; }
.device-dot.primary { background:var(--green); box-shadow:0 0 0 4px rgba(30,111,79,.12); }

@media (max-width: 1000px) {
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-col { grid-template-columns: 1fr; }
  .review-summary-card { grid-template-columns:1fr; }
  .review-sections { grid-template-columns:1fr; }
  .review-summary-numbers { grid-template-columns:repeat(3,1fr); }
  .reconciliation-preview-grid { grid-template-columns:1fr 1fr; }
  .resolution-columns { grid-template-columns:1fr; }
  .closing-checklist { grid-template-columns:1fr; }
  .funding-link-list article { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  .funding-link-list article > b,.funding-link-list article > button { grid-column:1 / -1; }
  .package-checks { grid-template-columns:1fr; }
  .backup-history-grid { grid-template-columns:1fr; }
  .risk-check-list { grid-template-columns:1fr; }
  .transfer-steps { grid-template-columns:1fr; }
  .lineage-summary { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .app-shell { display: block; }
  .sidebar { display: none; }
  main { padding: 22px 16px 94px; }
  .topbar { margin-bottom: 22px; }
  .topbar .primary { display: none; }
  .topbar-actions .guide-button { min-width:44px; padding-inline:10px; }
  .mobile-nav { display: grid; grid-template-columns: repeat(6, 1fr); position: fixed; bottom: 0; left: 0; right: 0; background: rgba(255,253,248,.95); border-top: 1px solid var(--line); padding: 8px 4px calc(8px + env(safe-area-inset-bottom)); z-index: 10; backdrop-filter: blur(15px); }
  .mobile-nav .nav-button { display: grid; justify-items: center; gap: 3px; color: var(--muted); padding: 6px 2px; font-size: 10px; }
  .mobile-nav .nav-button.active { color: var(--green); background: transparent; }
  .mobile-nav .nav-icon { font-size: 19px; }
  .stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .card { padding: 17px; border-radius: 17px; }
  .stat-card strong { font-size: 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .backup-status-grid { grid-template-columns:1fr; }
  .backup-reminder { align-items:flex-start; flex-direction:column; }
  .incident-guide-grid { grid-template-columns:1fr; }
  .full { grid-column: auto; }
  .transaction { grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; }
  .tx-amount { font-size: 13px; }
  .bar-row { grid-template-columns: 90px 1fr; }
  .bar-row strong { grid-column: 2; }
  .onboarding-steps { grid-template-columns: 1fr; }
  .setup-card { padding: 22px 17px; }
  .setup-points { grid-template-columns: 1fr; }
  .setup-actions { align-items: stretch; }
  .setup-actions > * { justify-content: center; text-align: center; width: 100%; }
  .type-grid { grid-template-columns: 1fr; }
  .review-card { grid-template-columns: 1fr; }
  .review-card div:nth-child(odd) { border-right: 0; }
  .selected-type { grid-template-columns: 44px 1fr; }
  .selected-type button { grid-column: 1 / -1; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-grid div:nth-child(odd) { border-right: 0; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-section .section-head { align-items: stretch; flex-direction: column; }
  .section-head { align-items: flex-start; }
  .header-actions { width: 100%; }
  .header-actions > * { flex: 1; justify-content: center; text-align: center; }
  .review-card-item { grid-template-columns: 1fr; }
  .review-card-item > img { width: 100%; height: 210px; }
  .candidate-grid { grid-template-columns: 1fr; }
  .duplicate-list > div { grid-template-columns: 1fr; }
  .image-editor-layout { grid-template-columns: 1fr; }
  .canvas-wrap { min-height: 260px; }
  .pdf-rows > div { grid-template-columns:1fr; }
  .guided-steps,.workspace-summary { grid-template-columns:1fr 1fr; }
  .workspace-toolbar,.workspace-footer,.workspace-footer > div { align-items:stretch; flex-direction:column; }
  .review-summary-numbers,.review-center-overview { grid-template-columns:1fr 1fr; }
  .review-center-hero { flex-direction:column; }
  .review-center-hero button { width:100%; }
  .review-task { grid-template-columns:minmax(0,1fr) auto; }
  .review-task > span { grid-column:1; }
  .confirmation-progress { grid-template-columns:auto 1fr; }
  .confirmation-progress small { grid-column:1 / -1; }
  .confirmation-checks { grid-template-columns:1fr 1fr; }
  .reconciliation-hero { flex-direction:column; }
  .reconciliation-hero button { width:100%; }
  .reconciliation-guide { grid-template-columns:1fr; }
  .reconciliation-account { grid-template-columns:44px minmax(0,1fr); }
  .reconciliation-state { grid-column:2; justify-items:start; }
  .reconciliation-account > button { grid-column:1 / -1; width:100%; }
  .reconciliation-row-actions { grid-column:1 / -1; }
  .reconciliation-row-actions button { flex:1; }
  .balance-history > div { grid-template-columns:1fr; gap:3px; }
  .resolution-summary { grid-template-columns:1fr 1fr; }
  .resolution-actions { align-items:stretch; flex-direction:column; }
  .resolution-flow-list article { grid-template-columns:38px minmax(0,1fr); }
  .resolution-flow-list article button { grid-column:1 / -1; }
  .closing-hero { flex-direction:column; }
  .closing-hero button { width:100%; }
  .closing-selector { grid-template-columns:1fr; }
  .closing-status { align-items:stretch; flex-direction:column; }
  .closing-overview { grid-template-columns:1fr 1fr; }
  .closing-checklist article { grid-template-columns:34px minmax(0,1fr) auto; }
  .closing-checklist article button { grid-column:1 / -1; width:100%; }
  .funding-hero { flex-direction:column; }
  .funding-hero button { width:100%; }
  .funding-overview { grid-template-columns:1fr; }
  .funding-gaps button { grid-template-columns:1fr; gap:3px; }
  .funding-link-list article { grid-template-columns:1fr; }
  .funding-link-list > article > span { transform:rotate(90deg); justify-self:start; }
  .package-hero { flex-direction:column; }
  .package-hero button { width:100%; }
  .package-selector { grid-template-columns:1fr 1fr; }
  .package-selector > div { grid-column:1 / -1; }
  .package-overview { grid-template-columns:1fr 1fr; }
  .package-history > div { grid-template-columns:1fr; }
  .package-history .pill { grid-row:auto; grid-column:auto; justify-self:start; }
  .package-verifier .section-head { flex-direction:column; }
  .package-verifier .section-head label { width:100%; justify-content:center; }
  .verification-grid { grid-template-columns:1fr 1fr; }
  .security-grid { grid-template-columns:1fr; }
}
.beginner-guide-steps { display:grid; gap:10px; margin:16px 0; }
.beginner-guide-steps article { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.beginner-guide-steps article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff1cf; color:#8a5a00; font-weight:900; }
.beginner-guide-steps article.done > span { background:#e2f5e9; color:#187449; }
.beginner-guide-steps strong,.beginner-guide-steps small { display:block; }
.beginner-guide-steps small { margin-top:4px; color:var(--muted); line-height:1.45; }
.guide-safety { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0; padding:13px; border:1px solid #b9d7c8; border-radius:13px; background:#f2f8f4; }
.guide-safety span { padding:6px 9px; border-radius:999px; background:#fff; color:var(--green); font-size:.78rem; font-weight:800; }
@media (max-width:640px) { .topbar { align-items:flex-start; } .topbar-actions { flex-shrink:0; } .topbar-actions .guide-button { font-size:0; } .topbar-actions .guide-button::first-letter { font-size:14px; } .beginner-guide-steps article { grid-template-columns:34px minmax(0,1fr); } .beginner-guide-steps article button { grid-column:1/-1; width:100%; min-height:44px; } .guide-safety { align-items:flex-start; flex-direction:column; } }

@media (max-width: 480px) {
  .confirmation-checks { grid-template-columns:1fr; }
  .reconciliation-preview-grid { grid-template-columns:1fr; }
  .resolution-summary { grid-template-columns:1fr; }
  .closing-overview { grid-template-columns:1fr; }
  .package-selector,.package-overview { grid-template-columns:1fr; }
  .package-selector > div { grid-column:auto; }
  .verification-grid { grid-template-columns:1fr; }
}
.mobile-capture-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;background:linear-gradient(135deg,#f2fbf7,#fff8e9)}
.mobile-capture-card h2{margin:3px 0 7px}.mobile-capture-card p{margin:0;color:var(--muted)}
.mobile-capture-actions,.capture-upload-grid{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.mobile-capture-actions{justify-content:flex-end;min-width:min(100%,440px)}
.mobile-capture-modal{width:min(1100px,96vw)}
.capture-upload-grid{margin-bottom:14px}
.mobile-workspace-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-top:18px}
.mobile-workspace-columns>section{min-width:0;border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--surface)}
.capture-queue,.recurring-quick-list{display:grid;gap:10px;max-height:52vh;overflow:auto}
.capture-queue-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card)}
.capture-queue-row>div:nth-child(2){display:grid;gap:4px;min-width:0}.capture-queue-row strong,.capture-queue-row small{overflow-wrap:anywhere}
.capture-queue-status{display:grid;gap:6px;justify-items:start}.capture-queue-actions{display:flex;gap:6px}
.automation-suggestion{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px;color:var(--accent-strong)}
.automation-suggestion span{font-size:.78rem;color:var(--muted)}
.recurring-quick-list article{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px}
.recurring-quick-list article>div{display:grid;gap:3px}.automation-approval{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0}
.automation-approval>div{display:grid;gap:3px}
@media(max-width:900px){.mobile-capture-card{align-items:flex-start;flex-direction:column}.mobile-capture-actions{justify-content:flex-start;min-width:0}.mobile-workspace-columns{grid-template-columns:1fr}.capture-queue-row{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:640px){.mobile-capture-card{padding:17px}.mobile-capture-actions,.capture-upload-grid{display:grid;grid-template-columns:1fr;width:100%}.mobile-capture-actions>* ,.capture-upload-grid>*{width:100%;justify-content:center}.capture-queue-row{grid-template-columns:1fr}.capture-queue-actions button{width:100%}.automation-approval{align-items:flex-start;flex-direction:column}.automation-approval button{width:100%}}
.input-quality-summary,.automation-rule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;margin:14px 0}
.input-quality-summary>div,.automation-rule-summary>div{display:grid;gap:3px;border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--card)}
.input-quality-summary strong,.automation-rule-summary strong{font-size:1.25rem}.input-quality-summary span,.automation-rule-summary span{font-size:.8rem;color:var(--muted)}
.quality-score{font-size:.72rem;font-weight:800;border-radius:999px;padding:3px 7px}.quality-score.safe{background:#e7f7ef;color:#17734a}.quality-score.warn{background:#fff2cf;color:#8b5b00}.quality-score.danger{background:#fee9e6;color:#a6342b}
.input-quality-alert{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:5px;color:#9b3c31}.input-quality-alert span{font-size:.78rem;color:var(--muted)}
.automation-rule-list,.derived-rule-candidates{display:grid;gap:10px;margin-top:16px}.automation-rule-list article,.derived-rule-candidates article{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--card)}
.automation-rule-list article>div:first-child,.derived-rule-candidates article>div{display:grid;gap:4px}.automation-rule-list article>div:last-child{display:flex;gap:7px}.automation-rule-list article.inactive{opacity:.62;background:var(--surface)}
.derived-rule-candidates{border-top:1px solid var(--line);padding-top:16px}.derived-rule-candidates .section-head{margin-bottom:0}
@media(max-width:640px){.input-quality-summary,.automation-rule-summary{grid-template-columns:repeat(3,1fr)}.automation-rule-summary>button{grid-column:1/-1}.automation-rule-list article,.derived-rule-candidates article{align-items:stretch;flex-direction:column}.automation-rule-list article>div:last-child{display:grid;grid-template-columns:1fr 1fr}.derived-rule-candidates button{width:100%}}
.bulk-input-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.bulk-input-toolbar label{display:flex;gap:8px;align-items:center;font-weight:800}.bulk-input-toolbar span{color:var(--muted);font-size:.84rem}
.bulk-input-table{display:grid;gap:8px;max-height:58vh;overflow:auto}.bulk-input-row{display:grid;grid-template-columns:52px minmax(180px,1fr) minmax(210px,1fr) minmax(190px,.9fr) minmax(180px,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--card)}
.bulk-input-row>div{display:grid;gap:6px;min-width:0}.bulk-input-row input,.bulk-input-row select{width:100%;min-width:0}.bulk-input-row small{color:var(--muted);overflow-wrap:anywhere}.bulk-input-row.blocked{opacity:.68;background:var(--surface)}
.bulk-input-head{position:sticky;top:0;z-index:2;background:var(--ink);color:#fff;font-size:.78rem;font-weight:800}.bulk-input-head span:first-child{text-align:center}
.bulk-review-list{display:grid;gap:10px;max-height:56vh;overflow:auto;margin:14px 0}.bulk-review-row{display:grid;grid-template-columns:48px 112px minmax(260px,1fr) minmax(170px,.55fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.bulk-review-row.ready{border-color:#b9d7c8}.bulk-review-row.needs-work{background:var(--surface)}.bulk-review-row>div{display:grid;gap:5px;min-width:0}.bulk-review-row small{color:var(--muted);overflow-wrap:anywhere}.bulk-review-proof img,.bulk-review-proof .proof-placeholder{width:96px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f4f1e9;display:grid;place-items:center;font-weight:800;font-size:.75rem}
.bulk-review-status{justify-items:start}.bulk-review-controls{display:flex;gap:16px;align-items:end;justify-content:flex-end;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.bulk-review-controls label{display:grid;gap:6px}.bulk-review-history{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px}.bulk-review-history>div{display:grid;gap:4px}.bulk-review-history small{color:var(--muted)}
.correction-source{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.correction-source>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.correction-source span,.correction-source small{color:var(--muted);font-size:.82rem}.correction-checklist{display:flex;flex-wrap:wrap;gap:8px}.correction-checklist span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.82rem;font-weight:700}
.correction-suggestion{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid #b9d7c8;border-radius:15px;background:#f2f8f4}.correction-suggestion>div:first-child{display:grid;gap:4px;justify-items:start}.correction-suggestion small{color:var(--muted)}.suggestion-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.suggestion-field-list label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.suggestion-field-list span{color:var(--muted);font-size:.82rem}.suggestion-field-list b{overflow-wrap:anywhere;text-align:right}
.correction-learning-candidates{display:grid;gap:10px;margin-top:16px;padding:15px;border:1px solid #b9d7c8;border-radius:15px;background:#f2f8f4}.correction-learning-candidates h3,.correction-learning-candidates p{margin:0}.correction-learning-candidates small{color:var(--muted)}.correction-learning-candidates article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.correction-learning-candidates article>div{display:grid;gap:4px}.learning-evidence{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.learning-evidence>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.learning-evidence span{color:var(--muted);font-size:.8rem}
.bulk-preview-list{display:grid;gap:9px;margin:16px 0;max-height:50vh;overflow:auto}.bulk-preview-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px}.bulk-preview-list article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface);font-weight:800}.bulk-preview-list article>div{display:grid;gap:4px}.bulk-preview-list small{color:var(--muted)}
@media(max-width:900px){.bulk-input-table{overflow-x:auto}.bulk-input-row{min-width:900px}.bulk-input-toolbar{align-items:flex-start;flex-direction:column}.bulk-review-row{grid-template-columns:40px 86px minmax(0,1fr)}.bulk-review-status{grid-column:3}.bulk-review-proof img,.bulk-review-proof .proof-placeholder{width:76px;height:58px}.bulk-review-controls,.bulk-review-history{align-items:stretch;flex-direction:column}.correction-source,.suggestion-field-list,.learning-evidence{grid-template-columns:1fr}.correction-learning-candidates article{align-items:stretch;flex-direction:column}}
@media(max-width:640px){.bulk-preview-list article{grid-template-columns:30px minmax(0,1fr)}.bulk-preview-list article>b{grid-column:2}}
.ocr-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.ocr-quality-grid>section{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.ocr-quality-grid h3{margin:0 0 8px}.ocr-quality-grid p{margin:5px 0;color:var(--muted)}
@media(max-width:640px){.ocr-quality-grid{grid-template-columns:1fr}}
.ocr-review-queue{display:grid;gap:10px;margin:12px 0 20px;max-height:48vh;overflow:auto}.ocr-review-queue article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.ocr-review-queue article>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ocr-review-queue article>div:first-child{display:grid;justify-items:start}.ocr-review-queue small{color:var(--muted)}
@media(max-width:640px){.ocr-review-queue article{align-items:stretch;flex-direction:column}.ocr-review-queue article>div:last-child{display:grid;grid-template-columns:1fr}.ocr-review-queue button{width:100%}}
.ocr-operating-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.ocr-operating-steps span{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.8rem;font-weight:800;text-align:center}
@media(max-width:640px){.ocr-operating-steps{grid-template-columns:1fr 1fr}}
.ocr-governance-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.ocr-governance-actions button{flex:1 1 180px}
.runtime-issue-list{display:grid;gap:9px;margin:16px 0;max-height:34vh;overflow:auto}.runtime-issue-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px}.runtime-issue-list article>div{display:grid;gap:3px}.runtime-issue-list small{color:var(--muted);overflow-wrap:anywhere}.release-candidate-card{border-color:#a9c9ba;background:linear-gradient(135deg,#eff9f3,#fffaf0)}
.release-one-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.release-one-flow span{padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;font-size:13px;font-weight:700;background:var(--paper)}.release-one-card{border-color:#2c766e;background:linear-gradient(135deg,#f7fbf9,#eef7f4)}
@media (max-width: 720px){.release-one-flow{grid-template-columns:1fr 1fr}.release-one-card{align-items:flex-start}}
