:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#102957;background:#f0f5fc;font-synthesis:none;--blue:#0953cf;--yellow:#ffcf25}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #c4d7f4;border-radius:10px;padding:11px 17px;background:white;color:#123466;font-weight:650}button:hover{filter:brightness(.96)}button.primary{background:var(--yellow);border-color:var(--yellow);color:#102957}button.blue{background:var(--blue);color:white}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;border:1px solid #c4d4ed;border-radius:9px;padding:11px;background:white;color:#17345d}label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}textarea{min-height:95px;resize:vertical}h1{font-size:28px;margin:0 0 8px}h2{font-size:21px;margin:0 0 18px}h3{font-size:16px}p{line-height:1.6}.muted{color:#6e7e97;font-size:13px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.7px}.pin{display:inline-flex;background:var(--yellow);border:6px solid #36acff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);width:29px;height:29px;margin:0 9px 4px 2px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.2px;margin-top:5px}.brand img{max-width:45px;max-height:45px;border-radius:6px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.welcome{padding:11vh 7vw;background:linear-gradient(140deg,#06318e,#0866e4);color:white;position:relative;overflow:hidden}.welcome:after{content:'';width:400px;height:400px;border:60px solid #ffcf25;border-radius:50%;position:absolute;right:-230px;bottom:-240px}.welcome h1{font-size:48px;line-height:1.15;max-width:450px;margin-top:100px}.welcome p{color:#d7e9ff;max-width:390px}.loginform{display:grid;place-items:center;padding:30px}.loginform form{width:100%;max-width:360px}.loginform button{width:100%;margin-top:25px}.error{color:#b62738;background:#fff0f1;padding:12px;border-radius:8px;margin-top:12px}.top{height:80px;background:#fff;border-bottom:1px solid #dfe8f4;display:flex;justify-content:space-between;align-items:center;padding:0 30px;gap:20px}.top .brand{font-size:18px}.admin{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:linear-gradient(175deg,#074bb8,#063383);color:white;padding:29px 18px;position:sticky;top:0;height:100vh}.sidebar .brand{font-size:18px;margin-bottom:45px}.sidebar button{display:flex;width:100%;margin:8px 0;text-align:left;border:0;background:transparent;color:#dceaff;padding:13px;gap:12px;font-weight:500}.sidebar button.active{background:#dcebff;color:#124394}.sidefoot{position:absolute;bottom:30px;left:30px;font-size:12px;color:#b9d8ff}.main{min-width:0}.content{padding:30px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.card{background:#fff;border:1px solid #e0e9f6;border-radius:16px;padding:23px;box-shadow:0 5px 16px #1f4b8c04;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{padding:22px;border-radius:13px;background:#e1efff}.stat:nth-child(2){background:#e2f7e9}.stat:nth-child(3){background:#fff0ef}.stat:nth-child(4){background:#fff4cc}.stat strong{display:block;font-size:31px;margin-top:9px}.stat span{font-size:13px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}th{font-weight:600;text-align:left;color:#627593;background:#f3f7fd;padding:13px}td{padding:15px 13px;border-bottom:1px solid #eef2f8}td button{padding:6px 10px;font-size:12px;margin-right:5px}.badge{display:inline-block;border-radius:20px;background:#e6effc;padding:5px 11px;font-size:12px;color:#2358a5}.badge.Present,.badge.Approved,.badge.Active{background:#ddf6e7;color:#187d47}.badge.Absent,.badge.Rejected,.badge.Inactive{background:#ffe5e5;color:#b63b45}.badge.Pending,.badge.Remaining{background:#fff3ce;color:#946d06}.filters{display:flex;gap:12px;margin-bottom:20px;align-items:end;flex-wrap:wrap}.filters>div{min-width:135px;flex:1}.filters input,.filters select{max-width:100%}.row{display:flex;gap:15px;align-items:center}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px}.avatar{width:48px;height:48px;background:#e4efff;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#1260d1;flex-shrink:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.empty{text-align:center;padding:35px;color:#7c8da4}.note{background:#eaf4ff;border-radius:9px;padding:12px 15px;font-size:12px;line-height:1.6;margin-top:15px}.employee{max-width:490px;margin:auto;min-height:100vh;background:#f5f8fd;padding-bottom:85px;box-shadow:0 0 70px #2359a117}.emphead{background:linear-gradient(125deg,#0750c8,#0873e6);color:white;padding:24px 22px 35px}.emphead .brand{justify-content:center}.empcontent{padding:0 18px;margin-top:-14px}.employee .card{padding:20px}.employee .stats{gap:7px}.employee .stat{padding:14px 7px;text-align:center}.employee .stat strong{font-size:25px}.employee .stat span{font-size:10px}.employee h1{font-size:23px}.bottomnav{position:fixed;bottom:0;width:min(490px,100%);background:white;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dbe6f4;padding:9px 5px 12px;z-index:2}.bottomnav button{border:0;font-size:11px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent}.bottomnav b{font-size:22px;font-weight:400;border-radius:9px;padding:3px 11px}.bottomnav .active b{background:var(--yellow)}.today{background:#edf5ff;padding:15px;border-radius:10px;margin:22px 0 12px}.statusline{text-align:center;padding:10px;background:#e8f1fc;border-radius:10px;font-weight:600}.shortcut{width:100%;display:flex;justify-content:space-between;background:#fff4cb;border-color:#fff4cb}.map{height:150px;border-radius:12px;background:linear-gradient(35deg,transparent 40%,white 40%,white 46%,transparent 46%),linear-gradient(140deg,#d5efdc 25%,#e3edf9 25%,#e3edf9 53%,white 53%,white 59%,#dfeafa 59%);display:grid;place-items:center;font-size:44px}.kv{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf1f8;font-size:14px}.full{width:100%;margin-top:18px}dialog{border:1px solid #dce6f3;border-radius:17px;padding:25px;width:min(540px,94vw);max-height:90vh;color:#17345d;box-shadow:0 20px 100px #0c29594a}dialog::backdrop{background:#0c244c70}dialog .close{float:right;padding:4px 10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.settingsnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.settingsnav .active{background:#dfeeff;color:#0953cf}.checkrow{display:flex;gap:15px;flex-wrap:wrap}.checkrow label{display:flex;gap:7px;align-items:center}.checkrow input{width:auto}.request{border-bottom:1px solid #e4ebf5;padding:15px 0}.request:last-child{border:0}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:#123567;color:white;padding:13px 22px;border-radius:10px;z-index:10;display:none;max-width:90vw;font-size:14px}.printonly{display:none}@media(max-width:850px){.admin{grid-template-columns:78px 1fr}.sidebar{padding:25px 10px}.sidebar .brand{font-size:0}.sidebar .brand small,.sidebar .navlabel,.sidefoot{display:none}.sidebar button{justify-content:center;font-size:20px;padding:14px 8px}.content{padding:20px}.split{grid-template-columns:1fr}.top{padding:0 20px}.stats{gap:9px}.stat{padding:15px}.stat span{font-size:11px}.login{grid-template-columns:1fr}.welcome{display:none}}@media(max-width:550px){.admin{display:block}.sidebar{height:auto;position:static;padding:15px;display:flex;flex-wrap:wrap;gap:4px}.sidebar .brand{font-size:18px;width:100%;margin-bottom:12px}.sidebar .brand small{display:block}.sidebar button{width:auto;margin:0;font-size:17px;padding:9px 13px}.top{height:65px}.top .muted{display:none}.content{padding:16px}.heading{align-items:start}.heading h1{font-size:24px}.stats{grid-template-columns:repeat(2,1fr)}.employee .stats{grid-template-columns:repeat(4,1fr)}.grid2{grid-template-columns:1fr}.top .brand{font-size:14px}.card{padding:17px}.filters{gap:8px}}@media print{.sidebar,.top,.heading button,.filters,.actions,.settingsnav,.bottomnav,#toast{display:none!important}.admin{display:block}.content{padding:0}.card{border:0;box-shadow:none}.printonly{display:block}body{background:white}.tablewrap{overflow:visible}table{font-size:10px;white-space:normal}}
