:root{--green:#176b4b;--green2:#0f533a;--ink:#18251f;--muted:#75817b;--line:#e3e9e5;--bg:#f5f7f5;--white:#fff;--danger:#b8504a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:800;font-size:20px;text-decoration:none}.brand span,.auth-mark{background:var(--green);color:#fff;border-radius:9px;display:grid;place-items:center;font:bold italic 23px Georgia}.brand span{width:32px;height:32px}.user{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:13px}.container{max-width:1120px;margin:auto;padding:34px 24px 70px}h1{font:700 31px Georgia,serif;margin:5px 0 8px}h2{font-size:16px;margin:0 0 14px}p{color:var(--muted);margin:0}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#98a29d}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.primary,.secondary,.approve,.reject{border:0;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.secondary{background:#fff;color:#405049;border:1px solid var(--line)}.wide{width:100%;margin-top:8px}.link{border:0;background:none;color:var(--green);font-weight:700;cursor:pointer;padding:5px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:18px;font-size:13px}.success{background:#e5f3eb;color:#175d42}.error{background:#fbe9e7;color:#9d3e39}.auth-card{width:min(430px,100%);margin:65px auto;background:#fff;border:1px solid var(--line);border-radius:17px;padding:38px;box-shadow:0 15px 40px rgba(22,45,34,.06)}.auth-mark{width:45px;height:45px;margin-bottom:24px}.auth-card h1{font-size:29px}.auth-card>p:not(.eyebrow){margin-bottom:24px}.auth-card>small{display:block;text-align:center;color:#9aa39f;margin-top:21px}label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:14px 0;color:#415049}input,select,textarea{width:100%;border:1px solid #d9e0dc;border-radius:8px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #acd5c2;border-color:var(--green)}label.check{display:flex;align-items:center;font-weight:500}label.check input{width:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats article,.card,.punch-card{background:#fff;border:1px solid var(--line);border-radius:13px}.stats article{padding:20px;display:grid;gap:7px}.stats small{color:var(--muted)}.stats strong{font:700 28px Georgia}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid{grid-template-columns:1.35fr .65fr}.card{padding:22px}.card-head{display:flex;justify-content:space-between;gap:15px}.card-head form{display:flex;gap:7px}.card-head input{padding:7px;width:145px}.card-head .secondary{padding:7px 10px}.list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid #edf0ee}.list span,.employee-table span{display:grid;gap:4px}.list strong,.employee-table strong{font-size:13px}.list small,.employee-table small{font-size:11px;color:var(--muted)}.badge{font-size:10px;padding:6px 9px;border-radius:20px;width:max-content}.ok,.approved{background:#e4f3ea;color:#1c6849}.pending{background:#fff0da;color:#9d681e}.rejected{background:#fae8e6;color:#a54640}.empty{padding:30px 0;text-align:center;font-size:12px}.punch-card{text-align:center;padding:34px;margin-bottom:18px;background:linear-gradient(140deg,#fff 55%,#edf7f1)}.clock{font:700 52px Georgia,serif;letter-spacing:-2px}.punch-card>p{font-size:12px;margin:7px 0 27px}.punch{width:260px;border:0;border-radius:14px;padding:17px;color:#fff;font-size:18px;font-weight:800;box-shadow:0 8px 20px rgba(23,107,75,.18);cursor:pointer}.punch small{display:block;font-size:10px;font-weight:500;margin-top:5px;opacity:.8}.punch.in{background:var(--green)}.punch.out{background:#b95e4d}.working-dot{color:var(--green);font-size:12px;font-weight:700;margin-bottom:14px}.done{color:var(--green);line-height:1.7}.employee-card{margin-top:18px}.employee-table>div{display:grid;grid-template-columns:2fr 1fr .6fr .7fr;align-items:center;padding:13px 5px;border-top:1px solid #edf0ee;font-size:12px}.employee-table .table-title{color:#99a39e;font-size:9px;letter-spacing:1px}.leave-row form{display:flex;gap:4px}.approve,.reject{padding:5px 9px}.approve{color:#176b4b;background:#e5f3eb}.reject{color:#a33e39;background:#fae8e6}dialog{border:0;border-radius:15px;padding:0;box-shadow:0 20px 70px rgba(0,0,0,.18);width:min(520px,calc(100% - 30px))}dialog::backdrop{background:rgba(16,31,24,.45)}dialog form{padding:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.hint{font-size:11px}.auth-card form,.punch-card form{margin:0}@media(max-width:760px){.topbar{padding:0 16px}.user>span{display:none}.container{padding:24px 15px 50px}.page-head{align-items:flex-start}.stats{grid-template-columns:1fr 1fr}.two-col,.admin-grid{grid-template-columns:1fr}.employee-table>div{grid-template-columns:1fr auto}.employee-table>div>span:nth-child(2),.employee-table>div>b{display:none}.table-title{display:none!important}.card-head{display:block}.card-head form{margin-top:12px}.auth-card{margin:30px auto;padding:28px}.punch-card{padding:28px 16px}.clock{font-size:45px}}
