/* Renkli Akademi — shared management theme; existing controls and layout contracts stay intact. */
:root{--bg:#f6f7fb;--panel:#fff;--panel-2:#f7f8fc;--text:#222940;--muted:#65708a;--line:#e5e9f2;--accent:#a86c08;--accent-2:#222940;--shadow:0 12px 36px #26365b0b;--lavender:#f0ecff;--lavender-ink:#7253b8;--rose:#fff0f3;--rose-ink:#b83859;--blue:#eaf5ff;--blue-ink:#286ba8;--sage:#eef6e7;--sage-ink:#50782d;--gold-wash:#fcf4e2;--gold:#c3891c}
:root[data-theme="dark"]{--bg:#151924;--panel:#1e2433;--panel-2:#252d40;--text:#edf0fa;--muted:#aeb9d0;--line:#354057;--accent:#edbd60;--accent-2:#edf0fa;--shadow:0 12px 36px #0002;--lavender:#302b49;--lavender-ink:#c1acf7;--rose:#3f2936;--rose-ink:#f5a1b8;--blue:#20364d;--blue-ink:#9ed2fc;--sage:#2b392b;--sage-ink:#b5d29d;--gold-wash:#383123;--gold:#edbd60}
body{background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{transition:background-color .16s,border-color .16s,box-shadow .16s}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--gold) 65%,transparent);outline-offset:2px}
.application{grid-template-columns:236px minmax(0,1fr)}
.sidebar{background:var(--panel);color:var(--text);border-right:1px solid var(--line);padding:18px 14px 14px;isolation:isolate}
.sidebar:after{content:"";position:absolute;z-index:-1;pointer-events:none;bottom:48px;left:-54px;width:285px;height:250px;background:url('/assets/hayat-dans-academy-tree.svg') center/contain no-repeat;opacity:.085}
.brand{justify-content:center;padding:2px 8px 23px;position:relative}
.brand img{width:166px;height:146px;border-radius:0;object-fit:contain}
.brand>div{display:none}
.sidebar nav{gap:8px}
.nav-button{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:.88rem;font-weight:650;padding:12px;border-radius:11px;line-height:1.35}
.academy-icon{width:21px;height:21px;flex:0 0 21px;vertical-align:middle}
.nav-button:hover{background:var(--panel-2);color:var(--text)}
.nav-button.active{background:linear-gradient(115deg,#c48a20,#ae710a);color:#fff;box-shadow:0 4px 12px #ac710e22}
.nav-group-header:has(>.nav-button.active){background:var(--gold-wash);border-radius:11px}
.nav-group-toggle{color:var(--muted);border-radius:9px}
.nav-group-toggle:hover{background:var(--gold-wash);color:var(--accent)}
.nav-group-children{border-color:var(--line);margin-left:21px;padding-left:9px}
.nav-group-children .nav-button{font-size:.81rem;padding:10px 8px;gap:9px}
.nav-group-children .academy-icon{width:17px;height:17px;flex-basis:17px}
.staging-badge{border-color:var(--line);background:var(--gold-wash);color:var(--accent);font-size:.65rem;letter-spacing:.05em;position:relative}
.topbar{min-height:72px;padding:12px 28px;gap:16px;box-shadow:0 2px 12px #26365b03}
.page-heading h1{font-size:1.05rem;letter-spacing:-.025em}.page-heading span{font-size:.7rem}
.branch-control select{background:var(--panel);border-color:var(--line);border-radius:11px}
.icon-button,.notification-button{border-color:var(--line);background:var(--panel);border-radius:11px}
.user-menu strong{font-size:.83rem}.user-menu .secondary{font-size:.8rem;min-height:42px}
main{padding:26px 28px;max-width:1600px}
.panel{border-radius:17px;box-shadow:var(--shadow);padding:22px;margin-bottom:22px}
.panel-head{gap:16px}.panel-head h2,.page-actions h2{font-size:1.1rem;letter-spacing:-.025em}.panel-head p,.page-actions p{font-size:.86rem}
.eyebrow{font-size:.68rem;letter-spacing:.1em;font-weight:750}
.primary{background:linear-gradient(115deg,#c48a20,#ae710a);box-shadow:0 3px 9px #ad75141a;color:#fff}
.primary:hover{background:linear-gradient(115deg,#ae7514,#955e04)}
.secondary:hover{border-color:var(--gold);background:var(--gold-wash)}
.primary,.secondary,.danger{font-size:.86rem;min-height:42px;border-radius:10px}
.primary:disabled,.secondary:disabled,.danger:disabled{opacity:.5;box-shadow:none}
.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea,.stack-form input{background:var(--panel-2);border-color:var(--line)}
.page-actions select,.button-row>select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);color:var(--text);font-size:.86rem;min-height:42px}
.page-actions label:has(>select){display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:650}
.table-wrap{border-radius:12px}th{background:var(--panel-2);font-weight:650;color:var(--muted)}td{font-size:.86rem;padding:15px 14px}tbody tr:hover{background:color-mix(in srgb,var(--panel-2) 65%,transparent)}
.table-sort-button{color:inherit}.badge{font-size:.72rem}.badge.ok{background:var(--sage);color:var(--sage-ink)}.badge.warn{background:var(--gold-wash);color:var(--accent)}.badge.danger{background:var(--rose);color:var(--rose-ink)}
.detail-tabs,.settings-tabs{gap:7px}.detail-tabs button,.settings-tabs button{font-size:.83rem;border-radius:10px;font-weight:650}
.detail-tabs button.active,.settings-tabs button.active{background:var(--gold-wash);border-color:color-mix(in srgb,var(--gold) 50%,var(--line));color:var(--accent)}
.chip-action{border-radius:9px;padding:8px 12px;font-size:.8rem;background:var(--panel)}.chip-action.active{background:var(--gold-wash);border-color:var(--gold);color:var(--accent)}
.class-category{border-color:var(--line);border-radius:13px;background:var(--panel-2)}
.class-category[data-academy-tone="dance"]{background:var(--rose);color:var(--rose-ink)}
.class-category[data-academy-tone="music"]{background:var(--blue);color:var(--blue-ink)}
.class-category[data-academy-tone="visual"]{background:var(--sage);color:var(--sage-ink)}
.class-category.active{outline:2px solid var(--gold);outline-offset:2px;border-color:transparent}
.class-category span{color:inherit;opacity:.85}
.modal{border-radius:20px;border-color:var(--line);box-shadow:0 24px 90px #15214033}.modal>header{border-color:var(--line)}.modal-backdrop{background:#101a2d75;backdrop-filter:blur(4px)}
.login-screen{background:radial-gradient(ellipse at 10% 20%,var(--lavender),transparent 52%),radial-gradient(ellipse at 90% 80%,var(--blue),transparent 48%),var(--bg)}
.login-card{border-radius:24px;border-color:var(--line);padding:32px;box-shadow:0 24px 80px #24315b12}
.login-logo{width:190px;height:162px;margin-bottom:15px}.login-card h1{text-align:center;letter-spacing:-.035em}.login-card>p{color:var(--muted)}
.academy-welcome{position:relative;isolation:isolate;background:var(--bg);display:flex;align-items:center;justify-content:space-between;min-height:158px;margin:-5px 0 22px;padding:8px 18px 8px 2px;overflow:hidden}
.academy-welcome:after{content:"";position:absolute;right:-30px;top:-58px;width:240px;height:230px;background:url('/assets/hayat-dans-academy-tree.svg') center/contain no-repeat;opacity:.07;z-index:-1;pointer-events:none}
.academy-welcome h2{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.05em;margin:7px 0 4px;font-weight:720;line-height:1.22}
.academy-welcome p{font-size:.93rem;color:var(--muted);margin:0 0 12px}
.academy-illustration{width:43%;height:auto;max-width:430px;opacity:.95;margin-left:20px;mix-blend-mode:multiply}
.academy-areas{display:flex;gap:6px;flex-wrap:wrap}.academy-areas span{border-radius:99px;font-size:.68rem;padding:4px 11px;font-weight:650}
.area-dance{background:var(--rose);color:var(--rose-ink)}.area-music{background:var(--blue);color:var(--blue-ink)}.area-visual{background:var(--sage);color:var(--sage-ink)}
.dashboard-top-metrics{gap:14px;margin-bottom:22px}
.dashboard-top-metrics .metric{position:relative;padding:18px 17px 16px 62px;border:0;border-radius:15px;background:var(--lavender);min-height:126px;color:var(--text);overflow:hidden}
.dashboard-top-metrics .metric:nth-child(2){background:var(--rose)}.dashboard-top-metrics .metric:nth-child(3){background:var(--blue)}.dashboard-top-metrics .metric:nth-child(4){background:var(--sage)}
.metric-symbol{position:absolute;left:16px;top:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--panel) 50%,transparent);color:var(--lavender-ink)}
.dashboard-top-metrics .metric:nth-child(2) .metric-symbol{color:var(--rose-ink)}.dashboard-top-metrics .metric:nth-child(3) .metric-symbol{color:var(--blue-ink)}.dashboard-top-metrics .metric:nth-child(4) .metric-symbol{color:var(--sage-ink)}
.dashboard-top-metrics .metric>span{font-size:.72rem;font-weight:650;color:var(--text);line-height:1.35;min-height:20px}
.dashboard-top-metrics .metric strong{display:block;font-size:clamp(1.6rem,2.1vw,2.1rem);letter-spacing:-.055em;font-weight:740;line-height:1.35;margin-top:5px;white-space:nowrap}
.dashboard-top-metrics .metric small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px;line-height:1.4}
.academy-program .panel-head{margin-bottom:16px}.academy-program .eyebrow{color:var(--muted)}
.academy-program h2{font-size:1.2rem}.academy-program .button-row{gap:6px}.academy-program .button-row button{font-size:.78rem}
.dashboard-filter-group{align-items:center;gap:7px;margin-bottom:18px}.dashboard-filter-group>strong{font-size:.75rem;color:var(--muted);margin-right:5px}.dashboard-filter-group .chip-action{margin:0}
.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 9px;min-width:0;min-height:150px}
.calendar-day>strong{font-size:.78rem}.calendar-day>span{font-size:.67rem;color:var(--muted);margin-bottom:12px}.calendar-day>em{font-size:.75rem;color:var(--muted);font-style:normal}
.calendar-day.academy-today{border-color:color-mix(in srgb,var(--gold) 65%,var(--line));box-shadow:inset 0 3px var(--gold)}
.calendar-day.academy-today>strong{color:var(--accent)}
.calendar-event{background:var(--lavender);border:0;border-left:3px solid var(--lavender-ink);border-radius:6px;padding:10px 8px;color:var(--text);font-size:.73rem;line-height:1.45;margin-top:8px;box-shadow:none;text-align:left;width:100%;overflow-wrap:anywhere}
.calendar-event.template{opacity:1;border-style:solid}.calendar-event b{display:block;font-size:.8rem;margin-bottom:2px}.calendar-event small{font-size:.65rem;opacity:.8;margin-top:5px;color:inherit;line-height:1.4}
.calendar-event[data-academy-tone="dance"]{background:var(--rose);border-left-color:var(--rose-ink)}
.calendar-event[data-academy-tone="music"]{background:var(--blue);border-left-color:var(--blue-ink)}
.calendar-event[data-academy-tone="visual"]{background:var(--sage);border-left-color:var(--sage-ink)}
.calendar-event[data-calendar-private]:not([data-calendar-private=""]){background:var(--gold-wash);border-left-color:var(--gold)}
.calendar-event:hover{box-shadow:0 3px 12px #26365b14;filter:brightness(.98)}
.calendar-event.compact{display:grid;gap:3px;padding:7px 8px;margin-top:6px;line-height:1.2;min-height:0}
.compact-lesson-heading{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.compact-lesson-heading b{font-size:.75rem;margin:0;min-width:0}
.compact-lesson-heading>span{font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.calendar-event.compact small{font-size:.62rem;margin:0;line-height:1.2;opacity:.85}
.calendar-clock-grid{grid-template-columns:2fr 1fr}.digital-clock-panel{position:relative;overflow:hidden;background:var(--lavender);border:0;justify-content:center;min-height:200px}
.digital-clock-panel:after{content:"";background:url('/assets/hayat-dans-academy-tree.svg') center/contain no-repeat;position:absolute;width:180px;height:160px;bottom:-25px;right:-35px;opacity:.11;pointer-events:none}
.big-clock{letter-spacing:-.06em;font-weight:650}.month-day{border-radius:9px;border-color:var(--line)}.month-day.today{background:var(--gold-wash);border-color:var(--gold);color:var(--accent)}
.report-row{padding:14px 0;font-size:.83rem}.report-row strong{font-size:.8rem}.empty{color:var(--muted);font-size:.86rem}.summary-box,.info-grid>div{border-color:var(--line)}
:root[data-theme="dark"] .academy-illustration{opacity:.9;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
:root[data-theme="dark"] .nav-button.active{background:#ac761c;color:#fff}
@media(min-width:981px) and (max-width:1250px){.application{grid-template-columns:216px minmax(0,1fr)}main{padding:22px}.dashboard-top-metrics{gap:10px}.dashboard-top-metrics .metric{padding:16px 14px;min-height:145px}.dashboard-top-metrics .metric strong{margin-top:14px}.metric-symbol{position:static;float:right;width:27px;height:27px;margin:0 0 4px 4px}.metric-symbol .academy-icon{width:18px;height:18px}.dashboard-top-metrics .metric>span{min-height:35px}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.application{grid-template-columns:1fr}.topbar{height:65px;min-height:65px;padding:10px 16px;gap:12px}.sidebar{width:280px;left:-290px;top:65px;height:calc(100dvh - 65px);padding:14px}.brand{padding-bottom:14px}.brand img{width:144px;height:126px}.sidebar-close{position:absolute;right:0;top:0;background:var(--panel-2);color:var(--muted);border-color:var(--line)}main{padding:20px}.academy-welcome{min-height:140px}.dashboard-top-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-top-metrics .metric{min-height:118px}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-clock-grid{grid-template-columns:1.5fr 1fr}}
@media(max-width:620px){main{padding:16px 12px}.topbar{padding:10px 12px;gap:8px}.branch-control{margin-left:auto}.branch-control select{min-width:0;width:116px;padding:10px 9px;font-size:.82rem}.branch-control{font-size:0;gap:0}.topbar .icon-button{height:42px;min-width:40px;padding:8px}.topbar #logout{font-size:.73rem;padding:8px 9px}.topbar .notification-button{height:42px;min-width:40px;width:40px}.academy-welcome{min-height:138px;padding:4px 0;margin:0 0 18px}.academy-welcome .eyebrow{font-size:.6rem}.academy-welcome h2{font-size:1.55rem;max-width:270px}.academy-welcome p{font-size:.8rem}.academy-illustration{position:absolute;width:135px;right:-35px;bottom:5px;opacity:.25;z-index:-1;margin:0}.academy-welcome:after{width:150px;height:160px;right:-30px;top:-10px;opacity:.08}.academy-areas span{font-size:.59rem;padding:4px 8px}.dashboard-top-metrics{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.dashboard-top-metrics .metric{padding:13px 12px;min-height:136px;border-radius:13px}.metric-symbol{position:static;width:29px;height:29px;margin-bottom:8px}.metric-symbol .academy-icon{width:20px;height:20px}.dashboard-top-metrics .metric>span{font-size:.66rem;min-height:18px}.dashboard-top-metrics .metric strong{font-size:1.65rem;margin-top:4px}.dashboard-top-metrics .metric small{font-size:.6rem}.panel{padding:16px 13px;border-radius:14px;margin-bottom:18px}.panel-head{gap:10px;margin-bottom:14px}.panel-head h2,.page-actions h2{font-size:1.04rem}.academy-program .button-row{width:100%;justify-content:space-between}.academy-program h2{font-size:1.1rem}.academy-program .button-row button{min-height:38px;padding:8px 10px}.dashboard-filter-group{gap:6px}.dashboard-filter-group .chip-action{font-size:.7rem;padding:6px 9px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.calendar-day{padding:10px 8px;min-height:112px}.calendar-day>strong{font-size:.75rem}.calendar-day>span{font-size:.65rem;margin-bottom:7px}.calendar-event{font-size:.71rem;padding:9px 7px}.calendar-clock-grid{grid-template-columns:1fr}.digital-clock-panel{min-height:150px}.report-row{gap:12px;font-size:.78rem;align-items:center}.report-row strong{font-size:.76rem}.login-card{padding:25px 21px}.login-logo{width:170px;height:144px}.login-card h1{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){button,input,select,textarea{transition:none}.sidebar{transition:none}}
.global-search{position:relative;flex:0 1 270px;min-width:170px}
.global-search[hidden],.global-search-results[hidden]{display:none}
.global-search-panel input{width:100%;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);padding:10px 14px 10px 38px;font-size:.8rem}
.global-search #global-search-toggle{position:absolute;left:3px;top:3px;border:0;background:transparent;box-shadow:none;min-width:32px;width:32px;height:32px;padding:8px;color:var(--muted)}
#global-search-toggle svg{width:18px;height:18px}
.global-search-results{position:absolute;right:0;top:calc(100% + 10px);width:360px;max-width:calc(100vw - 24px);max-height:min(480px,65dvh);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:50}
.global-search-results p{padding:12px;margin:0;color:var(--muted);font-size:.83rem}
.search-group-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:9px 10px 5px;font-weight:700}
.search-result{display:grid;text-align:left;width:100%;gap:4px;padding:10px;border:0;background:transparent;color:var(--text);border-radius:10px;box-shadow:none}
.search-result:hover,.search-result:focus-visible{background:var(--gold-wash)}
.search-result strong{font-size:.84rem;overflow-wrap:anywhere}.search-result span{font-size:.71rem;color:var(--muted)}
.profile-section{margin:12px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:1rem}
.profile-interests{margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;min-width:0}.profile-interests legend{padding:0 5px;font-size:.82rem;font-weight:700}
@media(max-width:1250px){.global-search{flex:0 0 40px;min-width:40px}.global-search #global-search-toggle{position:static;min-width:40px;width:40px;height:42px;border:1px solid var(--line);background:var(--panel-2);padding:10px}.global-search-panel{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 24px));padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.global-search.open .global-search-panel{display:block}.global-search-panel input{padding-left:13px}.global-search-results{position:static;width:100%;max-width:none;border:0;box-shadow:none;padding:5px 0 0;max-height:60dvh}}
@media(max-width:620px){.topbar{gap:6px}.branch-control select{width:100px}.topbar .icon-button,.topbar .notification-button{min-width:36px;width:36px}.global-search{flex-basis:36px;min-width:36px}.global-search #global-search-toggle{min-width:36px;width:36px}.global-search-panel{position:fixed;right:12px;top:72px}}
@media(max-width:360px){.topbar{padding:10px 8px;gap:4px}.branch-control select{width:78px}.topbar .icon-button,.topbar .notification-button{min-width:32px;width:32px}.global-search{flex-basis:32px;min-width:32px}.global-search #global-search-toggle{min-width:32px;width:32px}}
