:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  color-scheme: dark;
  --bg: #07172b;
  --bg-a: #113351;
  --bg-b: #0c233d;
  --sidebar: #091b32;
  --sidebar-line: #284763;
  --surface: rgba(27, 55, 82, .72);
  --surface-strong: #16344f;
  --surface2: rgba(52, 82, 107, .44);
  --surface-hover: rgba(82, 115, 140, .24);
  --line: rgba(162, 195, 215, .18);
  --line-strong: rgba(163, 207, 218, .34);
  --text: #f1f8fc;
  --muted: #b2c9da;
  --subtle: #90acc1;
  --accent: #7ce1d4;
  --accent-text: #063c49;
  --gold: #edc586;
  --danger: #f19c91;
  --shadow: 0 20px 54px rgba(2, 14, 29, .22);
  --glass-highlight: rgba(255,255,255,.10);
}
body[data-theme="light"] {
  color-scheme: light;
  --bg: #e8f0f5;
  --bg-a: #c9e7e7;
  --bg-b: #d7e4f1;
  --sidebar: #112e49;
  --sidebar-line: #3d627d;
  --surface: rgba(255,255,255,.84);
  --surface-strong: #fff;
  --surface2: rgba(220,233,242,.78);
  --surface-hover: rgba(15,81,115,.07);
  --line: rgba(43,89,119,.17);
  --line-strong: rgba(35,88,122,.3);
  --text: #102c42;
  --muted: #48677b;
  --subtle: #5d7a8c;
  --accent: #0a8085;
  --accent-text: #fff;
  --gold: #94601e;
  --danger: #a4433e;
  --shadow: 0 19px 55px rgba(27,73,103,.12);
  --glass-highlight: rgba(255,255,255,.8);
}
body[data-theme="balance"] {
  color-scheme: light;
  --bg: #d9e6e9;
  --bg-a: #b9d8d5;
  --bg-b: #c4d7e7;
  --sidebar: #0e2b42;
  --sidebar-line: #365773;
  --surface: rgba(246,250,250,.79);
  --surface-strong: #f9fcfb;
  --surface2: rgba(212,231,234,.65);
  --surface-hover: rgba(16,91,117,.08);
  --line: rgba(48,98,118,.17);
  --line-strong: rgba(38,96,119,.34);
  --text: #153148;
  --muted: #4d6c7b;
  --subtle: #607d88;
  --accent: #0b8081;
  --accent-text: #fff;
  --gold: #9a6322;
  --danger: #a3433c;
  --shadow: 0 20px 55px rgba(15,67,86,.14);
  --glass-highlight: rgba(255,255,255,.65);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(ellipse 48% 35% at 92% 7%,var(--bg-a),transparent 75%),radial-gradient(ellipse 48% 38% at 36% 80%,var(--bg-b),transparent 80%),var(--bg);background-attachment:fixed;line-height:1.5}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
button:disabled{opacity:.5;cursor:not-allowed}
#app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 14px 17px;background:linear-gradient(165deg,#102e4d 0%,var(--sidebar) 45%,#09182c 100%);border-right:1px solid var(--sidebar-line);color:#eaf6fc;z-index:5}
.sidebar::after{content:"";position:absolute;left:0;right:0;top:0;height:200px;background:radial-gradient(circle at 78% 10%,#4ecfbc23,transparent 65%);pointer-events:none}
.brand{position:relative;display:flex;gap:12px;align-items:center;padding:2px 9px 28px;z-index:1}
.mark{position:relative;display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:14px;color:#effffd;font-weight:800;font-size:1.48rem;background:linear-gradient(145deg,#4abcae,#1f7396);box-shadow:inset 0 1px 1px #ffffff66,0 12px 25px #061b3266}
.mark-spark{position:absolute;width:7px;height:7px;right:6px;top:6px;background:#f1d392;border-radius:50%}
.brand strong{font-size:.83rem;letter-spacing:.1em;display:block;line-height:1.2}.brand small{font-size:.78rem;color:#adccdf}
.workspace-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#06192de3;border:1px solid #57799250;border-radius:15px;padding:4px;margin:0 3px 29px;z-index:1}
.workspace-switch button{border:0;border-radius:11px;padding:10px 5px;background:transparent;color:#adcad9;font-weight:700;font-size:.72rem;white-space:nowrap}
.workspace-switch button.active{background:linear-gradient(150deg,#245277,#183e61);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 3px 10px #001a2e77}
.sidebar-label{font-size:.66rem;letter-spacing:.17em;font-weight:800;color:#81a9be;padding:0 14px;margin-bottom:11px}
.sidebar nav{display:grid;gap:4px;position:relative;z-index:1}
.nav-btn{width:100%;display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:12px;border:1px solid transparent;background:transparent;color:#bfd3df;text-align:left;font-size:.85rem;font-weight:650;transition:background .16s,color .16s,transform .16s}
.nav-btn:hover{background:#ffffff12;color:#fff;transform:translateX(2px)}
.nav-btn.active{background:linear-gradient(115deg,#71d7cc2c,#ffffff0b);border-color:#9ae7dc32;color:#fff;box-shadow:inset 3px 0 #80e4d7,inset 0 1px #ffffff13}
.nav-icon{width:19px;height:19px;display:grid;place-items:center;color:#a9c5d5}.nav-btn.active .nav-icon{color:#8de8dc}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-bottom{margin-top:auto;border:1px solid #92c7c323;border-radius:16px;padding:14px;background:linear-gradient(125deg,#93d9c910,#ffffff06);font-size:.74rem;color:#d3e6ed;position:relative;z-index:1}
.side-status{display:flex;align-items:center;gap:9px}.status-light{display:block;width:8px;height:8px;background:#edc586;border-radius:50%;box-shadow:0 0 0 4px #edc5861e}
.sidebar-bottom small{display:flex;justify-content:space-between;margin-top:10px;color:#97b6c7;font-size:.7rem}.sidebar-bottom small::before{content:"Yerel önizleme"}
.main-shell{min-width:0;display:flex;flex-direction:column}
.topbar{height:79px;display:flex;align-items:center;gap:15px;justify-content:space-between;padding:0 clamp(20px,3.3vw,52px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.top-location{display:flex;flex-direction:column;line-height:1.3;gap:2px}.top-overline{font-size:.65rem;letter-spacing:.16em;font-weight:800;color:var(--subtle)}.top-location strong{font-size:.89rem}
.top-actions{display:flex;align-items:center;gap:12px}.top-connection{font-size:.72rem;font-weight:800;color:var(--gold);border:1px solid var(--line);background:var(--surface);padding:8px 12px;border-radius:999px}
.icon-btn{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:12px;width:38px;height:38px;background:var(--surface);color:var(--text);box-shadow:inset 0 1px var(--glass-highlight)}.icon-btn:hover{background:var(--surface2)}
.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#59caba,#287b95);color:#fff;font-size:.73rem;font-weight:800;border:1px solid #c4fff84a}.mobile-menu{display:none}
main{width:100%;max-width:1560px;margin:0 auto;padding:clamp(23px,3vw,44px) clamp(20px,3.3vw,52px);flex:1}
footer{padding:16px clamp(20px,3.3vw,52px);display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--subtle);font-size:.67rem;letter-spacing:.12em;font-weight:700}
.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:25px}
.eyebrow{color:var(--accent);font-size:.69rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}
.page-head h1{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.05em;line-height:1.1;margin:0 0 9px;font-weight:750}.page-head p{font-size:.88rem;color:var(--muted);margin:0;max-width:680px}
.actions,.toolbar,.chips{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:12px;background:var(--accent);color:var(--accent-text);padding:11px 16px;min-height:43px;font-size:.82rem;font-weight:800;box-shadow:inset 0 1px #ffffff3d,0 6px 16px #0a8c7d18;transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:inset 0 1px var(--glass-highlight)}
.btn.warn{background:#c46e60;color:#fff}.btn.small{min-height:35px;padding:7px 11px;font-size:.75rem}
.grid{display:grid;gap:calc(14px + var(--gap-extra, 7px))}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:19px}
.panel,.stat,.callout,.hero-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);box-shadow:var(--shadow),inset 0 1px var(--glass-highlight);border-radius:22px}
.panel::before,.stat::before,.callout::before{content:"";pointer-events:none;position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#ffffff45,transparent)}
.panel{padding:23px}.panel h2{font-size:1.06rem;margin:0 0 15px;letter-spacing:-.02em}.panel p{font-size:.86rem;color:var(--muted);line-height:1.65}
.stat{padding:21px 22px;min-height:133px}.stat::after{content:"";position:absolute;width:100px;height:100px;right:-46px;top:-42px;border-radius:50%;background:radial-gradient(circle,#8de2d521,transparent 70%)}.stat .label{font-size:.72rem;color:var(--muted);font-weight:750}.stat b{display:block;font-size:1.9rem;letter-spacing:-.055em;margin:12px 0 2px}.stat small{font-size:.73rem;color:var(--accent);font-weight:700}
.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(295px,.85fr)}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr)}
.hero-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;margin-bottom:18px;background:linear-gradient(105deg,#143f58 0%,#1e5464 56%,#236d70 100%);border-color:#86ddd04d;color:#f5fffd}
.hero-card::after{content:"";position:absolute;width:240px;height:240px;right:8%;top:-164px;border:1px solid #ffffff38;border-radius:50%;box-shadow:0 0 0 32px #ffffff09,0 0 0 76px #ffffff07;pointer-events:none}.hero-card>*{position:relative;z-index:1}.hero-card strong{display:block;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:5px}.hero-card p{color:#cee9e7;margin:0;font-size:.84rem}.hero-card .btn{background:#eefdfa;color:#125461;white-space:nowrap}
.callout{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.callout strong{display:block}.callout small{color:var(--muted)}
.row,.mini-item,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.muted{color:var(--muted)}.mini-list{display:grid}.mini-item{padding:13px 0;border-bottom:1px solid var(--line);font-size:.84rem}.mini-item:last-child{border-bottom:0}.mini-item small{font-size:.72rem}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;font-size:.69rem;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);white-space:nowrap}.badge.pending{color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:color-mix(in srgb,var(--gold) 32%,transparent)}.badge.absent{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 32%,transparent)}
.toolbar{margin-bottom:17px}.toolbar input{flex:1;min-width:220px}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=tel],input[type=number],input[type=file],select,textarea{background:var(--surface2);border:1px solid var(--line-strong);color:var(--text);border-radius:11px;padding:10px 12px;min-height:42px;max-width:100%;box-shadow:inset 0 1px #ffffff0b}input::placeholder,textarea::placeholder{color:var(--subtle)}select option{background:var(--surface-strong);color:var(--text)}textarea{resize:vertical;min-height:88px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}table{border-collapse:collapse;min-width:620px;width:100%;font-size:.83rem}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.7rem;letter-spacing:.06em;background:var(--surface2);font-weight:800}tbody tr:hover{background:var(--surface-hover)}tr:last-child td{border:0}td small{display:block;margin-top:4px;color:var(--subtle)}.name{font-weight:800}.empty{padding:42px 20px;text-align:center;color:var(--muted);line-height:1.6}.empty strong{display:block;color:var(--text);font-size:1rem;margin-bottom:6px}.empty .btn{margin-top:13px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label,.stack label{display:grid;gap:7px;color:var(--muted);font-size:.77rem;font-weight:750}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.stack input,.stack select,.stack textarea{width:100%;font-weight:500}.stack{display:grid;gap:15px}.section-title{font-size:.72rem;color:var(--accent);font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:23px 0 12px}
.segment{display:inline-flex;flex-wrap:wrap;gap:3px;max-width:100%;background:var(--surface2);border:1px solid var(--line);padding:4px;border-radius:13px}.segment button{padding:8px 12px;color:var(--muted);border:0;background:transparent;border-radius:9px;font-weight:750;font-size:.75rem}.segment button.selected{color:var(--text);background:var(--surface-strong);box-shadow:0 3px 11px #071b2926,inset 0 1px var(--glass-highlight)}
.settings-list{display:grid}.setting-row{border-bottom:1px solid var(--line);padding:17px 0}.setting-row:last-child{border:0}.setting-row strong{display:block;font-size:.86rem}.setting-row small{color:var(--muted);font-size:.72rem}.slider-line{display:flex;align-items:center;gap:9px}.slider-line input{accent-color:var(--accent);width:min(160px,28vw)}
.chip{border:1px solid var(--line-strong);border-radius:999px;background:var(--surface2);color:var(--text);padding:8px 11px;font-size:.75rem}.chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:800}
.hint{background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin:14px 0;color:var(--muted);font-size:.77rem;line-height:1.55}
.form-field-list{display:grid;gap:9px}.form-field-item{border:1px solid var(--line);border-radius:14px;background:var(--surface2);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.form-field-item strong{font-size:.84rem}.form-field-item small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}.toggle{width:18px;height:18px;accent-color:var(--accent)}
.upload-box{border:1.5px dashed var(--line-strong);border-radius:15px;padding:20px;text-align:center;display:grid;gap:10px;background:var(--surface2)}.upload-box input{width:100%}.lesson-card{padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface2);margin-bottom:10px}.lesson-card small{color:var(--subtle)}
.overlay{position:fixed;inset:0;z-index:10;background:#051528bc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.overlay[hidden]{display:none}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(650px,calc(100vw - 24px));max-height:92vh;overflow:auto;border-radius:23px;padding:25px;background:var(--surface-strong);border:1px solid var(--line-strong);box-shadow:0 30px 90px #011120a8}.modal h2{margin:0 0 8px;font-size:1.34rem}.modal .close{float:right}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}
#toast{position:fixed;bottom:18px;right:18px;display:none;z-index:20;padding:12px 16px;border-radius:13px;background:#166b64;color:#fff;box-shadow:var(--shadow);font-size:.84rem;max-width:min(400px,calc(100vw - 36px))}
.emergency{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#071b32;color:#f6fcff}.emergency .box{text-align:center;max-width:560px;border:1px solid #416887;background:#12304e;padding:42px;border-radius:24px}.emergency h1{font-size:2rem}.emergency p{color:#bbd1df;line-height:1.6}#printSheet{display:none}
.admin-intro{display:flex;align-items:center;gap:14px;padding:16px 19px;border-radius:17px;background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface));border:1px solid var(--line-strong);margin-bottom:21px}.admin-intro strong{display:block;font-size:.89rem}.admin-intro small{color:var(--muted);font-size:.77rem}.admin-glyph{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:1.1rem;color:var(--accent)}
.permission-grid{display:grid;gap:0}.permission-head,.permission-line{display:grid;grid-template-columns:minmax(130px,1fr) repeat(3,minmax(80px,.55fr));gap:6px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:.8rem}.permission-head{color:var(--muted);font-weight:800;font-size:.7rem}.permission-line:last-child{border:0}.permission-line span:not(:first-child){text-align:center}.permission-line input{accent-color:var(--accent)}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:800px){#app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;transform:translateX(-103%);transition:transform .22s;box-shadow:0 20px 60px #04142288}.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid}.topbar{height:69px}.top-connection{display:none}.page-head{align-items:start;flex-direction:column}.two-col{grid-template-columns:1fr}.hero-card{align-items:start;flex-direction:column}main{padding:23px 20px}}
@media(max-width:550px){.stats{gap:10px}.stat{min-height:105px;padding:15px}.stat b{font-size:1.52rem;margin-top:9px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.topbar{padding:0 17px}.avatar{display:none}.top-overline{font-size:.56rem}footer{padding:14px 20px}.permission-head,.permission-line{grid-template-columns:minmax(95px,1fr) repeat(3,53px);font-size:.72rem}.permission-head{font-size:.63rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{*{box-shadow:none!important}body{background:#fff!important;color:#162b42!important}#app,#overlay,#toast,.emergency{display:none!important}#printSheet{display:block!important;font-family:Arial,sans-serif;font-size:10.5pt;color:#152b42}.print-page{width:100%;min-height:263mm;page-break-after:always;padding:5mm 8mm;position:relative}.print-page:last-child{page-break-after:auto}.print-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #08698a;padding-bottom:13px;margin-bottom:24px}.print-heading h1{font-size:22pt;margin:0;line-height:1.1}.print-heading h1 span{display:block;color:#08799a;font-size:16pt}.print-heading small{color:#64788b}.print-section{font-weight:bold;color:#08799a;margin:20px 0 9px;text-transform:uppercase;letter-spacing:.08em}.print-row{display:grid;grid-template-columns:43% 57%;border-bottom:1px solid #d5e0e7;min-height:32px;align-items:center}.print-row:nth-child(odd){background:#f4f8fa}.print-label{padding:6px;font-weight:bold;font-size:9pt}.print-label small{display:block;color:#08799a;font-size:8pt}.print-value{padding:6px;white-space:pre-wrap;overflow-wrap:anywhere}.signatures{display:flex;justify-content:space-between;gap:35px;margin-top:42px}.signatures div{flex:1;border-top:1px solid #627a8b;padding-top:7px;font-size:9pt}.consent-copy{line-height:1.55;white-space:normal}.consent-copy p{margin:0 0 14px}.draft-stamp{color:#936d32;font-size:9pt;margin-top:16px}.print-page .foot{position:absolute;bottom:7mm;right:8mm;color:#768b9b;font-size:8pt}}@page{size:A4;margin:12mm}
