@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-row{flex-direction:row}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}body{min-height:100dvh}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
:root{--color-navy:#1e2761;--color-navy-deep:#12173f;--color-gold:#b08a2e;--color-teal:#0e8e8a;--color-coral:#f0684a;--color-ink:#14162b;--color-muted:#5b5f76;--color-surface:#fff;--color-surface-alt:#f3f4f9;--color-border:#e4e6f0;--color-success:#2f7a4f;--color-danger:#c23b2b;--color-gold-strong:#826622;--color-teal-strong:#0b7471;--color-coral-strong:#ad4b35;--color-success-strong:#2d754c;--color-danger-strong:#ba3929;--color-teal-dark-text:#13908c;--color-success-dark-text:#4c8d68;--color-danger-dark-text:#cd5e51;--color-navy-dark-text:#74799d;--color-muted-dark-text:#7f8294;--font-family:"Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;--text-display:2rem;--lh-display:2.5rem;--text-h1:1.625rem;--lh-h1:2.125rem;--text-h2:1.25rem;--lh-h2:1.75rem;--text-h3:1rem;--lh-h3:1.5rem;--text-body:.875rem;--lh-body:1.375rem;--text-caption:.75rem;--lh-caption:1.125rem;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--page-padding:var(--spacing-4);--shadow-card:0 1px 2px #14162b0a, 0 6px 16px #14162b0d;--shadow-dialog:0 8px 32px 0 #14162b2e;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem}@media (min-width:1024px){:root{--page-padding:var(--spacing-8)}}.theme-ops-dark{--color-ink:#edeff7;--color-muted:#9ca0be;--color-surface:#14162b;--color-surface-alt:#1b1e3c;--color-border:#2a2e52;--shadow-card:0 1px 2px #0000004d, 0 10px 28px #00000052;--shadow-dialog:0 12px 40px #0006;--color-gold:#d3ac58;--color-teal:#3fc0ba;--color-coral:#f68e76;--color-success:#4fae76;--color-danger:#f0776a;background:var(--color-surface);color:var(--color-ink)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);color:var(--color-ink);background-color:var(--color-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:var(--text-body);line-height:var(--lh-body)}.tabular-nums{font-variant-numeric:tabular-nums}.badge-pending{background:color-mix(in srgb, var(--color-gold) 15%, white);color:var(--color-gold-strong)}.badge-approved{background:color-mix(in srgb, var(--color-success) 15%, white);color:var(--color-success-strong)}.badge-rejected{background:color-mix(in srgb, var(--color-danger) 15%, white);color:var(--color-danger-strong)}.badge-completed{background:color-mix(in srgb, var(--color-navy) 15%, white);color:var(--color-navy)}.badge-draft{background:color-mix(in srgb, var(--color-muted) 15%, white);color:var(--color-muted)}.badge-published{background:color-mix(in srgb, var(--color-teal) 15%, white);color:var(--color-teal-strong)}.theme-ops-dark .badge-pending{background:color-mix(in srgb, var(--color-gold) 20%, black);color:var(--color-gold)}.theme-ops-dark .badge-approved{background:color-mix(in srgb, var(--color-success) 20%, black);color:var(--color-success-dark-text)}.theme-ops-dark .badge-rejected{background:color-mix(in srgb, var(--color-danger) 20%, black);color:var(--color-danger-dark-text)}.theme-ops-dark .badge-completed{background:color-mix(in srgb, var(--color-navy) 30%, black);color:var(--color-navy-dark-text)}.theme-ops-dark .badge-draft{background:color-mix(in srgb, var(--color-muted) 25%, black);color:var(--color-muted-dark-text)}.theme-ops-dark .badge-published{background:color-mix(in srgb, var(--color-teal) 20%, black);color:var(--color-teal-dark-text)}
a:focus-visible,.btn:focus-visible,.list-row:focus-visible{outline:2px solid var(--color-navy);outline-offset:2px}.theme-ops-dark a:focus-visible,.theme-ops-dark .btn:focus-visible,.theme-ops-dark .list-row:focus-visible{outline-color:#fff}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-body);padding:var(--spacing-3) var(--spacing-4);cursor:pointer;white-space:nowrap;border:1px solid #0000;line-height:1;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-caption)}.btn--primary{background:var(--color-navy);color:#fff}.btn--primary:hover:not(:disabled){background:#161d4d}.btn--gold{background:var(--color-gold-strong);color:#fff}.btn--gold:hover:not(:disabled){background:color-mix(in srgb, var(--color-gold-strong) 85%, black)}.btn--teal{background:var(--color-teal-strong);color:#fff}.btn--teal:hover:not(:disabled){background:color-mix(in srgb, var(--color-teal-strong) 85%, black)}.btn--secondary{background:var(--color-surface-alt);color:var(--color-ink);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:#e9ecf6}.btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 8%, white)}.btn--ghost{color:var(--color-muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-alt)}.btn--block{width:100%}.tag{border-radius:var(--radius-sm);padding:.125rem var(--spacing-2);font-size:var(--text-caption);align-items:center;font-weight:600;display:inline-flex}.tag--gold{background:color-mix(in srgb, var(--color-gold) 15%, white);color:var(--color-gold-strong)}.tag--teal{background:color-mix(in srgb, var(--color-teal) 15%, white);color:var(--color-teal-strong)}.tag--navy{background:color-mix(in srgb, var(--color-navy) 12%, white);color:var(--color-navy)}.tag--coral{background:color-mix(in srgb, var(--color-coral) 15%, white);color:var(--color-coral-strong)}.tag--muted{background:var(--color-surface-alt);color:var(--color-muted)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.badge--md{padding:.25rem var(--spacing-3);font-size:var(--text-caption)}.badge--sm{padding:.125rem var(--spacing-2);font-size:.6875rem}.class-product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;height:100%;display:flex;overflow:hidden}.class-product-card__thumb{aspect-ratio:16/9;background:var(--color-surface-alt);width:100%;position:relative}.class-product-card__thumb-img{object-fit:cover;width:100%;height:100%}.class-product-card__thumb-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.card-thumb--teal .class-product-card__thumb-placeholder,.card-thumb--teal.class-product-card__thumb-placeholder{background:color-mix(in srgb, var(--color-teal) 12%, white)}.card-thumb--navy .class-product-card__thumb-placeholder,.card-thumb--navy.class-product-card__thumb-placeholder{background:color-mix(in srgb, var(--color-navy) 10%, white)}.class-product-card__thumb.card-thumb--teal{background:color-mix(in srgb, var(--color-teal) 12%, white)}.class-product-card__thumb.card-thumb--navy{background:color-mix(in srgb, var(--color-navy) 10%, white)}.class-product-card__thumb-icon{font-size:2.5rem}.class-product-card__track-badge{top:var(--spacing-2);left:var(--spacing-2);color:#fff;font-size:var(--text-caption);padding:.125rem var(--spacing-2);border-radius:var(--radius-sm);background:#1a1a2eb8;font-weight:600;position:absolute}.class-product-card__status-badge{top:var(--spacing-2);right:var(--spacing-2);position:absolute}.class-product-card__body{gap:var(--spacing-2);padding:var(--spacing-4);flex-direction:column;flex:1;display:flex}.class-product-card__tags{gap:var(--spacing-1);flex-wrap:wrap;display:flex}.class-product-card__title{font-size:var(--text-h3);line-height:var(--lh-h3);color:var(--color-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.class-product-card__meta{gap:var(--spacing-3);font-size:var(--text-caption);color:var(--color-muted);flex-wrap:wrap;display:flex}.class-product-card__meta-item{align-items:center;gap:.25rem;display:inline-flex}.instructor-mini{align-items:center;gap:var(--spacing-2);display:flex}.instructor-mini__avatar{object-fit:cover;border-radius:999px;width:1.75rem;height:1.75rem}.instructor-mini__avatar--placeholder{background:var(--color-navy);color:#fff;font-size:var(--text-caption);justify-content:center;align-items:center;font-weight:700;display:flex}.instructor-mini__name{font-size:var(--text-caption);color:var(--color-ink);font-weight:600}.instructor-mini__rating{font-size:var(--text-caption);color:var(--color-muted)}.class-product-card__footer{padding-top:var(--spacing-2);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.class-product-card__price{font-size:var(--text-h3);color:var(--color-ink)}.class-product-card__price--inquiry{font-size:var(--text-body);color:var(--color-muted);font-weight:600}.summary-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-card);gap:var(--spacing-2);flex-direction:column;display:flex}.summary-tile--gold{border-top:3px solid var(--color-gold)}.summary-tile--teal{border-top:3px solid var(--color-teal)}.summary-tile--coral{border-top:3px solid var(--color-coral)}.summary-tile--default{border-top:3px solid var(--color-navy)}.summary-tile__header{align-items:center;gap:var(--spacing-2);display:flex}.summary-tile__icon{font-size:var(--text-h3)}.summary-tile__label{font-size:var(--text-caption);color:var(--color-muted);font-weight:600}.summary-tile__value-row{align-items:baseline;gap:var(--spacing-1);display:flex}.summary-tile__value{color:var(--color-ink);font-size:1.75rem;font-weight:700}.summary-tile__unit{font-size:var(--text-body);color:var(--color-muted)}.summary-tile__trend{font-size:var(--text-caption);align-items:center;gap:.25rem;display:inline-flex}.trend--up{color:var(--color-success)}.trend--down{color:var(--color-danger)}.trend--neutral{color:var(--color-muted)}.summary-tile-grid{gap:var(--spacing-4);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.summary-tile-grid{grid-template-columns:repeat(4,1fr)}}.incentive-cap-gauge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4)}.incentive-cap-gauge__header{margin-bottom:var(--spacing-3);justify-content:space-between;align-items:center;display:flex}.incentive-cap-gauge__label{font-size:var(--text-body);color:var(--color-ink);font-weight:600}.incentive-cap-gauge__value{font-size:var(--text-h2);color:var(--color-gold);font-weight:700}.gauge-value--warning{color:var(--color-coral)}.gauge-value--exceeded{color:var(--color-danger)}.gauge-alert{font-size:var(--text-caption);font-weight:600}.incentive-cap-gauge__track{background:var(--color-surface-alt);border-radius:999px;height:.75rem;position:relative;overflow:visible}.incentive-cap-gauge__fill{border-radius:999px;height:100%}.incentive-cap-gauge__cap-line{background:var(--color-danger);width:2px;position:absolute;top:-.25rem;bottom:-.25rem}.incentive-cap-gauge__labels{margin-top:var(--spacing-2);font-size:var(--text-caption);color:var(--color-muted);justify-content:space-between;height:1rem;display:flex;position:relative}.incentive-cap-gauge__amount{margin-top:var(--spacing-3);font-size:var(--text-body);color:var(--color-muted)}.app-shell{background:var(--color-surface-alt);flex-direction:column;min-height:100dvh;display:flex}.app-topbar{z-index:20;padding:var(--spacing-3) var(--page-padding);background:var(--color-navy);color:#fff;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-topbar__brand{font-weight:700;font-size:var(--text-h3);align-items:center;gap:var(--spacing-2);display:flex}.app-topbar__role{font-size:var(--text-caption);color:#ffffffb3}.app-topbar__actions{align-items:center;gap:var(--spacing-3);display:flex}.app-body{flex:1;display:flex}.app-nav{background:var(--color-surface);border-right:1px solid var(--color-border);width:15rem;padding:var(--spacing-4);flex-shrink:0;display:none}@media (min-width:1024px){.app-nav{display:block}}.app-nav__item{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border-radius:var(--radius-md);color:var(--color-ink);font-weight:600;font-size:var(--text-body);margin-bottom:var(--spacing-1);display:flex}.app-nav__item:hover{background:var(--color-surface-alt)}.app-nav__item--active{background:color-mix(in srgb, var(--color-navy) 10%, white);color:var(--color-navy)}.app-tabbar{z-index:20;background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-2) 0;display:flex;position:sticky;bottom:0}@media (min-width:1024px){.app-tabbar{display:none}}.app-tabbar__item{font-size:var(--text-caption);color:var(--color-muted);padding:var(--spacing-1);flex-direction:column;flex:1;align-items:center;gap:.125rem;display:flex}.app-tabbar__item--active{color:var(--color-navy);font-weight:700}.app-main{min-width:0;padding:var(--spacing-6) var(--page-padding);flex:1}.page-header{margin-bottom:var(--spacing-6)}.page-header__title{font-size:var(--text-h1);line-height:var(--lh-h1);color:var(--color-ink);font-weight:700}.page-header__desc{margin-top:var(--spacing-1);font-size:var(--text-body);color:var(--color-muted)}.page-header__actions{margin-top:var(--spacing-3);gap:var(--spacing-2);display:flex}.section{margin-bottom:var(--spacing-6)}.section__title{font-size:var(--text-h2);line-height:var(--lh-h2);color:var(--color-ink);margin-bottom:var(--spacing-3);font-weight:700}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-card)}.list-row{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-3);display:flex}.list-row__main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.list-row__title{color:var(--color-ink);font-weight:700}.list-row__meta{font-size:var(--text-caption);color:var(--color-muted)}.list-row__actions{gap:var(--spacing-2);flex-shrink:0;display:flex}.empty-state{text-align:center;padding:var(--spacing-8) var(--spacing-4);color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state__icon{margin-bottom:var(--spacing-2);font-size:2rem}.alert{gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--text-body);align-items:flex-start;display:flex}.alert--warning{background:color-mix(in srgb, var(--color-coral) 12%, white);color:var(--color-coral-strong)}.alert--info{background:color-mix(in srgb, var(--color-navy) 8%, white);color:var(--color-navy)}.alert--success{background:color-mix(in srgb, var(--color-success) 12%, white);color:var(--color-success-strong)}.field{gap:var(--spacing-1);margin-bottom:var(--spacing-4);flex-direction:column;display:flex}.field__label{font-size:var(--text-caption);color:var(--color-ink);font-weight:700}.field__hint{font-size:var(--text-caption);color:var(--color-muted)}.field__error{font-size:var(--text-caption);color:var(--color-danger)}.input,.select,.textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-3);font-size:var(--text-body);color:var(--color-ink);background:var(--color-surface);width:100%;font-family:inherit}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-navy);outline-offset:1px}.textarea{resize:vertical;min-height:5rem}.checkbox-row{align-items:center;gap:var(--spacing-2);display:flex}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-card);max-width:32rem}.form-actions{gap:var(--spacing-3);margin-top:var(--spacing-4);display:flex}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-body)}.table th{text-align:left;padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface-alt);color:var(--color-muted);font-size:var(--text-caption);white-space:nowrap;font-weight:700}.table td{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border);vertical-align:middle}.login-shell{background:linear-gradient(160deg, var(--color-navy) 0%, #10163f 100%);min-height:100dvh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:26rem;padding:var(--spacing-8) var(--spacing-6);box-shadow:var(--shadow-dialog)}.login-card__title{font-size:var(--text-display);line-height:var(--lh-display);color:var(--color-navy);text-align:center;font-weight:800}.login-card__subtitle{margin-top:var(--spacing-2);text-align:center;color:var(--color-muted);font-size:var(--text-body)}.login-role-grid{gap:var(--spacing-3);margin-top:var(--spacing-6);grid-template-columns:1fr 1fr;display:grid}.login-role-btn{align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;color:var(--color-ink);flex-direction:column;font-weight:700;transition:border-color .15s,background-color .15s;display:flex}.login-role-btn:hover{border-color:var(--color-navy);background:var(--color-surface-alt)}.login-role-btn__icon{font-size:1.75rem}.social-login-btn{justify-content:center;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-body);cursor:pointer;transition:filter .15s;display:flex}.social-login-btn:hover{filter:brightness(.97)}.social-login-btn--google{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border)}.social-login-btn--kakao{color:#191600;background:#fee500;border:1px solid #fee500}.text-muted{color:var(--color-muted)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.flex-row{align-items:center;gap:var(--spacing-2);display:flex}.stack{gap:var(--spacing-3);flex-direction:column;display:flex}.grid-2{gap:var(--spacing-4);grid-template-columns:1fr;display:grid}@media (min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-cards{gap:var(--spacing-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-cards{grid-template-columns:repeat(3,1fr)}}