:root{
  --usal-green:#315f46;
  --usal-green-2:#4f7f3a;
  --usal-green-soft:#edf5ee;
  --usal-text:#24352e;
  --usal-muted:#697970;
  --usal-border:#d9e2dc;
  --usal-bg:#f5f7f5;
  --usal-card:#ffffff;
  --usal-warning:#d97706;
}
html,body{min-height:100%}
body{margin:0;background:var(--usal-bg);color:var(--usal-text);font-family:Arial,Helvetica,sans-serif}
.usal-topbar{background:var(--usal-green);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.usal-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:10px 24px}
.usal-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.usal-brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#fff;color:var(--usal-green);font-weight:900}
.usal-brand strong,.usal-brand small{display:block}.usal-brand small{opacity:.75;font-size:.72rem;margin-top:2px}
.usal-user{display:flex;align-items:center;gap:12px}.usal-user strong,.usal-user small{display:block}.usal-user small{font-size:.7rem;opacity:.75}
.usal-page{padding:28px 34px 50px}.usal-messages{margin-bottom:18px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.page-head h1{margin:0;color:var(--usal-green);font-size:1.75rem;font-weight:900}
.page-head p,.activity-subtitle{margin:6px 0 0;color:var(--usal-muted)}
.eyebrow{color:var(--usal-muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.panel{background:var(--usal-card);border:1px solid var(--usal-border);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.025)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--usal-border);background:#fbfcfb}
.panel-body{padding:18px}
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.activity-card{padding:18px;background:#fff;border:1px solid var(--usal-border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.035)}
.activity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--usal-border)}
.activity-date{font-size:.68rem;font-weight:900;color:var(--usal-muted);text-transform:uppercase}
.activity-card h2{margin:4px 0 0;font-size:1.12rem;color:var(--usal-text);font-weight:900}
.activity-meta{margin-top:6px;color:var(--usal-muted);font-size:.78rem}
.activity-stats,.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.stats-grid{margin-top:0}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.activity-stats>div,.stats-grid>div{padding:12px 10px;border:1px solid var(--usal-border);border-radius:10px;background:#f8faf8;text-align:center}
.activity-stats span,.stats-grid span{display:block;color:var(--usal-muted);font-size:.58rem;font-weight:900;text-transform:uppercase}
.activity-stats strong,.stats-grid strong{display:block;margin-top:5px;font-size:1.15rem;font-weight:900}
.pending-stat{background:#fff8e8!important;border-color:#f0cf8a!important}.pending-stat strong,.stat-warning{color:var(--usal-warning)!important}
.activity-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.usal-table th{padding:.7rem .8rem;color:var(--usal-muted);font-size:.64rem;font-weight:900;text-transform:uppercase;white-space:nowrap}
.usal-table td{padding:.7rem .8rem;font-size:.75rem}
.empty-state{padding:45px;text-align:center;background:#fff;border:1px dashed var(--usal-border);border-radius:14px;color:var(--usal-muted)}
.empty-state.compact{padding:28px;border:0}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#eaf2ec,#f7f8f6)}
.login-card{width:min(520px,100%);padding:38px;background:#fff;border:1px solid var(--usal-border);border-radius:18px;box-shadow:0 18px 50px rgba(37,76,55,.12);text-align:center}
.login-brand{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:18px;background:var(--usal-green);color:#fff;font-weight:900;font-size:1.15rem}
.login-eyebrow{color:var(--usal-green);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.login-card h1{margin:7px 0 10px;font-size:1.65rem;color:var(--usal-text);font-weight:900}
.login-card p{color:var(--usal-muted);margin-bottom:25px}
.login-note{margin-top:22px;color:var(--usal-muted);font-size:.72rem}
.hand-scanner,.manual-box{padding:16px;border:1px solid var(--usal-border);border-radius:12px;background:#f8faf8}
.hand-scanner{display:flex;align-items:center;gap:15px}.hand-icon{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:12px;background:#e4f1eb;color:var(--usal-green);font-size:1.5rem;font-weight:900}
.scanner-title{font-weight:900}.scanner-help{font-size:.75rem;color:var(--usal-muted);margin:3px 0 9px}
.camera-wrapper{padding:12px;background:#11211b;border-radius:16px;overflow:hidden}
#reader{background:#fff;border:0!important;border-radius:12px;overflow:hidden}#reader video{width:100%!important;border-radius:10px}
.scan-status{margin-top:16px;padding:17px;border:1px solid var(--usal-border);border-radius:11px;background:#f3f6f4;font-weight:900;text-align:center}
.scan-status.success{background:#e5f5eb;border-color:#a9d6ba;color:#17663d}.scan-status.warning{background:#fff4d6;border-color:#ead38c;color:#7c5d00}.scan-status.error{background:#fbe8ea;border-color:#e9b8bd;color:#962936}
.present-list{max-height:680px;overflow:auto}.present-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e4e9e6}
.present-check{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#e5f5eb;color:#198754;font-weight:900}
.present-time{padding:4px 7px;border-radius:6px;background:#e8f2ee;color:var(--usal-green);font-size:.67rem;font-weight:900}.registered-by{margin-top:3px;color:#78847e;font-size:.62rem}
.public-qr-card{max-width:650px;margin:50px auto;padding:34px;border:1px solid var(--usal-border);border-radius:18px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.public-qr-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:16px;background:var(--usal-green-soft);font-size:1.6rem}
.public-qr-card h1{margin:5px 0;color:var(--usal-text);font-weight:900}.public-email{color:var(--usal-muted)}
.public-activity{margin-top:22px;padding:17px;border-radius:12px;background:var(--usal-green-soft)}.public-activity strong{display:block;color:var(--usal-green)}
@media(max-width:1050px){.activity-grid{grid-template-columns:1fr}}
@media(max-width:800px){.page-head,.panel-head{flex-direction:column}.usal-page{padding:20px 16px}.stats-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.activity-stats,.stats-grid{grid-template-columns:repeat(2,1fr)}.activity-actions{grid-template-columns:1fr}.usal-topbar-inner{padding:10px 15px}}
