@layer foundation{@media (width<=380px){:root{--font-card:16px;--font-display:23px;--font-section:18px;--font-body:16px;--font-label:14.5px}}:root{--royal:#1e4b98;--royal-deep:#133a78;--sky:#30a6e3;--mint:#60ba70;--ivory:#faf6ef;--border:#e6e8ec;--divider:#ecedef;--ink:#14233d;--muted:#6b778c;--success:#22c55e;--warning:#f59e0b;--alert:#ef4444;--bg:#f6f9fb;--ring:0 0 0 4px #30a6e32e;--shadow:0 26px 70px #14233d33;--soft-shadow:0 14px 34px #14233d1a;--card-shadow:0 12px 30px #14233d14;--lift-shadow:0 18px 38px #1e4b982e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--ivory);--ui-radius:18px;--ui-gap:12px;--ui-section:16px;--ui-shadow:0 10px 24px #14233d0e;--space-xs:6px;--space-sm:10px;--space-md:14px;--space-lg:18px;--control-h:52px;--ds-primary:var(--brand-royal);--ds-primary-strong:var(--brand-royal-deep);--ds-primary-soft:#eef7ff;--ds-bg:var(--app-bg);--ds-surface:var(--brand-surface);--ds-surface-raised:#fbfcfd;--ds-border:var(--brand-border);--ds-divider:var(--brand-divider);--ds-text:#14233d;--ds-text-soft:#64748b;--ds-muted:#6b778c;--ds-danger:var(--brand-alert);--ds-radius-sm:12px;--ds-radius-md:14px;--ds-radius-lg:18px;--ds-radius-xl:22px;--ds-space-1:6px;--ds-space-2:10px;--ds-space-3:14px;--ds-space-4:18px;--ds-space-5:22px;--ds-control:48px;--ds-shadow-soft:0 1px 2px #14233d0a;--font-body:16.5px;--font-caption:13.5px;--font-small:14.5px;--font-label:15px;--font-card:17px;--font-section:20px;--font-title:22px;--font-display:25px;--brand-royal:#1e4f9f;--brand-royal-deep:#143a78;--brand-sky:#30b6e3;--brand-mint:#60ad70;--brand-slate:#64748b;--brand-success:#22c55e;--brand-warning:#f5b608;--brand-alert:#ef4444;--brand-neutral:#64748b;--brand-surface:#fff;--brand-elevated:#f2f4f7;--brand-border:#e6e8ec;--brand-divider:#ecedef;--brand-muted:#64748b;--ds-card-shadow:0 10px 24px #14233d0e;--ds-panel-shadow:0 20px 60px #14233d29;--ds-success-soft:#ecf8f0;--ds-lift-shadow:0 14px 28px #1e4b9824;--app-bg:#f8fafc;--surface-white:#fff;--border-soft:#e6e8ec;--divider-soft:#ecedef;--text-primary:#102437;--text-secondary:#475569;--text-tertiary:#64748b;--status-wait-bg:#fef3f2;--status-wait-text:#d92d20;--status-progress-bg:#fffaeb;--status-progress-text:#b54708;--status-done-bg:#ecfdf3;--status-done-text:#15803d;--status-blue-bg:#eff8ff;--status-blue-text:#1e4f9f;--status-empty-bg:#f8fafc;--status-empty-text:#64748b;--radius-card:20px;--radius-hero:24px;--radius-button:14px;--shadow-ios:0 14px 34px #10243714;--shadow-soft-ios:0 8px 22px #1024370f;--app-font-family:Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--app-surface:#fff;--app-border:#e6e8ec;--app-text:#102437;--app-text-muted:#475569;--app-text-subtle:#64748b;--app-primary:#1e4f9f;--app-primary-soft:#eff8ff;--app-card-radius:20px;--app-control-radius:14px;--app-shadow-soft:0 8px 22px #1024370f;--type-page-title:28px;--type-section-title:20px;--type-card-title:17px;--type-body:15px;--type-caption:13px;--line-title:1.18;--line-section:1.25;--line-body:1.5;--line-caption:1.35;--a11y-caption-min:14px;--a11y-touch-target:48px;--a11y-focus-ring:0 0 0 3px #1e4f9f33;--profile-control-height:56px;--app-viewport-height:100dvh;font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17.5px}p,small,label{color:var(--ds-muted);font-weight:400;line-height:1.56}strong,b{font-weight:600}h1,h2,h3,strong{color:var(--ds-text);letter-spacing:0;font-weight:600}*{box-sizing:border-box;letter-spacing:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}@media (width<=520px){#app{padding:0;display:block}}small{font-size:var(--type-caption)}@media (width<=480px){#app{padding:0}}html,body{word-break:keep-all;min-height:100%;color:var(--ds-text);font-size:var(--font-body);font-weight:400;line-height:1.58;font-family:var(--app-font-family);letter-spacing:0;margin:0;overflow-x:hidden}html,body,#app{width:100%;min-width:280px;min-height:100%}#app{background:radial-gradient(circle at 50% 0%, #30b6e31a, transparent 32%), var(--app-bg);place-items:center;min-height:100dvh;padding:18px;display:grid}@media (width<=640px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}#app{background:var(--app-bg);min-height:100dvh;padding:0;display:block}}a,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:0;color:var(--app-text);background:var(--app-bg);font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:400;line-height:1.5}.login-logo-card{background:#fff;border:1px solid #30a6e32e;border-radius:20px;flex:none;place-items:center;width:66px;height:66px;display:grid;box-shadow:0 14px 30px #1e4b981a}.login-logo-card .brand-logo-img,.terms-logo .brand-logo-img{border-radius:inherit;width:100%;height:100%}.terms-logo{background:#fff;border-radius:14px;flex:0 0 52px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 10px 24px #00225029}.registration-header .brand-mark{gap:9px}.registration-header .brand-logo-symbol{border-radius:11px;width:38px;height:38px}.registration-header .brand-title strong{font-size:16px;font-weight:800}.registration-header .brand-title span{color:#64748b;font-size:11.5px;font-weight:700}.login-logo-card,.terms-logo{background:#fff;border:1px solid #1e4f9f1a;place-items:center;display:grid;overflow:hidden;box-shadow:0 8px 18px #10243714}.brand-title{line-height:1.03;display:grid}.brand-panel:before,.brand-panel:after{content:none}.brand-panel>*{z-index:1;position:relative}.brand-panel .brand-mark{color:var(--royal)}.brand-panel .brand-title span,.brand-panel .brand-title strong{color:var(--royal-deep)}.brand-mark{color:var(--royal);letter-spacing:0;align-items:center;gap:11px;font-weight:600;display:inline-flex}.brand-panel{color:var(--ink);isolation:isolate;border-radius:var(--ds-radius-xl);min-height:172px;box-shadow:var(--ds-card-shadow);background:radial-gradient(circle at 92% 12%,#60ba702e,#0000 26%),linear-gradient(145deg,#fffaf2 0%,#fff 54%,#f1f9ff 100%);border:1px solid #e6e8ecc7;justify-content:center;align-items:center;padding:28px 22px;display:flex;position:relative;overflow:hidden}.brand-panel:before,.brand-panel:after{opacity:.18}.brand-title span{color:var(--brand-royal-deep);font-size:13.5px;font-weight:500;line-height:1.58}.brand-logo-img{object-fit:contain;width:100%;height:100%;display:block}.brand-logo-symbol{border-radius:15px;flex:0 0 48px;width:48px;height:48px}.brand-title strong{color:var(--brand-royal);font-size:20px;font-weight:600;line-height:1.04}.page-title p,.section-title span{font-size:var(--font-label);word-break:keep-all;color:var(--ds-muted);font-weight:400;line-height:1.56}.section-title span,.section-title button{color:var(--text-tertiary);font-size:13px;font-weight:500;line-height:1.45}.page-title h1,.section-title h2{color:var(--ds-text);letter-spacing:0;font-weight:600}@media (width<=380px){.page{padding-inline:14px}.content>.page{padding-inline:16px}.page-title h1{font-size:25px}}.page::-webkit-scrollbar{width:0}.top-back{align-items:center;gap:10px;margin-bottom:18px;display:flex}.page-title{margin-bottom:var(--ds-space-3);margin:0 0 var(--ds-space-4);gap:8px;display:grid}.page-title h1{letter-spacing:0;color:var(--ds-text);font-size:var(--font-display);margin:0;font-weight:600;line-height:1.22}.page-title p{letter-spacing:0;word-break:keep-all;color:var(--muted);overflow-wrap:anywhere;max-width:32em;font-weight:500;font-size:var(--font-small);margin:7px 0 0;line-height:1.56}.section-title span{color:var(--ds-muted);font-weight:500;font-size:var(--font-caption);line-height:1.45}.section{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--surface-white);box-shadow:var(--shadow-soft-ios);margin-top:16px;padding:18px}.section-more{letter-spacing:0;color:#1266f1;background:#f7fbff;border:1px solid #d6e5ff;border-radius:9px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:14px;font-weight:610;display:inline-flex}.section-title{justify-content:space-between;align-items:center;gap:10px;min-height:auto;margin:0 0 12px;display:flex}.large-text-mode .page{font-size:18.5px}.page>:first-child{margin-top:0}.page{background:var(--ds-bg);padding:16px 18px 104px;padding-top:16px;padding-bottom:92px;color:var(--ds-text);flex:1;padding-inline:16px;line-height:1.58;position:relative;overflow-y:auto}.scroll .top-back{margin-bottom:22px}.scroll .page-title{margin-bottom:24px}.scroll .page-title h1{color:var(--ds-text);font-size:27px;font-weight:700;line-height:1.22}.scroll .page-title p{color:var(--ds-text-soft);margin-top:8px;font-size:16px;font-weight:400;line-height:1.55}.scroll .section{margin-top:24px}.content>.page{-webkit-overflow-scrolling:touch;color:var(--app-text);background:var(--app-bg);flex:auto;align-content:start;gap:22px;padding:24px 20px 112px;display:grid;overflow-y:auto}@media (width<=640px){.content>.page{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}html.keyboard-open .content>.page{padding-bottom:28px}}.section-title h2{color:var(--app-text);letter-spacing:0;font-size:var(--font-section);margin:0;font-weight:600;line-height:1.32}.primary-btn:disabled{color:#fff;box-shadow:none;opacity:1;cursor:not-allowed;background:#cbd5e1}button:focus-visible{box-shadow:var(--ring), var(--card-shadow);outline:none}button:active:not(:disabled){transform:translateY(1px)scale(.99)}.primary-btn,.secondary-btn,.control,select.control,textarea.control{border-radius:var(--app-control-radius);font-family:var(--app-font-family);letter-spacing:0}.calendar-picker-sheet>.action-row{z-index:4;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e6ebf1;margin:2px -18px -18px;position:sticky;bottom:-18px}button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}.action-row>*{flex:1}.control{border:1px solid var(--border);width:100%;color:var(--ink);background:#ffffffdb;border-color:#cfd8e3e6;border-radius:16px;outline:none;min-height:58px;padding:0 15px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px #ffffffe6,0 7px 18px #14233d0a}.primary-btn,.secondary-btn{border-radius:18px;min-height:56px}.select-like span{color:var(--royal)}textarea.control{resize:vertical;min-height:96px;padding-top:14px;line-height:1.55}.control,.select-like,.primary-btn,.secondary-btn,.ghost-btn{min-height:var(--ds-control);border-radius:var(--ds-radius-md);font-size:var(--font-label);line-height:1.35}.control,.select-like{min-height:52px;color:var(--ds-text);background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:none;border-radius:14px;font-size:16px}.control:focus,.select-like:focus{border-color:#1e4b988f;box-shadow:0 0 0 4px #30a6e324}.field{gap:var(--ds-space-1);display:grid}.field-row{gap:var(--ds-space-2)}.field label{color:var(--ds-text-soft);font-size:var(--font-small);margin-bottom:7px;font-weight:500}.control,textarea.control,select.control{min-height:var(--ds-control);color:var(--ds-text);border:1px solid var(--brand-border);border-radius:var(--ds-radius-md);box-shadow:none;font-size:var(--font-card);background:#fff;font-weight:400}.control:focus{background:#fff;border-color:#30a6e3e6;box-shadow:0 0 0 4px #30a6e329}.control:placeholder-shown,textarea.control:placeholder-shown{background:#fff;border-color:#dce4ec}.text-action{min-width:44px;min-height:44px;color:var(--royal);font-size:var(--font-small);white-space:nowrap;background:0 0;place-items:center;padding:0 8px;font-weight:650;display:inline-grid}.text-action.danger{color:var(--alert)}.ghost-btn{min-height:44px;color:var(--brand-royal);background:0 0;border:1px solid #1e4b981a;padding-inline:14px}.action-row{margin-top:var(--space-md);gap:var(--ds-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-row .primary-btn:only-child,.action-row .secondary-btn:only-child{grid-column:1/-1}.select-like{text-align:left;width:100%;color:var(--ds-text);background:#fff;justify-content:space-between;align-items:center;padding-inline:14px;display:flex}.control,textarea.control,select.control,.select-like{min-height:var(--ds-control);border-radius:var(--ds-radius-md);color:var(--ds-text);font-size:var(--font-body);background:#fff;border:1px solid #dfe6ee;font-weight:400}.control::placeholder,textarea.control::placeholder{opacity:1;color:#9aa7b5;font-weight:400}.secondary-btn{color:var(--brand-royal);background:#fff;border:1px solid #1e4b9838;box-shadow:0 10px 22px #30a6e31a}.secondary-btn,.ghost-btn{color:var(--brand-royal);box-shadow:none;background:#fff;border:1px solid #1e4f9f38}.control,input,select,textarea{border-color:var(--border-soft);min-height:48px;color:var(--text-primary);background:#fff;border-radius:14px;font-size:16px;line-height:1.4}button,input,select,textarea{font-weight:400;font:inherit;font-family:var(--app-font-family);letter-spacing:0}.primary-btn{color:#fff;background:var(--app-primary);box-shadow:0 12px 24px #1e4f9f2e}.control,select.control,textarea.control{color:var(--app-text);border-color:var(--app-border);background:var(--app-surface)}button,select,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,textarea,select{font-size:max(16px,1em)}button:not(:disabled){transition:transform .14s,opacity .14s,background-color .18s,box-shadow .18s}@media (hover:none) and (pointer:coarse){button:not(:disabled):active{opacity:.82}}.high-contrast-mode .primary-btn,.high-contrast-mode .secondary-btn,.high-contrast-mode .control{border-width:2px}.primary-btn,.secondary-btn,.ghost-btn{letter-spacing:0;min-height:var(--ds-control);border-radius:var(--ds-radius-md);font-size:var(--font-label);justify-content:center;align-items:center;gap:8px;padding:0 16px;padding-inline:15px;font-weight:550;line-height:1.25;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.card-body p,.plain-card p,.data-note p{color:var(--ds-text-soft);font-size:var(--font-label);word-break:keep-all;font-weight:400;line-height:1.5}.segmented button,.person-card,.plain-card{transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s}.plain-card:focus-visible{box-shadow:var(--ring), var(--card-shadow);outline:none}.person-card:active,.plain-card:active{transform:translateY(1px)scale(.99)}.person-card{align-items:flex-start;gap:12px;min-height:76px;display:flex}.person-card,.plain-card{border:1px solid var(--border);min-height:68px;padding:var(--ds-space-3);background:#ffffffe6;border-radius:20px;font-weight:400;box-shadow:inset 0 1px #fffc}.plain-card,.mini-stat,.info-row{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);background:var(--brand-surface)}.card-body strong,.plain-card strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.34}.card-body p,.plain-card p{color:var(--ds-muted);font-size:var(--font-caption);margin:0;font-weight:400;line-height:1.5}.status-done,.status-approved,.status-pill.status-done,.status-pill.status-approved{color:var(--status-done-text);background:var(--status-done-bg)}.status-empty,.status-pill.status-empty{color:var(--status-empty-text);background:var(--status-empty-bg)}.segmented small,.date-chip,.info-row span{font-weight:500}.person-card,.plain-card,.mini-stat,.data-note{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--ds-radius-lg);background:var(--ds-surface);border-color:#cfd8e3b8;border:1px solid var(--ds-border);box-shadow:var(--ds-shadow-soft);padding:14px}.list,.info-list{gap:var(--ds-space-2);display:grid}.plain-card{text-align:left;width:100%;padding:var(--ds-space-4)}.plain-card,.data-note,.mini-stat{border:1px solid var(--brand-border);border-radius:var(--ds-radius-lg);background:var(--brand-surface);box-shadow:var(--ds-card-shadow)}.plain-card,.data-note{border:1px solid var(--brand-border);background:var(--brand-surface);border-color:var(--app-border);border-radius:var(--app-card-radius);background-color:var(--app-surface);box-shadow:var(--app-shadow-soft);padding:16px}.status-pill,.grade-pill{letter-spacing:0;border-radius:999px;font-size:12px;font-weight:800;line-height:1}.list,.info-list,.chip-row{gap:var(--space-sm)}.card-body strong,.person-card strong,.plain-card strong{color:var(--app-text);font-size:var(--type-card-title);font-weight:800;line-height:1.3}.card-body p,.person-card p,.plain-card p{color:var(--app-text-muted);font-size:var(--type-body);line-height:var(--line-body);font-weight:500}.card-body p,.data-note p{overflow-wrap:anywhere;color:var(--text-tertiary);word-break:keep-all;margin-top:5px;font-size:13px;font-weight:500;line-height:1.45}.data-note p{color:#53657d;overflow-wrap:anywhere;margin:7px 0 0;font-size:14.5px;line-height:1.52}.segmented small{color:inherit;font-size:12px;font-weight:500}.list{gap:10px;display:grid}.info-row:last-child{border-bottom:0}.small-muted{color:var(--muted);font-size:14.5px;font-weight:700}.person-card.is-highlight{background:linear-gradient(#fffdf2,#fffaf0);border-color:#f59e0b75}.card-body strong{font-size:18px;line-height:1.35;display:block}.card-body p{color:var(--muted);margin:4px 0 0;font-size:15px;line-height:1.4}.dot{background:var(--success);border-radius:50%;width:9px;height:9px}.large-text-mode .card-body p,.large-text-mode .small-muted,.large-text-mode .data-note p{font-size:16px}.high-contrast-mode .card-body p,.high-contrast-mode .small-muted,.high-contrast-mode .data-note p{color:#334155}.card-body p,.data-note p,.small-muted{font-size:14.5px;line-height:1.55}.plain-card,.data-note,.mini-stat,.detail-item{min-height:auto}.info-row span{color:var(--muted);font-size:14.5px;font-weight:600;line-height:1.35}.status-pill,.date-chip{padding-inline:10px;border-radius:999px;min-height:26px;padding:5px 10px;font-size:12.5px;font-weight:600;line-height:1}.status-done,.status-approved{color:#14724c;background:#e4f7ed}.status-progress{color:var(--ds-primary);background:#e8f1ff}.status-rejected{color:#b4232a;background:#ffe7e8}.mini-stat,.detail-item{min-height:74px;padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-surface-raised);border:1px solid var(--ds-border);box-shadow:none}.mini-stat span,.detail-item span{color:var(--ds-muted);font-size:var(--font-caption);font-weight:500;line-height:1.35}.mini-stat strong,.detail-item strong{color:var(--ds-primary-strong);font-size:22px;font-weight:650;line-height:1.25}.grade-pill.grade-rn{color:var(--ds-primary);background:#e6f0ff}.grade-pill.grade-an{color:#14724c;background:#e4f7ed}.grade-pill.grade-prn{color:#6d44c5;background:#f0e8ff}.info-list.compact{gap:7px;margin-top:10px}.status-pill.success,.status-pill.completed,.status-pill.done{color:#14724c;background:#e9f8ef}.status-pill.info{color:var(--brand-royal);background:#e8f5ff}.status-pill.pending{color:#8a5a00;background:#fff5d8}.status-pill.alert,.status-pill.danger,.status-pill.rejected{color:#b42318;background:#fff0ef}.data-note{max-width:100%;color:var(--ds-text);box-shadow:none;background:#f0f8ff;border:1px solid #d4ebfb;border-radius:18px;padding:14px;overflow:hidden}.data-note strong{color:var(--brand-royal);font-size:16px;font-weight:600;display:block}.large-text-mode{--font-body:17.5px;--font-small:16px;--font-label:16.5px;--font-card:18px;--font-section:20px}.high-contrast-mode{--ink:#071326;--muted:#334155}.card-body{flex:1;gap:4px;min-width:0;display:grid}.chip-row{flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;display:flex}.mini-stat span,.detail-item span,.info-row span{color:var(--ds-muted);font-size:var(--font-caption);font-weight:400;line-height:1.4}.mini-stat strong,.detail-item strong,.info-row strong{color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.35}.two-col,.detail-grid{gap:var(--ds-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.info-list{gap:8px;display:grid}.info-row{border-bottom:1px solid var(--divider);align-items:center;gap:var(--ds-space-2);min-height:52px;box-shadow:none;grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);padding:12px 14px;display:grid}.info-row strong{word-break:keep-all;text-align:right;overflow-wrap:anywhere;font-size:16.5px;line-height:1.45}.status-pill,.grade-pill,.date-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.status-pending,.status-pill.status-pending{color:#8a5a00;background:#fff5d8}.status-done,.status-pill.status-done{color:#14724c;background:#e9f8ef}.date-chip{min-height:38px;color:var(--brand-royal);background:var(--ds-primary-soft);border:1px solid #dcefe0;border-radius:999px;align-items:center;padding:0 12px;padding-inline:14px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 7px 14px #256b3d14}.stepper span.is-active{color:var(--brand-royal);background:var(--ds-primary-soft);border-color:#1e4b9838;font-weight:600;box-shadow:0 10px 20px #1e4b9829}.dot.approved{background:var(--brand-success)}.dot.pending{background:var(--brand-warning)}.dot.off{background:var(--brand-sky)}.dot.rejected{background:var(--brand-alert)}@media (width<=380px){.two-col,.detail-grid{grid-template-columns:1fr}}.card-body strong,.plain-card strong,.data-note strong{word-break:keep-all;overflow-wrap:anywhere;color:var(--ds-text);font-size:var(--font-card);font-weight:600;line-height:1.3}.status-pill{border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:54px;min-height:26px;padding:0 10px;font-size:12.5px;font-weight:560;display:inline-flex}.status-done,.status-pill.completed,.status-pill.done{color:#167449;background:var(--ds-success-soft)}.status-pending{color:#9a6700;background:#fff7e6}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mini-stat{border:1px solid var(--border);box-shadow:var(--ds-card-shadow);background:#ffffffe0;border-radius:20px;align-content:center;gap:6px;min-height:92px;padding:14px;display:grid}.mini-stat span{color:var(--ds-text-soft);font-size:var(--font-caption);font-weight:500;display:block}.mini-stat strong{letter-spacing:0;color:var(--brand-royal);margin-top:7px;font-size:24px;font-weight:650;line-height:1.1;display:block}.empty-history{grid-template-columns:1fr;align-items:start}.empty-history span{color:#556274;border:0;border-radius:0;width:auto;height:auto;font-size:14px;line-height:1.45;display:block}.metric-icon.purple{color:#5d55f3;background:#f0efff}.metric-icon.blue{color:#2f86f5;background:#eef6ff}.metric-icon.sky{color:#3b92df;background:#eff7ff}@media (width<=390px){.metric-icon{width:42px;height:42px}}.status-waiting,.status-pill.status-waiting{color:var(--status-wait-text);background:var(--status-wait-bg)}.status-pending,.status-progress,.status-pill.status-progress,.status-pill.status-pending{color:var(--status-progress-text);background:var(--status-progress-bg)}.status-rejected,.status-pill.status-rejected{color:var(--status-wait-text);background:var(--status-wait-bg)}.grade-rn,.grade-pill.grade-rn{color:var(--brand-royal);background:#eaf2ff}.grade-an,.grade-pill.grade-an{color:var(--brand-mint);background:#ecfdf3}.grade-prn,.grade-pill.grade-prn{color:#7c3aed;background:#f3eeff}.segmented{gap:var(--ds-space-1);box-shadow:none;border-color:#cfd8e3c7;border:1px solid var(--border-soft);background:#fff;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-top:0;padding:4px;display:flex}.segmented button.is-active{box-shadow:none;color:var(--brand-royal);background:#eff8ff;font-weight:600}.metric-icon{border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.metric-icon svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.metric-icon.purple,.metric-icon.blue,.metric-icon.sky{color:var(--brand-royal);background:#eff8ff}.metric-icon.amber{color:var(--status-progress-text);background:var(--status-progress-bg)}.required-guide,.optional-guide{color:#b42318;background:#fff0ef;border-radius:999px;flex:none;align-items:center;min-height:29px;padding:0 10px;font-size:12.5px;font-weight:800;display:inline-flex}.optional-guide{color:#526071;background:#eef2f6}.high-contrast-mode .segmented button{border-width:2px}.segmented button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:44px;color:var(--text-tertiary);background:0 0;border-radius:12px;flex:1;font-size:14px;font-weight:550;line-height:1.25}.card-body strong,.data-note strong,.plain-card strong{font-weight:600}}@layer device,header,navigation,calendar,modal,auth,schedule,attendance,vacation,payroll,notifications,profile,settings,mypage;
