*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:#1f2937}.app{display:flex;min-height:100vh}.sidebar{width:255px;background:#111827;color:#fff;padding:20px 14px;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{font-size:23px;font-weight:700;padding:8px 12px 20px}.brand span{color:#60a5fa}.sidebar nav a{display:block;color:#d1d5db;text-decoration:none;padding:11px 13px;border-radius:8px;margin:3px 0}.sidebar nav a:hover{background:#1f2937;color:#fff}.sidebar .logout{margin-top:20px;color:#fca5a5}.main{margin-left:255px;width:calc(100% - 255px);min-width:0}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:17px 26px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0;font-size:24px}.muted{color:#6b7280;margin:4px 0}.userbox{background:#f3f4f6;padding:9px 13px;border-radius:20px}.badge{background:#dbeafe;padding:3px 8px;border-radius:12px;font-size:12px;margin-left:5px}.content{padding:26px}.footer{text-align:center;padding:20px;color:#6b7280}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.form-card,.panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d}.card .num{font-size:30px;font-weight:700;margin-top:8px}.stat-link{text-decoration:none;color:inherit}.actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.btn{display:inline-block;border:0;border-radius:7px;padding:10px 14px;text-decoration:none;cursor:pointer;background:#2563eb;color:#fff;font-size:14px}.btn.secondary{background:#6b7280}.btn.success{background:#16a34a}.btn.danger{background:#dc2626}.btn.warning{background:#d97706}.table-wrap{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 10px #0000000d}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 13px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.table th{background:#f9fafb;white-space:nowrap}.table tbody tr:hover{background:#f9fafb}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field{margin-bottom:15px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea,.search{width:100%;padding:10px 11px;border:1px solid #d1d5db;border-radius:7px;background:#fff}.field textarea{min-height:90px}.form-actions{display:flex;gap:8px;margin-top:16px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.photo{width:58px;height:58px;object-fit:cover;border-radius:8px;background:#eef2ff}.empty-photo{width:58px;height:58px;border-radius:8px;background:#f3f4f6;display:grid;place-items:center}.small{font-size:12px}.center{text-align:center}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.timetable{min-width:900px}.status-present{color:#166534;font-weight:700}.status-absent{color:#991b1b;font-weight:700}.status-leave{color:#92400e;font-weight:700}@media(max-width:950px){.sidebar{width:200px}.main{margin-left:200px;width:calc(100% - 200px)}.cards,.grid3{grid-template-columns:1fr 1fr}}@media(max-width:700px){.sidebar{position:static;width:100%}.app{display:block}.main{margin:0;width:100%}.topbar{display:block}.content{padding:16px}.cards,.grid2,.grid3,.filters{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.userbox{display:inline-block;margin-top:10px}}
