:root{--navy:#082b4c;--navy2:#0b3d68;--blue:#1f7aec;--cyan:#5ab2ff;--bg:#f3f7fb;--text:#16324a;--muted:#6f8295;--green:#20a66a;--red:#e85d5d;--white:#fff;--border:#dce6ef;--shadow:0 10px 30px rgba(8,43,76,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,var(--navy),#061f36);color:#dceafa;padding:22px 14px;position:fixed;inset:0 auto 0 0}.brand{font-weight:800;font-size:18px;padding:10px 12px 24px;color:white}.brand span{color:var(--cyan)}.nav a{display:block;padding:11px 13px;border-radius:9px;margin:3px 0;font-size:14px}.nav a:hover,.nav a.active{background:#1871d8;color:white}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:70px;background:white;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 26px;position:sticky;top:0;z-index:10}.content{padding:26px}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.metric small{color:var(--muted)}.metric strong{display:block;font-size:26px;margin-top:8px}.metric.in strong{color:var(--green)}.metric.out strong{color:var(--red)}h1{font-size:26px;margin:0 0 4px}h2{font-size:18px;margin:0 0 16px}.muted{color:var(--muted)}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.btn{display:inline-block;border:none;background:var(--blue);color:white;padding:10px 14px;border-radius:9px;cursor:pointer;font-weight:600}.btn.secondary{background:white;color:var(--navy);border:1px solid var(--border)}.btn.danger{background:var(--red)}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}th{background:#f8fbfd;color:#5f7488}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;background:#eaf3ff;color:#1768c5}.badge.green{background:#e6f7ef;color:#148753}.badge.red{background:#ffeded;color:#c74343}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:8px;background:white}.field.full{grid-column:1/-1}.flash{padding:12px 14px;border-radius:8px;margin-bottom:14px;background:#eaf6ef;color:#176a42}.login-page{min-height:100vh;background:linear-gradient(135deg,#061f36,#0f5aa0);display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:min(430px,100%);background:white;border-radius:18px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-logo{text-align:center;font-weight:900;font-size:24px;color:var(--navy);margin-bottom:8px}.login-logo span{color:var(--blue)}.card-id{max-width:380px;background:linear-gradient(160deg,var(--navy),#0a4d83);color:white;border-radius:20px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.card-id .photo{width:110px;height:110px;border-radius:50%;background:#dce8f2;margin:16px auto;display:flex;align-items:center;justify-content:center;font-size:36px}.card-id .name{text-align:center;font-size:22px;font-weight:800}.card-id .role{text-align:center;color:#a9d3ff;margin-top:4px}.card-id .qr{margin:18px auto 0;width:130px;height:130px;background:white;color:#082b4c;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;padding:8px}.two{grid-template-columns:2fr 1fr}@media(max-width:950px){.sidebar{width:76px}.sidebar .brand{font-size:0}.sidebar .brand:before{content:'3W';font-size:19px}.nav a{font-size:0}.nav a:before{content:'•';font-size:20px}.main{margin-left:76px;width:calc(100% - 76px)}.grid.cards{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}@media(max-width:650px){.main{margin-left:0;width:100%}.sidebar{display:none}.content{padding:16px}.grid.cards,.form-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.toolbar{align-items:flex-start;flex-direction:column}.card{overflow-x:auto}}
