:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#173248;background:#f3f6fa;font-size:16px;--navy:#102d43;--blue:#1767ba;--muted:#617587;--line:#dbe4ec}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:11px 16px;background:var(--blue);color:white;font-weight:600}button:hover{filter:brightness(.94)}button.secondary{background:#eaf0f6;color:var(--navy)}button.danger{background:#a73542}button.small{padding:7px 10px;font-size:14px}button:focus-visible,a:focus-visible{outline:3px solid #e8ae38;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #b8c8d5;border-radius:7px;background:white;color:var(--navy);padding:11px}input[type=checkbox]{width:auto}textarea{min-height:90px;resize:vertical}label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#354f63}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 8px}h2{font-size:20px;letter-spacing:-.3px;margin:0 0 18px}h3{font-size:17px;margin:0 0 8px}p{line-height:1.55}small,.muted{color:var(--muted)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:white;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:26px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brandmark{display:grid;place-items:center;background:#1f7391;color:white;border-radius:10px;width:42px;height:42px;font-size:22px}.sidebar small{color:#a8bfce}.school-name{padding:17px 10px 25px;font-size:14px;line-height:1.6;border-bottom:1px solid #365063;margin-bottom:18px}.nav{display:grid;gap:5px}.nav button{text-align:left;background:transparent;color:#c0d2df;font-size:15px;font-weight:500;padding:12px}.nav button.active{background:#23495f;color:white;box-shadow:inset 3px 0 #52c9b2}.nav button span{display:inline-block;width:26px}.sidebar-foot{margin-top:auto;padding:20px 10px 0}.sidebar-foot strong{font-size:14px;display:block;margin-bottom:6px}.main{min-width:0}.topbar{height:80px;padding:0 36px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar strong{font-size:14px}.avatar{border-radius:50%;background:#deedf6;width:36px;height:36px;display:inline-grid;place-items:center;color:#235a76;margin-left:14px;font-weight:700}.workspace{padding:32px 36px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:12px;color:#367685;font-weight:750;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:12px}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.card{background:white;border:1px solid var(--line);border-radius:12px}.stat{padding:22px}.stat strong{font-size:32px;display:block;margin:10px 0 8px;letter-spacing:-1px}.stat .label{font-size:14px;color:#4c6477}.stat small{font-size:13px}.card{padding:24px;margin-bottom:22px}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-head h2{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px}th{text-align:left;background:#f4f7fa;padding:13px 14px;color:#617487;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:650}td{padding:15px 14px;border-bottom:1px solid #edf1f5}td.wrap{white-space:normal;min-width:200px}tr:last-child td{border-bottom:0}.pill{display:inline-block;border-radius:5px;padding:5px 8px;background:#e7eef6;color:#325370;font-size:12px;font-weight:650}.pill.green{background:#e0f3ed;color:#187452}.pill.red{background:#fce8eb;color:#a32b40}.pill.amber{background:#fff0d3;color:#83540b}.empty{padding:30px 12px;text-align:center;color:var(--muted);white-space:normal}.filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 22px}.filter label{min-width:160px;flex:1}.filter input,.filter select{padding:9px}.progress-track{height:8px;background:#e8eff5;border-radius:8px;overflow:hidden;margin:12px 0}.progress-track div{height:100%;background:#259c94;border-radius:8px}.objective{padding:16px 0;border-bottom:1px solid var(--line)}.objective:last-child{border:0}.objective p{margin:5px 0;font-size:14px}.banner{background:#e8f4f4;border-left:4px solid #24958f;padding:17px 20px;border-radius:7px;margin:20px 0;color:#28565b}.notice{background:#fff5df;border:1px solid #eddbaf;padding:14px 18px;border-radius:8px;font-size:14px;color:#705b29;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:9px}.error{color:#a32b40;font-size:14px;min-height:20px}.success{color:#187452}dialog{border:0;border-radius:14px;width:min(730px,95vw);max-height:90vh;padding:28px;color:var(--navy);box-shadow:0 30px 100px #102d4344}dialog::backdrop{background:#0d233e77}dialog .actions{justify-content:flex-end;margin-top:22px}dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}dialog h2{margin:0}.auth{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.welcome{background:var(--navy);color:white;padding:8vh 8vw;display:flex;flex-direction:column;justify-content:center}.welcome h1{font-size:48px;line-height:1.1;max-width:620px;margin-top:55px}.welcome .motto{font-size:21px;color:#91d5cb}.welcome p{color:#c3d7e3}.welcome .announcements{margin-top:35px;border-top:1px solid #426174;padding-top:22px;white-space:pre-line}.welcome .school-logo{max-width:100px;max-height:100px;object-fit:contain;background:white;border-radius:9px;padding:5px}.login{padding:8vh 8vw;display:flex;flex-direction:column;justify-content:center;background:white}.login form{display:grid;gap:20px}.login h2{font-size:27px;margin-bottom:6px}.login .tabs{display:flex;gap:8px;margin-bottom:30px}.login .tabs button{flex:1}.login-footer{margin-top:35px;font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123e48;color:white;padding:14px 22px;border-radius:8px;box-shadow:0 8px 30px #0002;z-index:10;display:none;max-width:90vw}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.badge-card{border:1px solid #abc0d0;border-radius:12px;overflow:hidden;background:white;max-width:430px}.badge-top{background:var(--navy);color:white;padding:17px}.badge-body{padding:22px;text-align:center}.badge-body h3{font-size:20px}.barcode{max-width:100%;height:65px;margin-top:15px}.code{font-family:Consolas,monospace;letter-spacing:1px;font-size:14px}.badge-expiry{border-top:1px solid var(--line);padding:12px;font-size:13px;text-align:center}.report-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:20px;margin-bottom:20px}.report-total{text-align:right;font-size:22px;font-weight:700;padding:20px}.nowrap{white-space:nowrap}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.workspace{padding:24px}.grid3{grid-template-columns:1fr 1fr}.auth{grid-template-columns:1fr 1fr}.welcome,.login{padding:40px}.welcome h1{font-size:38px}}@media(max-width:760px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:18px}.school-name,.sidebar-foot{display:none}.nav{display:flex;overflow:auto;margin-top:18px}.nav button{white-space:nowrap}.brand{font-size:22px}.topbar{height:65px;padding:0 18px}.workspace{padding:20px 14px}.page-head{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:27px}.form-grid,.grid2,.grid3{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.welcome{padding:28px}.welcome h1{font-size:30px;margin-top:22px}.welcome .announcements{margin-top:12px}.login{padding:28px}.card{padding:18px}h1{font-size:26px}.topbar .date{display:none}}@media print{body{background:white;color:black}.sidebar,.topbar,.page-head,.filter,.no-print,.actions,#toast,dialog{display:none!important}.layout{display:block}.workspace{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0;break-inside:avoid}.badge-card{break-inside:avoid;print-color-adjust:exact}.badge-grid{grid-template-columns:repeat(2,1fr)}th{print-color-adjust:exact}.notice{display:none}.report-head{margin-top:20px}}
.create-school-entry{margin-top:30px;padding-top:24px;border-top:1px solid #426174}.create-school-entry button{background:#52c9b2;color:#102d43}.school-open{display:block;background:#1767ba;color:white;text-align:center;text-decoration:none;padding:14px;border-radius:8px;font-weight:600}#create-school-form{margin-top:20px}

.student-photo{width:48px;height:48px;object-fit:cover;border-radius:8px}.gallery{display:flex;flex-wrap:wrap;gap:16px}.gallery figure{margin:0;max-width:250px}.gallery img{max-width:100%;max-height:200px;object-fit:cover}.gallery figcaption{padding:10px 0;font-size:14px}.qr-panel{text-align:center;background:white;color:#102d43;padding:15px}.qr-panel img{max-width:100%}

.install-campus{position:fixed;bottom:14px;right:14px;z-index:4;background:#102d43;border:1px solid #52c9b2;box-shadow:0 3px 14px #0002}.install-help p{line-height:1.65}.workspace{padding-bottom:85px}@media print{.install-campus{display:none}}

.offline-lekol{position:fixed;bottom:14px;left:14px;z-index:4;background:#795315;color:white;border:1px solid #e5b968;max-width:50vw}.install-campus{max-width:45vw}@media print{.offline-lekol{display:none}}
.share-lekol{position:fixed;right:14px;bottom:68px;z-index:4;background:#1767ba;border:1px solid #dbe4ec;box-shadow:0 3px 14px #0002}.share-dialog input{font-size:14px}.workspace{padding-bottom:130px}@media print{.share-lekol{display:none}}

.welcome .create-school-entry a{color:#91d5cb;font-weight:600}

.learning-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#1767ba;color:#fff!important;border-radius:10px;text-decoration:none;font-weight:700}.learning-link:focus-visible{outline:3px solid #52c9b2;outline-offset:4px}.welcome .learning-link{background:#52c9b2;color:#102d43!important}
