/* lf-diff-request-erp 2026-10-18: logged-in QA fixes, loaded last on every RequestVault screen. */

/* Short pages were centred vertically: `.main{margin:auto}` inside the grid row. Keep horizontal centring only. */
.app-grid>.main{margin:0 auto}

/* Content under the page header starts at the header's left edge (settings card was centred at 980px). */
.main>.form-card{margin-left:0;margin-right:auto}
.rv-vault-plan-limit{padding:0;border:0;background:none;gap:8px}
.rv-vault-plan-limit>span,.field>span{font-size:14px;font-weight:600;color:inherit}

/* Header search: one box, no inner field border. */
.app-top .search input{border:0!important;box-shadow:none!important;background:transparent!important}

/* Form controls at least 16px (iOS zoom, readability). */
#app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),#app select,#app textarea{font-size:16px}

/* Table cells: title + sub line stacked the same way in every column. */
.data-table td{vertical-align:middle}
.rv-cell-title{display:block;font-weight:650}
.rv-cell-sub{display:block;margin-top:3px;font-size:13px;color:#575d6c;line-height:1.45}
.rv-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.rv-review-panel .data-table th:last-child{text-align:right}
.rv-review-panel .empty-state,.rv-feed-panel .empty-state{padding:56px 24px}

/* 알림 내역 feed */
.rv-feed-panel{padding:8px 24px 18px}
.rv-feed-day{margin:22px 0 6px;font-size:14px;font-weight:700;color:#5d6478}
.rv-feed{list-style:none;margin:0;padding:0}
.rv-feed-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eef0f5}
.rv-feed-item:last-child{border-bottom:0}
.rv-feed-item.is-new .rv-feed-text p{font-weight:650}
.rv-feed-item.is-new .rv-feed-icon{box-shadow:0 0 0 3px #e9e3ff}
.rv-feed-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#f2f0fb;color:#b5481c}
.rv-feed-icon.blue{background:#eaf1ff;color:#2f65d8}.rv-feed-icon.green{background:#e8f6ee;color:#1f8a52}.rv-feed-icon.orange{background:#fff2e3;color:#b8640c}
.rv-feed-icon .icon{width:20px;height:20px}
.rv-feed-text p{margin:0;font-size:15px;line-height:1.5;color:#232637}
.rv-feed-text small{display:block;margin-top:3px;font-size:13px;color:#575d6c}
.rv-feed-more{display:flex;justify-content:center;padding-top:14px}

/* Dashboard "최근 활동": request names are links, not bordered buttons. */
.activity-entry a.text-link{font-weight:650;color:#232637;text-decoration:none}
.activity-entry a.text-link:hover{text-decoration:underline}

/* Help FAQ: styled disclosure rows instead of the browser's default triangle. */
.help-layout summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-size:16px;font-weight:650;line-height:1.5}
.help-layout summary::-webkit-details-marker{display:none}
.help-layout summary::after{content:'';flex:0 0 10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.55;transition:transform .15s}
.help-layout details[open]>summary::after{transform:rotate(225deg)}
.help-layout details p{margin:10px 0 0;font-size:15px;line-height:1.65}

@media(max-width:760px){
 .rv-feed-panel{padding:4px 16px 14px}
 .rv-feed-item{grid-template-columns:36px minmax(0,1fr);row-gap:6px}
 .rv-feed-item>.badge{grid-column:2;justify-self:start}
 .rv-row-actions{justify-content:flex-start}
}

/* Hub frame / tablet widths: half-width dashboard panels and the sidebar account line stay tidy. */
.dashboard-pair .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.side-bottom>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-bottom>div small{display:block;overflow:hidden;text-overflow:ellipsis}
/* Inside the Hub frame: Hub's header already has 마이페이지 · 작업공간 열기 · 로그아웃. */
.in-hub .rv-logout,.in-hub [data-rv-logout]{display:none!important}
.in-hub dialog{max-height:calc(100dvh - 32px)}
/* Contrast: page subtitles and form hints */
.main-head p,.rv-title p{color:#5a6175}
.field small,.field .hint,.auth-card .muted{color:#5a6175}
/* First run (A-10) */
.rv-first-run{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px 24px;margin:0 0 20px;border-color:#d9d0ff}
.rv-first-run h2{margin:0 0 12px;font-size:19px}
.rv-steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.rv-steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;column-gap:10px;font-size:15px;line-height:1.5}
.rv-steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0ecff;color:#5a36e0;font-weight:700;font-size:14px}
.rv-steps li span{color:#5a6175;font-size:14px}
.rv-first-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
@media(max-width:760px){.rv-first-run{flex-direction:column;align-items:stretch}}
/* Contrast pass 2 (auto-audit 2026-10-19) */
.muted,.empty-state p,.metric-cell small,.activity-entry small,.donut-legend small,.rv-donut-footnotes small{color:#5a6175}
/* Contrast pass 3: public pages and the sample art use hard-coded greys/pastels. */
.public-footer,.public-footer a,.public-footer span{color:#545d70}
.page-hero p,.feature-row p,.feature-copy p,.flow-card p,.container p{color:#4f586b}
.tabs span,.rv-row>div,.wiz-step,.fbox{color:#59627a}
.pill.blue{color:#1f5fc4}.pill.orange{color:#93520a}.pill.green{color:#0f6b45}.pill.red{color:#b0262f}
.flow-card .num{background:#5a3bd6}
.upload-zone b,.upload-zone small{color:#5d4596}
.required{color:#b4234b}
.badge.red{color:#a32740}
.notice.error{color:#9e2f45}
.flow-card span.num,.flow-card .num{background:#5a3bd6!important;color:#fff!important}
/* R18 copy sweep 2026-10-21: balanced line breaks for public headings (no forced <br>) */
.hero-copy h1,.page-hero h1,.auth-copy h1,.flow h2,.feature-copy h2{text-wrap:balance;word-break:keep-all}
