/* Shared presentation baseline. Loaded after legacy page-specific layouts. */
:root { --muted:#53657a; --line:#d5deea; --content:1560px; }
body { font-family:"Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif; line-height:1.55; zoom:var(--ui-font-scale,1); }
button,input,select,textarea,table { font-family:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #246bd1; outline-offset:3px; }
[hidden] { display:none!important; }
.skip-link { position:fixed;top:8px;left:16px;z-index:200;background:#fff;padding:10px 16px;border:2px solid #246bd1;border-radius:8px;transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.topbar { position:relative;min-height:76px; }
.nav-shell { top:0; }
.nav-scroll { scrollbar-width:thin; }
.nav-scroll a { font-size:14px;font-weight:700;min-height:42px;display:inline-flex;align-items:center; }
.nav-scroll a[aria-current=page] { background:#fff;border-color:#b4ccec;color:#145db9; }
.user-meta b { font-size:13px;max-width:420px; }
.baseline { font-size:11px; }
.role,.status,.badge,.pill { font-size:12px;font-weight:700; }
.container { padding-top:28px; }
.page-head h1,.hero h1 { font-size:28px;line-height:1.35;font-weight:700;letter-spacing:-.5px; }
.page-head,.panel-head { flex-wrap:wrap; }
.page-head>div,.panel-head>div,.panel,.card,.grid>*,.summary-grid>*,.account-user-row>* { min-width:0; }
.panel-head h2,.section-head h2,.block h2 { font-size:20px;line-height:1.4;font-weight:700; }
.eyebrow { font-size:11px;font-weight:700;letter-spacing:.09em; }
.panel-head p,.section-head p,.hint,.notice,.query-scope-note { font-size:13px;line-height:1.65; }
.button,.primary,.ghost,.ghost-link,.button-link { font-size:13px;font-weight:700;min-height:40px; }
.commercial-shell label,.stack label { font-size:13px;font-weight:700; }
.commercial-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.commercial-shell select,.commercial-shell textarea { font-size:14px; }
.commercial-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.commercial-shell select { min-height:40px; }
.commercial-shell small,.commercial-shell .muted { color:#53657a; }
.summary-card span,.summary-card p,.kpi span,.metric span,.detail-grid span,.kv dt { font-size:12px; }
.detail-grid b,.kv dd { font-size:14px;overflow-wrap:anywhere; }
.summary-card b,.kpi b,.metric b { font-weight:700;font-variant-numeric:tabular-nums; }
.responsive-table,.table-wrap { max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain; }
.commercial-shell table th,.commercial-shell table td { font-size:13px;line-height:1.5;vertical-align:middle;padding:12px; }
.commercial-shell table th { font-weight:700;color:#405873; }
.commercial-shell table td { color:#243b53;font-variant-numeric:tabular-nums; }
.commercial-shell table td.amt { font-weight:600;white-space:nowrap; }
.commercial-shell table tbody tr:hover { background:#eef5fc; }
.vendor-total-ranking-table table { min-width:1320px;border:0; }
#main-content .vendor-total-ranking-table th,#main-content .vendor-total-ranking-table td { width:auto!important;border-left:0!important;border-right:1px solid #d5deea!important;text-shadow:none;-webkit-text-stroke:0; }
.vendor-total-ranking-table th:last-child,.vendor-total-ranking-table td:last-child { border-right:0!important; }
.vendor-total-ranking-table thead th { position:static; }
.vendor-total-ranking-table thead tr:first-child th { height:44px; }
.vendor-total-ranking-table .vendor-cell { white-space:normal;overflow-wrap:anywhere;font-weight:600; }
.vendor-total-ranking-table .rank-cell { font-weight:600; }
.vendor-total-ranking-table tbody td:nth-child(4) { background:#f4f8fe;font-weight:700; }
.vendor-report-actions a { font-size:12px;min-height:32px;min-width:42px;font-weight:600; }
.account-user-row.compact { grid-template-columns:minmax(230px,1fr) minmax(230px,auto) auto minmax(220px,.8fr) auto auto; }
.account-user-row.compact .button { font-size:12px;min-height:40px; }
.account-user-identity b { font-size:14px; }
.account-user-identity span,.account-create-form label small { font-size:12px; }
.audit-log-table .audit-code { font-size:11px; }
.audit-action,.audit-detail summary,.audit-delete-bar,.audit-mini-list>div { font-size:12px; }
.audit-detail pre { font-size:12px;max-width:460px; }
.login-card { width:min(440px,100%);padding:32px; }
.login-card .muted { font-size:14px; }
.login-card input { font-size:16px; }
.login-card .primary { min-height:46px; }
.error-page { max-width:640px;margin:60px auto;padding:32px; }
.error-page h1 { font-size:24px;line-height:1.4; }
.error-page p { color:var(--muted);margin-bottom:24px; }
.error-page .head-actions { justify-content:flex-start; }
.operation-form-row.schedule-daily { grid-template-columns:1fr 1fr; }
.operation-form-row .schedule-dependent[hidden] { display:none; }
.operation-form-row label small { display:block;margin-top:4px;color:#66788d;font-size:11px;font-weight:500; }
.user-account-link { text-decoration:none;display:inline-flex;align-items:center; }
.my-account-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:start; }
.my-account-details { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0; }
.my-account-details>div { padding:13px;border:1px solid #dbe5f0;border-radius:10px;background:#f8fafc; }
.my-account-details dt { color:#58708a;font-size:12px;font-weight:700; }
.my-account-details dd { margin:5px 0 0;color:#1d3855;font-size:14px;font-weight:700;overflow-wrap:anywhere; }
.my-password-form { display:grid;gap:13px;max-width:520px; }
.my-password-form label { display:grid;gap:6px;color:#40546c;font-size:13px;font-weight:700; }
.my-password-form input { box-sizing:border-box;width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd7e4;border-radius:9px;background:#fff;color:#253c56;font:inherit;font-size:14px; }
.my-password-form .button { justify-self:start; }
.vendor-group-selector{display:grid;gap:12px;padding:16px;border:1px solid #dbe5f0;border-radius:12px;background:#f8fafc}.vendor-group-top{display:flex;gap:12px;align-items:end}.vendor-group-top label{display:grid;gap:6px;flex:1;font-size:13px;font-weight:700}.vendor-group-top select,.vendor-group-selector input,.vendor-group-selector textarea{min-height:42px;border:1px solid #cbd7e4;border-radius:9px;padding:8px 10px;font:inherit}.vendor-group-top b{padding:11px 0;color:#1767c7;white-space:nowrap}.vendor-group-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:260px;padding:4px;overflow:auto}.vendor-group-members label{display:flex;gap:8px;align-items:center;padding:8px;border-radius:7px;font-size:13px}.vendor-group-members label:hover{background:#edf5ff}.vendor-group-members p{grid-column:1/-1;margin:8px 0;color:#66788d}.vendor-group-selector details{border-top:1px solid #dbe5f0;padding-top:10px}.vendor-group-selector details summary{cursor:pointer;color:#315373;font-weight:700}.vendor-group-manage-link{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;color:#1767c7;font-size:13px;font-weight:700;text-decoration:none}.vendor-group-manage-link span{margin-left:auto;margin-right:8px;color:#718297;font-size:12px;font-weight:500}.vendor-group-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);gap:18px}.vendor-group-form{display:grid;gap:14px}.vendor-group-form label{display:grid;gap:6px;color:#40546c;font-size:13px;font-weight:700}.vendor-group-form label small{color:#73859a;font-size:11px;font-weight:500}.vendor-group-form input,.vendor-group-form textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #cbd7e4;border-radius:9px;font:inherit}.vendor-group-form input{min-height:42px}.vendor-group-form .button{justify-self:start}.vendor-group-summary{display:grid;gap:8px}.vendor-group-summary>div{display:grid;grid-template-columns:minmax(120px,.35fr) auto 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #dbe5f0;border-radius:9px}.vendor-group-summary b{font-size:14px}.vendor-group-summary span{color:#1767c7;font-size:12px;font-weight:700}.vendor-group-summary small{color:#66788d;overflow-wrap:anywhere}.vendor-group-empty{grid-template-columns:1fr!important}.vendor-group-empty span{color:#66788d!important;font-weight:500!important}@media(max-width:760px){.vendor-group-members{grid-template-columns:1fr}.vendor-group-top{align-items:stretch;flex-direction:column}.vendor-group-layout{grid-template-columns:1fr}.vendor-group-summary>div{grid-template-columns:1fr}.vendor-group-manage-link span{display:none}}
.query-zone-head p,.excel-card-copy span,.excel-upload-hint,.period-report-head>div>span,
.studio-field small,.quick-period-title small,.date-query-note,.db-coverage-hint,
.account-import-steps,.role-guide-list span,.report-vendor-switcher>div>p { font-size:12px;line-height:1.65;color:#53657a; }
.excel-card-copy b,.excel-card-copy a,.excel-upload-button,.quick-range-row button,
.query-action-copy,.studio-date-card>span,.period-report-head b { font-size:13px;font-weight:600; }
.query-action-copy small { font-size:11px; }
.period-query-submit { min-height:48px;height:auto;white-space:normal; }
.period-panel-footer { flex-wrap:wrap;gap:12px; }
.quick-range-row button,.excel-upload-button { min-height:40px; }
.role-guide-list b,.account-import-steps a { font-size:12px; }
.account-user-identity>div>span { font-size:12px;overflow-wrap:anywhere; }
@media(max-width:1200px) {
  .account-user-row.compact { grid-template-columns:minmax(220px,1fr) minmax(230px,1fr) auto; }
  .account-user-row.compact .password-form { grid-column:1; }
  .account-user-row.compact>form:last-child { grid-column:auto;justify-self:end; }
}
@media(max-width:760px) {
  .topbar { padding:14px 16px;align-items:flex-start;gap:12px;flex-wrap:wrap; }
  .userbox { margin-left:auto;max-width:100%; }
  .user-meta { align-items:flex-start;flex-direction:column; }
  .user-meta b { max-width:240px;white-space:normal;overflow-wrap:anywhere; }
  .container { width:calc(100% - 24px);padding-top:20px; }
  .panel { padding:16px; }
  .page-head h1 { font-size:23px; }
  .head-actions,.analytics-export-actions { justify-content:flex-start; }
  .grid.four,.grid.three,.summary-grid,.kpi-grid,.detail-grid,.kv { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two-col-layout,.account-admin-grid { grid-template-columns:minmax(0,1fr); }
  .my-account-grid { grid-template-columns:1fr; }
  .account-user-row.compact { grid-template-columns:minmax(0,1fr) auto; }
  .account-user-row.compact .account-user-identity,.account-user-row.compact .account-role-form,.account-user-row.compact .password-form { grid-column:1/-1; }
  .account-role-form { min-width:0; }
  .report-vendor-switcher form { min-width:0;width:100%; }
  .commercial-shell input:not([type=checkbox]):not([type=radio]),.commercial-shell select,.commercial-shell textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important;animation:none!important; } }
.vendor-group-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;max-height:410px;padding:4px 2px}.vendor-group-members label{display:flex!important;gap:7px;min-width:0;min-height:29px;align-items:center!important;padding:2px 5px}.vendor-group-members label input{width:14px;height:14px;margin:0;flex:0 0 14px}.vendor-group-members label span{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25;font-size:12px;font-weight:600}@media(max-width:760px){.vendor-group-members{grid-template-columns:1fr;max-height:330px}}
.vendor-group-selector [hidden]{display:none!important}
.coverage-count{display:inline-block;margin:4px 4px 0 0;padding:2px 8px;border-radius:999px;background:#fff3d9;color:#855300;font-size:12px;font-weight:700}.coverage-details{margin-top:10px}.coverage-details summary{cursor:pointer;font-weight:700}.coverage-details ul{margin:8px 0 0;padding-left:20px}.coverage-details li{margin:5px 0}.coverage-details small{display:block;color:#8b3d3d}.contract-method-note{margin:14px 0 0;padding:11px 13px;border-left:3px solid #dc9d24;background:#fff9ec;color:#654816;font-size:13px;line-height:1.65}
.group-upload-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:#718297;font-size:12px}.group-upload-divider:before,.group-upload-divider:after{content:"";height:1px;flex:1;background:#dbe5f0}.vendor-group-upload{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px}.vendor-group-upload input{min-width:0;min-height:40px;border:1px solid #cbd7e4;border-radius:8px;padding:7px;font:inherit}.vendor-group-summary details{border:1px solid #dbe5f0;border-radius:9px;background:#fff}.vendor-group-summary summary{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:10px;align-items:center;padding:12px;cursor:pointer;list-style:none}.vendor-group-summary summary::-webkit-details-marker{display:none}.vendor-group-summary summary i{color:#66788d;font-size:12px;font-style:normal}.vendor-group-summary ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:12px 14px;border-top:1px solid #e5ebf2;list-style:none}.vendor-group-summary li{color:#40546c;font-size:12px;overflow-wrap:anywhere}@media(max-width:760px){.vendor-group-upload{grid-template-columns:1fr}.vendor-group-summary summary{grid-template-columns:1fr auto}.vendor-group-summary summary i{grid-column:1/-1}.vendor-group-summary ul{grid-template-columns:1fr}}
.query-purpose-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 16px}.query-purpose-switch button{display:grid;gap:2px;min-height:68px;padding:11px 13px;text-align:left;border:1px solid #cbd9ec;border-radius:10px;background:#f8fafc;color:#425c77;font:inherit;cursor:pointer}.query-purpose-switch button b{font-size:14px}.query-purpose-switch button span{font-size:12px;line-height:1.45}.query-purpose-switch button.active{border-color:#2e75dc;background:#edf5ff;color:#145db9;box-shadow:inset 0 0 0 1px #b9d5fb}.query-purpose-switch button:focus-visible{outline-offset:2px}@media(max-width:760px){.query-purpose-switch{grid-template-columns:1fr}.query-purpose-switch button{min-height:58px}.query-purpose-switch button span{font-size:11px}}
.date-query-panel[data-query-kind="delivery"] .contract-period-panel,.date-query-panel[data-query-kind="contract"] .delivery-period-panel{display:none!important}
