*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f6f7fb;color:#182033}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #e1e5ef;border-radius:10px;background:#fff;outline:none;color:#202638}input:focus,select:focus,textarea:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff14}textarea{min-height:80px;resize:vertical}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#171b2b;color:#d9dcef;padding:22px 14px;position:fixed;left:0;top:0;bottom:0;overflow:auto;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 24px}.brand-icon{width:42px;height:42px;border-radius:12px;background:#766cff;color:#fff;display:grid;place-items:center;font-weight:800}.brand b,.brand span{display:block}.brand b{font-size:16px;color:#fff}.brand span{font-size:12px;color:#9ea5c2}.sidebar nav{display:grid;gap:5px}.nav-btn{background:transparent;color:#9fa6c0;text-align:left;padding:11px 12px;border-radius:10px;display:flex;gap:11px;align-items:center}.nav-btn:hover,.nav-btn.active{background:#272d43;color:#fff}.side-note{margin:28px 10px;color:#717994;font-size:12px;line-height:1.6}.main{margin-left:250px;width:calc(100% - 250px);padding-bottom:50px}.topbar{height:76px;background:#fff;border-bottom:1px solid #e9ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.topbar h2{margin:0;font-size:19px}.topbar p{margin:3px 0 0;color:#8991a7;font-size:12px}.menu{display:none}.top-actions{display:flex;align-items:center;gap:12px}.today{font-size:12px;color:#737b91}.icon-btn{width:38px;height:38px;border:1px solid #e5e7ef;background:#fff;border-radius:10px}.page{display:none;padding:30px 32px}.page.active{display:block}.hero{background:linear-gradient(135deg,#5f58e9,#877ffb);color:#fff;border-radius:18px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.hero h1{margin:7px 0;font-size:26px}.hero p{margin:0;color:#e7e6ff}.eyebrow{font-size:10px;letter-spacing:1.6px;opacity:.8}.primary{background:#655de9;color:#fff;padding:11px 17px;border-radius:9px;font-weight:700}.hero .primary{background:#fff;color:#554ed0}.secondary{background:#eef0f6;color:#454c61;padding:11px 17px;border-radius:9px;font-weight:600}.danger{background:#ffe7e7;color:#b53131;padding:10px 15px;border-radius:9px;font-weight:700}.link{background:none;color:#625be4;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats.mini{grid-template-columns:repeat(3,1fr)}.stat{background:#fff;border:1px solid #e9ebf2;border-radius:15px;padding:18px;min-height:125px}.stat>span{font-size:19px;float:right}.stat small{display:block;color:#7c8499;font-size:12px}.stat strong{display:block;font-size:24px;margin:10px 0 4px}.stat em{font-size:11px;color:#99a0b2;font-style:normal}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:20px}.card{background:#fff;border:1px solid #e9ebf2;border-radius:15px;padding:20px;margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-head h3,.card h3{margin:0;font-size:15px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-grid button,.document-grid button{background:#f7f8fc;border:1px solid #e7e9f0;border-radius:12px;padding:15px;text-align:left;color:#2c3347}.quick-grid button:hover,.document-grid button:hover{border-color:#c9c6ff;background:#f5f4ff}.quick-grid b,.quick-grid small,.document-grid b,.document-grid small{display:block}.quick-grid b{margin-top:8px;font-size:12px}.quick-grid small,.document-grid small{color:#8b92a6;margin-top:3px;font-size:10px}.list{display:grid;gap:10px}.list-item{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f1f5;font-size:12px}.list-item:last-child{border:0}.list-item small{display:block;color:#8d94a8}.badge{background:#eef0ff;color:#5b55d7;border-radius:20px;padding:5px 9px;font-size:10px}.snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.snapshot div{background:#f8f9fc;border-radius:10px;padding:14px}.snapshot small,.snapshot b{display:block}.snapshot small{font-size:11px;color:#81899e}.snapshot b{margin-top:8px;font-size:20px}.page-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-tools h1{margin:0 0 4px;font-size:24px}.page-tools p{margin:0;color:#858da1;font-size:13px}.toolbar{display:flex;gap:10px;margin-bottom:15px}.toolbar input{max-width:430px}.toolbar select{max-width:190px}.table-card{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;border-bottom:1px solid #eef0f4;text-align:left;font-size:12px}th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#7d8497;background:#fafbfc}td strong{font-size:12px}.status{padding:5px 8px;border-radius:15px;font-size:10px;font-weight:700;display:inline-block}.status.Paid,.status.Present,.status.Active,.status.Pass{background:#e5f8ef;color:#168150}.status.Pending,.status.Absent,.status.Inactive,.status.Fail{background:#ffe8e8;color:#bb3c3c}.status.Partial,.status.Late,.status.Leave{background:#fff3d9;color:#9a6b00}.action{padding:6px 9px;background:#f0f1f7;border-radius:7px;margin-right:4px;font-size:11px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.class-card,.teacher-card,.parent-card,.test-card{background:#fff;border:1px solid #e8eaf1;border-radius:15px;padding:18px}.class-card h3,.teacher-card h3,.parent-card h3,.test-card h3{margin:0 0 6px}.meta{color:#858da1;font-size:11px;line-height:1.8}.card-footer{display:flex;justify-content:space-between;margin-top:15px;padding-top:12px;border-top:1px solid #eef0f4;font-size:11px}.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.document-grid button{min-height:125px}.document-grid button:first-letter{font-size:24px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.report-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef0f4;font-size:12px}.report-row:last-child{border:0}.settings-form{max-width:800px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form label,.form-grid label{font-size:11px;color:#687087;font-weight:700}.settings-form input,.settings-form textarea,.form-grid input,.form-grid select,.form-grid textarea{margin-top:6px}.settings-form label:nth-child(3){grid-column:span 2}.danger-card{max-width:800px}.modal-wrap{position:fixed;inset:0;background:#10142499;display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-wrap.open{display:flex}.modal{width:min(650px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:22px}.modal.small{width:min(560px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{margin:0;font-size:18px}.modal-head button{background:#f0f1f6;border-radius:8px;width:32px;height:32px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label:nth-last-child(1){grid-column:span 2}.modal-actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.doc-preview{background:#fff;border:1px dashed #cfd3df;margin:15px 0;padding:24px;min-height:180px}.doc-preview h1{text-align:center;margin:0 0 5px;font-size:21px}.doc-preview h2{text-align:center;font-size:16px}.doc-preview .doc-meta{text-align:center;color:#72798c;font-size:11px;margin-bottom:20px}.doc-table{width:100%;border-collapse:collapse;min-width:0}.doc-table td,.doc-table th{border:1px solid #ddd;padding:8px;font-size:11px}.certificate{text-align:center;padding:30px;border:8px double #ddd}.certificate h1{font-size:28px;margin:15px}.full{width:100%}#toast{position:fixed;right:24px;bottom:24px;background:#202638;color:#fff;padding:12px 16px;border-radius:9px;font-size:12px;opacity:0;transform:translateY(10px);transition:.25s;z-index:100;pointer-events:none}.toast-show{opacity:1!important;transform:translateY(0)!important}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.cards-grid,.document-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu{display:block;background:#fff;font-size:20px;margin-right:15px}.topbar{justify-content:flex-start}.top-actions{margin-left:auto}.snapshot{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.page{padding:20px 15px}.topbar{padding:0 15px}.hero{display:block}.hero .primary{margin-top:18px}.stats,.stats.mini,.cards-grid,.document-grid,.report-grid,.settings-form{grid-template-columns:1fr}.settings-form label:nth-child(3){grid-column:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.snapshot{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid label:nth-last-child(1),.modal-actions{grid-column:auto}.today{display:none}}
@media print{.sidebar,.topbar,.page-tools,.toolbar,.primary,.secondary,.action,#toast{display:none!important}.main{margin:0;width:100%}.page{padding:0}.page:not(.active){display:none!important}.card{border:0}.modal-wrap{display:none!important}}
