:root{--brand-50:#ecf3ff;--brand-300:#9cb9ff;--brand-500:#465fff;--brand-600:#3641f5;--brand-950:#161950;--gray-50:#f9fafb;--gray-100:#f2f4f7;--gray-200:#e4e7ec;--gray-300:#d0d5dd;--gray-400:#98a2b3;--gray-500:#667085;--gray-700:#344054;--gray-800:#1d2939;--gray-900:#101828;--success-50:#ecfdf3;--success-500:#12b76a;--success-600:#039855;--error-50:#fef3f2;--error-500:#f04438;--error-600:#d92d20;--warning-50:#fffaeb;--warning-500:#f79009;--shadow-xs:0 1px 2px rgba(16,24,40,0.05);--bg:var(--gray-50);--surface:#ffffff;--surface-solid:#ffffff;--surface-hover:var(--gray-100);--border:var(--gray-200);--border-strong:var(--gray-300);--divider:var(--gray-100);--text:var(--gray-800);--text-strong:var(--gray-900);--text-muted:var(--gray-500);--label:var(--gray-700);--placeholder:var(--gray-400);--brand-soft:var(--brand-50);--error-soft:var(--error-50);--success-soft:var(--success-50);--modal-backdrop:color-mix(in srgb,var(--gray-400) 50%,transparent)}[data-theme=dark]{--bg:var(--gray-900);--surface:color-mix(in srgb,#ffffff 3%,var(--gray-900));--surface-solid:var(--gray-900);--surface-hover:rgba(255,255,255,0.05);--border:var(--gray-800);--border-strong:var(--gray-700);--divider:rgba(255,255,255,0.05);--text:rgba(255,255,255,0.9);--text-strong:#ffffff;--text-muted:var(--gray-400);--label:var(--gray-400);--placeholder:var(--gray-500);--brand-soft:color-mix(in srgb,var(--brand-500) 12%,transparent);--error-soft:color-mix(in srgb,var(--error-500) 12%,transparent);--success-soft:color-mix(in srgb,var(--success-500) 12%,transparent);--modal-backdrop:rgba(0,0,0,0.6)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button{font-family:inherit}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}.btn-md{padding:12px 20px}.btn-sm{padding:9px 16px}.btn-primary{background:var(--brand-500);color:#ffffff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-primary:disabled{background:var(--brand-300);cursor:not-allowed}.btn-outline{background:var(--surface-solid);color:var(--label);box-shadow:inset 0 0 0 1px var(--border-strong),var(--shadow-xs)}.btn-outline:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--error-500);color:#ffffff;box-shadow:var(--shadow-xs)}.btn-danger:hover:not(:disabled){background:var(--error-600)}.btn:disabled{opacity:.6;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:9999px;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}.field{display:flex;flex-direction:column}.field-label{margin-bottom:6px;font-size:14px;font-weight:500;color:var(--label)}.input{height:44px;width:100%;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-solid);padding:10px 16px;font-size:14px;font-family:inherit;color:var(--text);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--placeholder)}.input:focus{outline:none;border-color:var(--brand-300);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500) 20%,transparent)}.input-error,.input-error:focus{border-color:var(--error-500)}.input-error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--error-500) 20%,transparent)}.field-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.field-hint-error{color:var(--error-500)}.card{border:1px solid var(--border);border-radius:16px;background:var(--surface)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--divider)}.card-title{font-size:16px;font-weight:600;color:var(--text-strong)}.card-body{padding:20px}@media (min-width:640px){.card-body{padding:24px}}.alert{border-radius:8px;padding:12px 16px;font-size:14px}.alert-error{background:var(--error-soft);color:var(--error-500)}.alert-success{background:var(--success-soft);color:var(--success-600)}.alert-info{background:var(--brand-soft);color:var(--brand-500)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:9999px;font-size:12px;font-weight:500}.badge-success{background:var(--success-soft);color:var(--success-600)}.badge-error{background:var(--error-soft);color:var(--error-600)}.badge-gray{background:var(--surface-hover);color:var(--text-muted)}.table-wrap{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.table-scroll{max-width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{font-size:12px;font-weight:500;text-align:left;white-space:nowrap}.table td,.table th{padding:12px 20px;color:var(--text-muted);border-bottom:1px solid var(--divider)}.table tbody tr:last-child td{border-bottom:none}.table .cell-main{color:var(--text);font-weight:500}.modal-root{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modal-fade .15s ease-out}.modal-panel{position:relative;width:100%;max-width:520px;border-radius:24px;background:var(--surface-solid);border:1px solid var(--border);padding:24px;animation:modal-pop .15s ease-out}.modal-title{font-size:18px;font-weight:600;color:var(--text-strong);margin-bottom:16px;padding-right:40px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:none;border-radius:9999px;background:var(--surface-hover);color:var(--text-muted);font-size:18px;cursor:pointer}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)}}.sidebar{position:fixed;top:0;left:0;height:100%;width:260px;z-index:50;background:var(--surface-solid);border-right:1px solid var(--border);padding:0 16px;transition:transform .3s ease}.sidebar-logo{padding:26px 12px;font-size:17px;font-weight:700;color:var(--text-strong)}.sidebar-section{margin:16px 12px 8px;font-size:12px;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--label)}.sidebar-link:hover{background:var(--surface-hover)}.sidebar-link.active{background:var(--brand-soft);color:var(--brand-500)}.sidebar-backdrop{position:fixed;inset:0;z-index:40;background:rgba(16,24,40,.5)}.shell-content{display:flex;flex-direction:column;min-height:100vh;margin-left:260px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;justify-content:space-between;background:var(--surface-solid);border-bottom:1px solid var(--border);padding:12px 24px}.topbar,.topbar-left{display:flex;align-items:center;gap:12px}.topbar-title{font-size:16px;font-weight:600;color:var(--text-strong)}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{font-size:14px;color:var(--text-muted)}.topbar-user strong{color:var(--text);font-weight:500}.hamburger{display:none}.page{flex:1 1;width:100%;max-width:1280px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}@media (max-width:1023px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.shell-content{margin-left:0}.hamburger{display:inline-flex}}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px 24px;gap:16px 24px}.info-item dt{font-size:12px;color:var(--text-muted);margin-bottom:2px}.info-item dd{font-size:14px;font-weight:500;color:var(--text)}.form-stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}.form-actions{display:flex;justify-content:flex-end;gap:8px}.toolbar{justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar,.toolbar-group{display:flex;align-items:center}.toolbar-group{gap:8px}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-hover)}.row-progress{cursor:default}.row-progress td{color:var(--text-muted)}.badge-progress{display:inline-flex;align-items:center}.badge-progress:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor;animation:badge-pulse 1.2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:.3}50%{opacity:1}}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:13px;color:var(--text-muted)}.select{position:relative}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.select-placeholder{color:var(--placeholder)}.select-caret{color:var(--text-muted);font-size:12px}.select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;list-style:none;background:var(--surface-solid);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px rgba(16,24,40,.12);max-height:240px;overflow-y:auto;padding:4px}.select-option{padding:8px 12px;border-radius:6px;font-size:14px;color:var(--text);cursor:pointer}.select-option.highlighted{background:var(--surface-hover)}.select-option.selected{color:var(--brand-500);font-weight:500}.address-row{display:flex;align-items:center;gap:8px}.flatpickr-calendar{background:var(--surface-solid);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.16);color:var(--text);font-family:inherit}.flatpickr-calendar:after,.flatpickr-calendar:before{display:none}.flatpickr-current-month,.flatpickr-current-month input.cur-year,.flatpickr-months .flatpickr-month{color:var(--text-strong);fill:var(--text-strong);background:transparent}.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--surface-solid);color:var(--text-strong)}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{fill:var(--text-muted)}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:var(--brand-500)}.flatpickr-weekdays,span.flatpickr-weekday{background:transparent;color:var(--text-muted)}.flatpickr-days,.flatpickr-innerContainer,.flatpickr-rContainer{background:transparent;border:none}.flatpickr-day{color:var(--text)}.flatpickr-day:focus,.flatpickr-day:hover{background:var(--surface-hover);border-color:transparent}.flatpickr-day.today{border-color:var(--brand-300)}.flatpickr-day.today:hover{background:var(--surface-hover);color:var(--text)}.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--brand-500);border-color:var(--brand-500);color:#ffffff}.flatpickr-day.flatpickr-disabled,.flatpickr-day.nextMonthDay,.flatpickr-day.prevMonthDay{color:var(--text-muted);opacity:.5}.date-field{position:relative}.date-field .input{padding-right:44px}.date-icon-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer}.date-icon-btn:hover{background:var(--surface-hover);color:var(--brand-500)}.flatpickr-current-month .cur-month,.flatpickr-current-month input.cur-year{cursor:pointer}.flatpickr-current-month .cur-month:hover{color:var(--brand-500)}.flatpickr-current-month .numInputWrapper span.arrowDown,.flatpickr-current-month .numInputWrapper span.arrowUp{display:none}.flatpickr-current-month .numInputWrapper:hover{background:transparent}.flatpickr-current-month .numInputWrapper:hover input.cur-year{color:var(--brand-500)}.fp-grid-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--surface-solid)}.fp-grid-overlay[hidden]{display:none}.fp-grid-head{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:600;color:var(--text-strong)}.fp-grid-nav{width:28px;height:28px;border:none;border-radius:6px;background:none;color:var(--text-muted);font-size:16px;cursor:pointer}.fp-grid-nav:hover{background:var(--surface-hover);color:var(--brand-500)}.fp-grid{flex:1 1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.fp-grid-cell{border:none;border-radius:8px;background:none;padding:8px 0;font-family:inherit;font-size:14px;color:var(--text);cursor:pointer}.fp-grid-cell:hover{background:var(--surface-hover)}.fp-grid-cell.selected,.fp-grid-cell.selected:hover{background:var(--brand-500);color:#ffffff}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tab{padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--brand-500);border-bottom-color:var(--brand-500)}.auth{display:flex;min-height:100vh;background:var(--surface-solid)}.auth-form-col{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px}.auth-head{margin-bottom:4px}.auth-title{font-size:24px;font-weight:600;color:var(--text-strong)}.auth-subtitle{margin-top:6px;font-size:14px;color:var(--text-muted)}.auth-brand-col{display:none}@media (min-width:1024px){.auth-brand-col{display:flex;width:50%;align-items:center;justify-content:center;background:var(--brand-950);color:#ffffff;padding:48px}}.auth-brand{max-width:360px;text-align:center}.auth-brand-logo{font-size:28px;font-weight:700;margin-bottom:12px}.auth-brand p{font-size:14px;color:var(--brand-300)}.auth-theme-toggle{position:fixed;right:24px;bottom:24px;z-index:60}