:root{--blue:#2465e8;--navy:#14294d;--muted:#77859b;--border:#e4eaf3;--bg:#f4f7fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#223450}a{color:var(--blue);text-decoration:none}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);border:1px solid transparent;border-radius:8px;padding:10px 16px;color:white;font:600 13px system-ui;cursor:pointer}button:hover,.button:hover{filter:brightness(.95)}.secondary{background:white;color:#4e6383;border-color:var(--border)}.layout{display:flex;min-height:100vh}aside{width:244px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:25px 15px;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:800;font-size:22px;letter-spacing:1px;padding:0 10px}.brand .icon{width:36px;height:36px;color:var(--blue)}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:var(--muted)}.institute{background:#f2f6ff;padding:14px;border-radius:9px;margin:23px 0 16px;font-weight:600}.institute small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}nav{overflow:auto;flex:1}nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#697a94;font-size:12px;margin:2px 0}nav a:hover,nav a.active{background:#eaf1ff;color:var(--blue)}nav a.active{font-weight:700}.icon{width:20px;height:20px;flex-shrink:0}.sidefoot{font-size:10px;color:var(--muted);padding:15px 7px 0}.workspace{margin-left:244px;width:calc(100% - 244px)}.topbar{height:84px;background:white;border-bottom:1px solid var(--border);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar strong{display:block;font-size:17px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.account{display:flex;gap:12px;align-items:center;font-size:12px}.account small{display:block;color:var(--muted);font-size:10px}.avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;color:#2465e8;background:#eaf1ff;font-weight:800}.content{padding:30px 35px;max-width:1600px;margin:auto}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.sectionhead h1,h1{font-size:26px;letter-spacing:-.7px;margin:0 0 4px}.sectionhead p{margin:0}.actions{display:flex;gap:8px}.muted{color:var(--muted);font-size:12px}.hero{background:linear-gradient(110deg,#193d80,#286deb);border-radius:15px;color:white;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.hero h1{font-size:28px;margin:5px 0 8px}.hero p{color:#c4d7ff;margin:0}.hero .heroicon{font-size:55px;padding:0 20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;color:#223450;position:relative}.stat .iconbox{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eaf1ff;color:var(--blue);margin-bottom:12px}.stat:nth-child(2) .iconbox{color:#19a079;background:#e5f7f1}.stat:nth-child(3) .iconbox{color:#885be3;background:#f1eaff}.stat:nth-child(4) .iconbox{color:#d78a12;background:#fff5de}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:27px;margin-top:3px;letter-spacing:-.6px}.compact .stat{padding:13px 20px}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:23px;margin:20px 0;min-width:0}.panel h2{font-size:16px;margin:0 0 18px}.panel .sectionhead h2{margin:0}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick a{border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;color:#536583;font-size:11px}.quick .icon{color:var(--blue);width:25px;height:25px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.4px;background:#f7f9fd;color:var(--muted);padding:13px 12px}td{padding:14px 12px;border-bottom:1px solid #f0f3f8;max-width:300px;overflow:hidden;text-overflow:ellipsis}.rowactions{display:flex;gap:12px;align-items:center}.link{border:0;background:none;padding:0;color:var(--blue);font-size:12px}.danger{color:#dc5260}.badge{border-radius:5px;background:#eef2f9;padding:4px 8px;color:#617189;font-size:10px}.badge.verify,.badge.present{background:#e2f6ed;color:#16855e}.badge.pending,.badge.late{background:#fff3dc;color:#b87d14}.badge.print{background:#e4edff;color:#2865ce}.badge.TC,.badge.absent{background:#ffe8eb;color:#c7475b}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.field{display:block;font-size:11px;color:#536583}.field span{display:block;margin-bottom:7px}.field small{color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #dce4f0;border-radius:7px;padding:10px 11px;font:13px system-ui;color:#263c5e;background:white;min-height:39px}input:focus,select:focus,textarea:focus{outline:2px solid #c8dbff;border-color:#7ca7ff}textarea{min-height:90px}.formactions{display:flex;gap:10px;margin-top:25px}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px}.filters input{max-width:340px}.pagination{padding-top:18px;font-size:11px;display:flex;gap:14px}.empty{text-align:center;padding:40px;color:var(--muted)}.alert{border-radius:8px;padding:14px 18px;background:#ffeded;color:#bd4350;margin:15px 0}.alert.success{background:#e2f6ed;color:#18795d}.notice{border-bottom:1px solid var(--border);padding:13px 0}.notice strong{display:block;font-size:13px}.notice small{font-size:10px;color:var(--muted)}footer{font-size:10px;text-align:center;color:#98a4b5;padding:20px}.menu{display:none}.authwrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(at 15% 10%,#dceaff,transparent 60%)}.auth{width:100%;max-width:440px;background:white;border:1px solid var(--border);box-shadow:0 20px 60px #213e7610;border-radius:17px;padding:35px}.auth .brand{margin-bottom:30px}.auth h1{font-size:24px}.auth .field{margin:18px 0}.auth button{width:100%;margin-top:10px}.portals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.portals a{padding:10px;text-align:center;border:1px solid var(--border);border-radius:8px;font-size:11px}.portals a.selected{background:#eaf1ff;border-color:#7ba5f5}.photo{width:42px;height:48px;border-radius:6px;object-fit:cover}.idgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.idcard{width:85.6mm;height:54mm;border:1px solid #c2d2ec;border-radius:9px;overflow:hidden;background:#fff;font-size:10px;break-inside:avoid}.idhead{background:#205ed4;color:#fff;padding:9px 12px;text-align:center;font-size:12px;font-weight:700}.idbody{display:flex;gap:12px;padding:12px}.idbody img{width:20mm;height:25mm;object-fit:cover;border:1px solid #dce4f0;border-radius:4px}.idbody strong{font-size:13px;display:block;color:#1e4e9a}.idfoot{font-size:8px;text-align:center;color:#6580a6}.document{max-width:800px;margin:20px auto;padding:40px}.document h1{text-align:center}.document dl{display:grid;grid-template-columns:1fr 2fr;gap:12px}.document dd{margin:0;font-weight:600}.amount{font-size:30px;color:var(--blue)}.prewrap{white-space:pre-wrap}.no-print{display:block}
@media(max-width:1200px){.formgrid{grid-template-columns:repeat(2,1fr)}.idgrid{grid-template-columns:1fr 1fr}.content{padding:24px}.topbar{padding:0 24px}.stats{gap:12px}}
@media(max-width:850px){aside{transform:translateX(-100%);transition:.2s}.navopen aside{transform:translateX(0);box-shadow:0 0 0 100vw #10264355}.workspace{width:100%;margin-left:0}.menu{display:block}.topbar{height:70px;padding:0 16px}.topbar .eyebrow{display:none}.topbar strong{font-size:14px}.account>span:not(.avatar){display:none}.account .avatar{display:none}.content{padding:20px 16px}.hero{padding:22px}.hero h1{font-size:23px}.heroicon{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:23px}.split{display:block}.formgrid{grid-template-columns:1fr 1fr}.sectionhead{align-items:start;flex-wrap:wrap}.sectionhead h1{font-size:22px}.panel{padding:18px}.idgrid{grid-template-columns:1fr}.quick a{padding:13px 5px}.actions{flex-wrap:wrap}.actions .button{font-size:11px}.idcard{max-width:100%}}
@media(max-width:480px){.formgrid{grid-template-columns:1fr}.auth{padding:25px}.filters{flex-wrap:wrap}.hero p{font-size:11px}}
@media print{@page{size:A4;margin:10mm}body{background:white}aside,.topbar,footer,.no-print,.menu,.filters,.actions{display:none!important}.workspace{margin:0;width:100%}.content{padding:0}.panel{border:0;padding:0;box-shadow:none}.idgrid{display:grid;grid-template-columns:repeat(2,85.6mm);gap:8mm}.idcard{print-color-adjust:exact;-webkit-print-color-adjust:exact}.document{margin:0;padding:10mm}.sectionhead{display:none}.tablewrap{overflow:visible}table{white-space:normal}}
.verifyform{display:flex;gap:5px;align-items:center}.verifyform select{min-width:85px}.verifyform button{white-space:nowrap}.rowactions details{min-width:110px}.rowactions summary{cursor:pointer;color:var(--blue)}.rowactions details[open]{min-width:250px}.rowactions details form{margin-top:10px}.rowactions details button{margin-top:10px}
.heroicon .icon{width:85px;height:85px;stroke-width:1.1;color:#bed6ff}
.login-toolbar{display:flex;justify-content:flex-end;margin:-15px -10px 0}.login-more{position:relative}.login-more summary{list-style:none;cursor:pointer;font-size:30px;line-height:35px;padding:0 12px;color:#536583}.login-more summary::-webkit-details-marker{display:none}.login-options{position:absolute;right:0;top:40px;width:205px;background:#fff;border:1px solid #e0e7f2;border-radius:12px;box-shadow:0 12px 30px #163b7422;padding:8px;z-index:10}.login-options a{display:block;padding:10px 12px;border-radius:7px}.login-options a:hover{background:#edf3ff}.login-brand{text-align:center;margin:5px auto 25px}.login-brand img{display:block;width:100%;height:110px;object-fit:contain;margin:auto auto 12px}.login-brand strong{display:block;font-size:18px;color:#173d7a}.brand-fallback .icon{width:65px;height:65px;color:#2465e8}.login-title,.login-subtitle{text-align:center}.login-switch{text-align:center;margin:23px 0 5px;font-size:13px}.settings-logo{display:block;max-width:320px;max-height:130px;object-fit:contain;margin:15px 0}
/* Education 2.2 */
body{overflow-x:hidden}a,button{touch-action:manipulation}.login-more{position:relative}.login-more>summary{list-style:none;background:linear-gradient(135deg,#246bff,#7c3aed);color:#fff;font-size:26px;border-radius:12px;width:42px;height:42px;text-align:center;cursor:pointer}.login-options{min-width:215px;background:#fff;box-shadow:0 14px 45px #15275a35;border:1px solid #dde7fd;border-radius:14px;padding:9px;top:48px}.login-options a{display:block;padding:11px;border-radius:8px}.login-options a:hover{background:#eef3ff}.login-switch a{display:block;text-align:center;padding:13px;background:#ede6ff;color:#6327bd;border:1px solid #d7c4ff;border-radius:11px;font-weight:700;margin-top:17px}.login-title{text-align:center}.login-subtitle{text-align:center}.login-brand strong{display:block}.action-menu{position:relative}.action-menu>summary{list-style:none;font-size:24px;cursor:pointer;text-align:center;background:#e9efff;border-radius:10px;color:#2463eb;width:38px}.action-pop{position:absolute;right:0;background:#fff;box-shadow:0 12px 35px #18366730;border:1px solid #dfe8fb;border-radius:13px;padding:16px;min-width:260px;z-index:40;white-space:normal}.action-pop>a{display:block;padding:10px;border-radius:7px;background:#f1f5ff;margin:6px 0}.action-pop form{padding:8px 0;border-bottom:1px solid #eef1f8}.action-pop .field{margin-bottom:8px}.action-pop button{padding:8px 12px}.tablewrap:has(.action-menu[open]){min-height:650px}.purple{background:linear-gradient(135deg,#a13bd5,#6022bf);color:#fff}.hero{background:linear-gradient(120deg,#0646c5,#0089ec);border-radius:18px;position:relative;overflow:hidden;min-height:175px;box-shadow:0 10px 30px #1763c529}.hero:after{content:'';position:absolute;width:420px;height:270px;right:-100px;top:-80px;transform:rotate(-30deg);border-radius:60px;background:#ffffff12}.hero svg{width:145px;height:145px;opacity:.65}.hero h1{font-size:34px}.stats .stat{position:relative;overflow:hidden;border-radius:15px;background:linear-gradient(150deg,#fff 70%,#dbeeff)}.stats .stat:nth-child(2){background:linear-gradient(150deg,#fff 70%,#cff6e8)}.stats .stat:nth-child(3){background:linear-gradient(150deg,#fff 70%,#ebe0ff)}.stats .stat:nth-child(4){background:linear-gradient(150deg,#fff 70%,#fff0d6)}.stats .stat:after{content:'View details →';font-size:11px;color:#2563eb;display:block;margin-top:12px}.quick a{border:1px solid #e0e9f8;border-radius:12px;background:linear-gradient(#fff,#f7faff);padding:20px 8px;text-align:center}.quick a:nth-child(3n+2){color:#059a86}.quick a:nth-child(3n){color:#7b39d9}.session-bar{display:flex;gap:35px;justify-content:center;flex-wrap:wrap;background:#fff;border:1px solid #dfe9fc;border-radius:13px;padding:15px;margin-bottom:24px}.notice-image{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:12px}.notice-detail{max-width:900px;margin:auto}.rich-body{font-size:16px;line-height:1.8}.slider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.app-slider{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:15px;margin-bottom:20px}.app-slider article{flex:0 0 100%;scroll-snap-align:center}.app-slider img{width:100%;max-height:240px;object-fit:contain;border-radius:16px;background:#fff}.report-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.report-tile{background:linear-gradient(130deg,#0646c5,#167fed);padding:30px;color:#fff;border-radius:18px;box-shadow:0 8px 20px #0051bd22}.report-tile:nth-child(2){background:linear-gradient(130deg,#5a28b4,#9150e8)}.report-tile:nth-child(3){background:linear-gradient(130deg,#008f91,#05b4ad)}.report-tile h2{color:inherit}.search-select{padding:9px!important;margin-bottom:6px;width:100%}input[type=number]{min-width:0}input[name=geo_latitude],input[name=geo_longitude]{appearance:textfield}.document-actions{display:flex;gap:12px;justify-content:center;margin:20px}.slip{max-width:800px;margin:auto;background:white;padding:35px;border:1px solid #d8e3f6;border-radius:10px}.slip-brand{display:flex;align-items:center;gap:18px;border-bottom:3px solid #0c9cba;padding-bottom:15px}.slip-brand img{width:110px;height:72px;object-fit:contain}.slip h1{color:#12366e;text-align:center}.slip .info{background:#e8f3ff;border-radius:10px;padding:14px;margin:16px 0}.slip table{width:100%;border-collapse:collapse}.slip th{background:#cfe6fc}.slip td,.slip th{padding:10px;border:1px solid #c5d4e6}.slip .total{background:#0f52b5;color:#fff;font-weight:bold}.slip .signature{text-align:right;padding:38px 0 10px}.card-canvas{position:relative;width:min(100%,640px);aspect-ratio:85.6/54;background:#f6faff;border:1px solid #d4deed;overflow:hidden}.card-canvas.portrait{aspect-ratio:54/85.6;max-width:360px}.card-canvas>img{position:absolute;width:100%;height:100%;object-fit:fill}.layout-field{position:absolute;box-sizing:border-box;border:1px dashed #657cbb;cursor:move;overflow:hidden;touch-action:none;white-space:nowrap}.layout-field.selected{outline:2px solid #2467ff}.card-editor{display:grid;grid-template-columns:minmax(280px,1fr) 270px;gap:20px}.card-editor input{max-width:100%}.canvas-pages canvas{width:min(100%,800px);display:block;margin:20px auto;box-shadow:0 4px 25px #1233}.no-print{}.rich-toolbar{display:flex;gap:7px;margin:8px 0}.rich-editor{min-height:130px;border:1px solid #cedbf1;padding:12px;border-radius:10px;background:white}.readonly-note{background:#fff4dc;padding:14px;border-radius:10px}
@media(max-width:700px){.authwrap{padding:20px!important}.auth{padding:24px!important}.hero h1{font-size:25px}.heroicon{display:none}.card-editor{grid-template-columns:1fr}.slip{padding:16px}.slip-brand img{width:75px}.account>span:not(.avatar){display:none}.action-pop{position:fixed;right:15px;top:20%;max-height:70vh;overflow:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media print{.no-print,.document-actions{display:none!important}.slip{border:0;padding:0;box-shadow:none;max-width:none}.slip,.slip th,.slip .info,.slip .total{print-color-adjust:exact;-webkit-print-color-adjust:exact}.slip{font-size:11pt}@page{size:A4;margin:12mm}}
.heroicon img{width:290px;max-width:35vw;position:relative;z-index:1}.nav-heading{font-size:9px;letter-spacing:1.2px;color:#7f91ab;padding:18px 13px 6px;font-weight:700}.action-pop{position:fixed;right:24px;top:18vh;max-height:72vh;overflow:auto;min-width:280px}.tablewrap:has(.action-menu[open]){min-height:0}.badge.active,.badge.inactive{background:#e2f7ed;color:#087344}

.slip .total td{color:white;font-weight:bold}.badge.inactive{background:#ffeded;color:#ba3434}
