*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0f172a;color:#f1f5f9}.login-form{max-width:400px;margin:15vh auto;display:flex;flex-direction:column;gap:12px;padding:16px}input,select,textarea{padding:10px;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#fff}.btn-primary{padding:10px 16px;border-radius:8px;border:none;background:#16a34a;color:#fff;font-weight:600;cursor:pointer}.btn-secondary{padding:10px 16px;border-radius:8px;border:1px solid #64748b;background:transparent;color:#fff;cursor:pointer}.btn-link{background:none;border:none;color:#38bdf8;cursor:pointer;text-decoration:underline}.dashboard{max-width:1100px;margin:0 auto;padding:16px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{padding:10px 16px;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#fff;cursor:pointer}.tabs button.active{background:#16a34a;border-color:#16a34a}.summary-cards{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card{background:#1e293b;border-radius:10px;padding:12px 16px;min-width:100px;text-align:center}.card b{display:block;font-size:24px}.zone-table{width:100%;border-collapse:collapse;margin-top:12px}.zone-table th,.zone-table td{text-align:left;padding:8px;border-bottom:1px solid #1e293b;font-size:14px}.pill{padding:3px 10px;border-radius:999px;font-size:12px;color:#fff}.ly-do-cell{max-width:320px;font-size:13px;color:#cbd5e1}.filter-bar{display:flex;gap:12px;align-items:center;margin-bottom:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center}.modal{background:#1e293b;padding:20px;border-radius:12px;width:400px;display:flex;flex-direction:column;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.error-text{color:#f87171}.sub-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.sub-banner-warn{background:#78350f;color:#fef3c7}.sub-banner-info{background:#1e3a5f;color:#dbeafe}.sub-block{max-width:480px;margin:15vh auto;text-align:center;background:#1e293b;padding:32px;border-radius:12px}.sub-block h2{margin-top:0}.qr-box{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;background:#1e293b;padding:16px;border-radius:10px;margin:12px 0}.qr-box img{width:220px;height:220px;border-radius:8px;background:#fff}
