.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;line-height:1;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:var(--color-brand-600);color:var(--color-neutral-0)}.button--primary:hover:not(:disabled){background:var(--color-brand-700)}.button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-neutral-700)}.button--secondary:hover:not(:disabled){background:var(--color-neutral-100)}.button--danger{background:var(--color-danger-600);color:var(--color-neutral-0)}.button--danger:hover:not(:disabled){background:#b91c1c}.login-page{min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at top left, var(--color-brand-100), transparent 32rem), var(--color-background);place-items:center;display:grid}.login-panel{width:min(100%,28rem);padding:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.login-brand{width:3rem;height:3rem;margin-bottom:var(--space-6);border-radius:var(--radius-md);background:var(--color-brand-600);color:var(--color-neutral-0);font-weight:var(--font-weight-bold);place-items:center;display:grid}.login-heading{margin-bottom:var(--space-8)}.login-heading h1{margin-bottom:var(--space-2);font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.login-heading p{color:var(--color-text-muted);margin-bottom:0}.login-heading .login-product{margin-bottom:var(--space-2);color:var(--color-brand-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.08em}.login-form{gap:var(--space-5);display:grid}.login-field{gap:var(--space-2);color:var(--color-neutral-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:grid}.login-field input{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.login-field input:hover{border-color:var(--color-neutral-300)}.login-field input:focus{border-color:var(--color-brand-500)}.login-message{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-50);color:var(--color-danger-600);font-size:var(--font-size-sm);margin-bottom:0}.login-submit{width:100%;min-height:2.75rem}.login-support{margin:var(--space-6) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}@media (width<=36rem){.login-page{padding:var(--space-4);align-items:start}.login-panel{margin-top:var(--space-8);padding:var(--space-6)}}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.card__title{margin-bottom:var(--space-1);font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.card__description{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:0}.card__content{padding:var(--space-6)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.page-header__copy{min-width:0}.page-header__title{margin-bottom:var(--space-2);font-size:var(--font-size-3xl);line-height:var(--line-height-tight);letter-spacing:-.025em}.page-header__description{max-width:48rem;color:var(--color-text-muted);margin-bottom:0}.page-header__actions{gap:var(--space-3);flex-wrap:wrap;flex:none;display:flex}@media (width<=640px){.page-header{flex-direction:column}.page-header__title{font-size:var(--font-size-2xl)}.page-header__actions{width:100%}.page-header__actions>*{flex:1}}.dashboard-summary{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.summary-card__heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex}.status-indicator{background:var(--color-neutral-300);border-radius:999px;flex:none;width:.625rem;height:.625rem}.status-indicator--success{background:var(--color-success-600)}.summary-card__value{margin-bottom:var(--space-1);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);display:block}.summary-card__detail{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:0}.dashboard-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.readiness-list{gap:var(--space-4);margin:0;display:grid}.readiness-list>div{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.readiness-list dt,.readiness-list dd{margin:0}.status-badge{padding:var(--space-1) var(--space-2);background:var(--color-neutral-100);color:var(--color-neutral-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px}.status-badge--success{background:var(--color-success-50);color:var(--color-success-600)}.roadmap-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.roadmap-list li{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.roadmap-list li:last-child{border-bottom:0;padding-bottom:0}.roadmap-list strong{font-size:var(--font-size-sm)}.roadmap-list span{color:var(--color-text-muted);font-size:var(--font-size-xs);flex:none}@media (width<=960px){.dashboard-summary,.dashboard-grid{grid-template-columns:1fr}}.not-found{max-width:36rem;margin:var(--space-12) auto;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;box-shadow:var(--shadow-sm)}.not-found__code{margin-bottom:var(--space-2);color:var(--color-brand-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.08em}.not-found h1{margin-bottom:var(--space-3);font-size:var(--font-size-3xl)}.not-found>p:not(.not-found__code){margin-bottom:var(--space-6);color:var(--color-text-muted)}.not-found__link{min-height:2.5rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-brand-600);color:var(--color-neutral-0);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.not-found__link:hover{background:var(--color-brand-700)}.app-shell{grid-template:"topbar topbar" var(--topbar-height) "sidebar main" 1fr / var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.app-shell__topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-area:topbar;display:flex;position:sticky;top:0}.app-shell__brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-shell__brand-mark{border-radius:var(--radius-md);background:var(--color-brand-600);width:2.25rem;height:2.25rem;color:var(--color-neutral-0);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex:none;place-items:center;display:grid}.app-shell__brand strong,.app-shell__brand span{display:block}.app-shell__brand strong{line-height:var(--line-height-tight)}.app-shell__brand span{color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell__topbar-meta{align-items:center;gap:var(--space-4);flex:none;display:flex}.app-shell__environment{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-warning-50);color:var(--color-warning-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.app-shell__user{color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-shell__sidebar{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));padding:var(--space-5) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface);grid-area:sidebar;position:sticky;overflow-y:auto}.app-shell__navigation{gap:var(--space-1);display:grid}.app-shell__navigation-label{margin:var(--space-5) var(--space-3) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.app-shell__navigation-label:first-child{margin-top:0}.app-shell__navigation-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-neutral-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;display:block}.app-shell__navigation-link:hover:not(.is-disabled){background:var(--color-neutral-100)}.app-shell__navigation-link.is-active{background:var(--color-brand-50);color:var(--color-brand-700)}.app-shell__navigation-link.is-disabled{color:var(--color-neutral-300);cursor:not-allowed}.app-shell__main{grid-area:main;min-width:0}.app-shell__content{width:min(100%, var(--content-max-width));padding:var(--space-8);margin:0 auto}@media (width<=768px){.app-shell{grid-template:"topbar""sidebar""main"1fr/minmax(0,1fr)}.app-shell__topbar{min-height:var(--topbar-height);padding:var(--space-3) var(--space-4);position:static}.app-shell__brand span,.app-shell__user{display:none}.app-shell__sidebar{height:auto;padding:var(--space-2) var(--space-4);border-right:0;border-bottom:1px solid var(--color-border);position:static;overflow-x:auto}.app-shell__navigation{width:max-content;display:flex}.app-shell__navigation-label,.app-shell__navigation-link.is-disabled{display:none}.app-shell__content{padding:var(--space-6) var(--space-4)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand-50:#eff6ff;--color-brand-100:#dbeafe;--color-brand-500:#2563eb;--color-brand-600:#1d4ed8;--color-brand-700:#1e40af;--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-success-50:#ecfdf5;--color-success-600:#059669;--color-warning-50:#fffbeb;--color-warning-600:#d97706;--color-danger-50:#fef2f2;--color-danger-600:#dc2626;--color-background:var(--color-neutral-50);--color-surface:var(--color-neutral-0);--color-border:var(--color-neutral-200);--color-text:var(--color-neutral-900);--color-text-muted:var(--color-neutral-600);--color-focus:var(--color-brand-500);--font-family-sans:Inter, Pretendard, "Noto Sans KR", "Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--topbar-height:4rem;--sidebar-width:16rem;--content-max-width:90rem;--transition-fast:.15s ease}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);min-width:320px;min-height:100%}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-block-start:0}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 35%, transparent);outline-offset:2px}#root{min-height:100vh}
