:root{font-family:Pretendard,Segoe UI,sans-serif;color:#f5f1e8;background:radial-gradient(circle at 20% 20%,rgba(255,122,26,.18),transparent 28%),radial-gradient(circle at 80% 15%,rgba(255,210,126,.16),transparent 24%),linear-gradient(150deg,#171412,#0d1117 45%,#121c22);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-height:100vh}button{font:inherit}#root{min-height:100vh}.app-shell{position:relative;min-height:100vh;overflow:hidden;padding:24px}.ambient{position:absolute;border-radius:999px;filter:blur(60px);opacity:.75;pointer-events:none}.ambient-left{top:80px;left:-80px;width:220px;height:220px;background:#ff884238}.ambient-right{right:-30px;bottom:140px;width:260px;height:260px;background:#4aafa22e}.dashboard-frame{position:relative;z-index:1;display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;min-height:calc(100vh - 48px)}.sidebar,.panel,.hero-panel,.stat-card{border:1px solid rgba(255,255,255,.08);background:#0f1218b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 22px 80px #00000047}.sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:28px;border-radius:28px}.sidebar-top{display:grid;gap:10px}.brand-mark,.eyebrow,.panel-kicker,.sidebar-label{margin:0 0 12px;color:#f5a35c;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.brand-block h1{margin:0;font-size:clamp(2.3rem,5vw,3.8rem);line-height:.94;letter-spacing:-.04em}.brand-copy{margin:18px 0 0;color:#f5f1e8b3;line-height:1.6}.menu{display:grid;gap:10px;margin:28px 0}.menu-item{display:flex;align-items:center;width:100%;padding:14px 16px;border:0;border-radius:16px;color:#f5f1e8c2;background:#ffffff08;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.menu-item:hover,.menu-item.active{transform:translate(2px);color:#fff7ed;background:linear-gradient(135deg,#ff995338,#ffffff14)}.sidebar-card{padding:18px;border-radius:20px;background:linear-gradient(180deg,#ffac5829,#2ec0a51f)}.sidebar-card strong{display:block;margin-bottom:8px;font-size:2rem}.sidebar-card span{color:#f5f1e8ad}.sidebar-action{margin-top:16px;padding:12px 16px;border:0;border-radius:14px;color:#11141a;background:linear-gradient(135deg,#f7c66f,#ff9650);cursor:pointer}.sidebar-feedback,.sidebar-error{margin:10px 0 0;line-height:1.5}.sidebar-feedback{color:#f5f1e8c7}.sidebar-error{color:#ff9f93;word-break:break-word}.content{display:grid;gap:18px}.split-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:16px}.stacked-panel{display:grid;gap:18px}.hero-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px;border-radius:26px}.hero-panel h2,.panel-head h3{margin:0;font-size:1.55rem}.hero-actions{display:flex;gap:12px;align-items:center}.primary-button,.secondary-button,.text-button{border:0;cursor:pointer}.primary-button,.secondary-button{padding:12px 18px;border-radius:999px}.primary-button{color:#11141a;background:linear-gradient(135deg,#f7c66f,#ff9650)}.secondary-button{color:#f5f1e8;background:#ffffff12}.text-button{color:#f5a35c;background:transparent}.sync-badge{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;color:#79e5cb;background:#4cc9ac1f;font-size:.92rem}.form-panel{align-self:start}.form-description{margin:0 0 16px;color:#f5f1e8b8;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-input{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#f5f1e8;background:#ffffff0d}.app-input::placeholder{color:#f5f1e86b}.app-textarea{min-height:140px;resize:vertical}.full-span{grid-column:1 / -1}.form-submit{margin-top:16px}.form-feedback{margin:14px 0 0;color:#79e5cb;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{padding:22px;border-radius:22px}.stat-label,.stat-meta{margin:0}.stat-label{color:#f5f1e899}.stat-value{display:block;margin:12px 0 10px;font-size:2rem}.stat-meta{color:#f5f1e8b8;line-height:1.5}.panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.panel{padding:24px;border-radius:24px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.schedule-panel,.member-panel{min-height:320px}.session-list,.member-list,.alert-list{display:grid;gap:12px}.session-row,.member-row,.alert-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;background:#ffffff0a}.session-time{min-width:60px;color:#ffbf85;font-weight:700}.session-main{flex:1;display:grid;gap:4px}.session-main span,.member-row p,.alert-card span{color:#f5f1e8ad}.member-row p{margin:6px 0 0}.member-meta{display:grid;justify-items:end;gap:6px;color:#f5f1e8bd}.status-badge{padding:8px 12px;border-radius:999px;font-size:.9rem}.status-badge.완료{background:#4cc9ac29;color:#79e5cb}.status-badge.예정{background:#ffc45d29;color:#ffcc72}.status-badge.대기{background:#ffffff17;color:#f5f1e8}.alert-card{flex-direction:column;align-items:start}.alert-card.urgent{background:linear-gradient(135deg,#ff6d5c2e,#ff995614)}.alert-card.idle{background:linear-gradient(135deg,#437cff29,#ffffff0d)}.alert-card.renewal{background:linear-gradient(135deg,#46c4a22e,#ffcd6b14)}.insight-list{margin:0;padding-left:20px;color:#f5f1e8c7;line-height:1.8}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-chip{flex:1;min-height:48px;display:flex;align-items:center;padding:0 16px;border-radius:16px;color:#f5f1e894;background:#ffffff0d}.toolbar-actions{display:flex;gap:10px}.data-table{display:grid;gap:10px}.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr .8fr;gap:12px;align-items:center;padding:16px 18px;border-radius:18px;background:#ffffff0a}.table-head-row{color:#f5f1e88f;background:#ffffff05}.mini-badge{justify-self:start;padding:6px 10px;border-radius:999px;font-size:.88rem;background:#ffffff14}.mini-badge.재등록\ 필요{color:#ffcc72;background:#ffc45d29}.mini-badge.정상{color:#79e5cb;background:#4cc9ac29}.mini-badge.추적{color:#a8c8ff;background:#437cff29}.calendar-grid,.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-card{min-height:220px}.calendar-head,.note-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.calendar-head span,.note-head span{color:#f5f1e89e}.calendar-slots{display:grid;gap:10px}.slot-pill{padding:14px 16px;border-radius:16px;background:#ffffff0d;color:#f5f1e8d9}.package-card h3,.note-card h3{margin:0 0 12px}.price-text{display:block;margin-bottom:12px;font-size:2rem}.package-meta,.note-body{margin:0;color:#f5f1e8b8;line-height:1.7}@media(max-width:1180px){.dashboard-frame{grid-template-columns:1fr}.split-layout,.stats-grid,.panel-grid,.calendar-grid,.split-grid,.table-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:14px}.sidebar,.hero-panel,.panel,.stat-card{border-radius:22px}.hero-panel{padding:20px}.hero-actions{width:100%;flex-direction:column}.stats-grid,.panel-grid,.split-layout,.calendar-grid,.split-grid{grid-template-columns:1fr}.hero-panel,.session-row,.member-row{flex-direction:column;align-items:start}.toolbar,.toolbar-actions,.form-grid,.table-row{grid-template-columns:1fr;display:grid}.member-meta{justify-items:start}}
