*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Cairo,Tahoma,Arial,sans-serif;background:#f4f6f9;color:#1c2733}body{font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,var(--primary),#081d32);color:#fff;position:fixed;top:0;right:0;bottom:0;overflow-y:auto;z-index:20;box-shadow:-4px 0 20px rgba(0,0,0,.12)}.brand{padding:24px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}.brand img,.brand-mark{width:52px;height:52px;border-radius:50%;object-fit:contain;background:#fff;padding:5px}.brand-mark{display:grid;place-items:center;color:var(--primary);font-size:24px;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:10px;opacity:.75;margin-top:3px;line-height:1.5}.sidebar nav{padding:14px 10px}.sidebar nav a{display:block;padding:11px 13px;border-radius:8px;margin:2px 0;color:#eef5fb}.sidebar nav a:hover{background:rgba(255,255,255,.1)}.nav-label{font-size:11px;color:#a9bdcf;padding:16px 13px 5px}.main-content{margin-right:270px;min-width:0;width:calc(100% - 270px);display:flex;flex-direction:column;min-height:100vh}.topbar{height:76px;background:#fff;border-bottom:1px solid #e2e7ed;padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.user-chip{text-align:left}.user-chip span,.user-chip small{display:block}.user-chip small{color:#657382;font-size:11px}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.page-wrap{padding:26px;flex:1}.footer{text-align:center;padding:15px;color:#7b8794;font-size:12px}.public-page{min-height:100vh;background:radial-gradient(circle at top right,#244f78 0,var(--primary) 36%,#071a2d 100%);padding:30px;display:grid;place-items:center}.auth-card{width:min(960px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 26px 80px rgba(0,0,0,.28);display:grid;grid-template-columns:1fr 1.15fr}.auth-hero{background:linear-gradient(150deg,var(--primary),#081d32);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}.auth-hero img{width:94px;height:94px;object-fit:contain;background:#fff;border-radius:50%;padding:8px;margin-bottom:22px}.auth-hero h1{font-size:32px;margin:0 0 8px}.auth-hero p{opacity:.8;line-height:1.8}.auth-form{padding:44px}.auth-form h2{margin:0 0 8px}.auth-form>p{color:#667585;margin:0 0 25px}.container{max-width:1440px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.page-head h1{font-size:24px;margin:0}.page-head p{margin:5px 0 0;color:#6b7785}.card{background:#fff;border:1px solid #e1e7ed;border-radius:12px;box-shadow:0 4px 15px rgba(20,45,70,.04);padding:20px;margin-bottom:20px}.card-title{font-size:17px;font-weight:700;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #edf0f3}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid #e3e8ed;border-radius:12px;padding:18px;border-top:4px solid var(--accent)}.stat-card span,.stat-card strong{display:block}.stat-card span{color:#6d7986;font-size:12px}.stat-card strong{font-size:25px;margin-top:8px;color:var(--primary)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:600;margin-bottom:7px;color:#364452}.form-control{width:100%;border:1px solid #cfd8e1;border-radius:8px;padding:10px 12px;background:#fff;color:#1c2733;outline:none;transition:.2s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}textarea.form-control{min-height:90px;resize:vertical}.help{font-size:11px;color:#788593;margin-top:5px}.required:after{content:' *';color:#b42318}.btn{border:0;border-radius:8px;padding:10px 16px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;justify-content:center;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-light{background:#edf2f6;color:#304252}.btn-danger{background:#b42318;color:#fff}.btn-success{background:#18794e;color:#fff}.btn-sm{font-size:12px;padding:7px 10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 15px;border-radius:8px;margin-bottom:16px;border:1px solid}.alert-success{background:#ecfdf3;border-color:#a6f4c5;color:#067647}.alert-danger{background:#fef3f2;border-color:#fecdca;color:#b42318}.alert-warning{background:#fffaeb;border-color:#fedf89;color:#935f00}.alert-info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:700px}.table th,.table td{padding:11px 10px;border-bottom:1px solid #e8edf2;text-align:right;vertical-align:middle}.table th{background:#f6f8fa;color:#435364;font-size:12px;white-space:nowrap}.table tbody tr:hover{background:#fafcfd}.badge{display:inline-block;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700}.badge-active,.badge-success{background:#dcfae6;color:#087443}.badge-pending,.badge-warning{background:#fef0c7;color:#8a4b0f}.badge-inactive,.badge-danger{background:#fee4e2;color:#b42318}.badge-info{background:#e0f2fe;color:#075985}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters .form-group{margin:0;min-width:180px;flex:1}.search-box{position:relative}.search-results{position:absolute;top:100%;right:0;left:0;background:#fff;border:1px solid #ccd6df;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.13);max-height:280px;overflow:auto;z-index:30;display:none}.search-results.open{display:block}.search-result{padding:10px 12px;border-bottom:1px solid #edf1f4;cursor:pointer}.search-result:hover{background:#f1f6fa}.search-result small{display:block;color:#758291}.info-strip{display:flex;gap:15px;flex-wrap:wrap;background:#f5f8fb;border:1px solid #dde5ec;padding:12px;border-radius:8px}.info-strip div{min-width:140px}.info-strip small,.info-strip strong{display:block}.info-strip small{color:#71808e}.teacher-history{margin-top:12px}.amount-preview{background:#edf8f2;border-right:4px solid #18794e;padding:15px;border-radius:8px;font-size:18px;font-weight:700;color:#12613f}.switch{display:inline-flex;align-items:center;gap:8px}.switch input{width:18px;height:18px}.empty{text-align:center;color:#7d8995;padding:35px}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs a{padding:9px 14px;border-radius:8px;background:#e8eef3}.tabs a.active{background:var(--primary);color:#fff}.print-only{display:none}@media print{.sidebar,.topbar,.footer,.no-print,.btn,.filters{display:none!important}.main-content{margin:0;width:100%}.page-wrap{padding:0}.card{box-shadow:none;border:0;padding:0}.print-only{display:block}.table{min-width:0;font-size:11px}body{background:#fff}}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(105%);transition:.25s}.sidebar.open{transform:none}.main-content{margin-right:0;width:100%}.menu-btn{display:block}}
@media(max-width:700px){.page-wrap{padding:16px}.topbar{padding:0 14px}.auth-card{grid-template-columns:1fr}.auth-hero{padding:30px}.auth-form{padding:28px}.grid-2,.grid-3,.grid-4,.stats{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.user-chip span{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
