/* PASSMI CSSMP Public Styles v2.0 */
:root{--passmi-navy:#0033A0;--passmi-green:#00C853;--passmi-teal:#00A651;--passmi-blue:#0077B6;}
.passmi-notice{background:#f0f8ff;border-left:4px solid var(--passmi-navy);padding:14px 18px;border-radius:6px;font-size:14px;margin:16px 0;}
.passmi-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:50px;font-weight:700;font-family:Poppins,sans-serif;font-size:14px;cursor:pointer;border:none;text-decoration:none;transition:all .2s;}
.passmi-btn-primary{background:linear-gradient(135deg,#00A651,#00C853);color:#fff;box-shadow:0 4px 16px rgba(0,200,83,.3);}
.passmi-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,200,83,.45);color:#fff;}
.passmi-btn-navy{background:linear-gradient(135deg,#0033A0,#0077B6);color:#fff;box-shadow:0 4px 16px rgba(0,51,160,.25);}
.passmi-status{display:inline-block;padding:3px 10px;border-radius:50px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.passmi-status--confirmed,.passmi-status--paid{background:rgba(0,166,81,.1);color:#00703a;}
.passmi-status--pending{background:rgba(200,112,0,.1);color:#c07000;}
.passmi-status--cancelled,.passmi-status--failed{background:rgba(200,0,50,.08);color:#c03;}
.passmi-qr-code{border-radius:8px;border:2px solid #e0e4ef;padding:6px;}
/* Login form */
.passmi-login-wrap{max-width:420px;margin:40px auto;background:#fff;border-radius:16px;padding:36px;box-shadow:0 8px 40px rgba(0,30,100,.1);border:1px solid #e8ecf4;}
.passmi-login-wrap h2{color:#0033A0;margin-bottom:20px;font-size:22px;font-weight:900;}
.passmi-login-field{margin-bottom:16px;}
.passmi-login-field label{display:block;font-size:12px;font-weight:600;color:#334;margin-bottom:6px;}
.passmi-login-field input{width:100%;height:44px;padding:0 14px;border:1.5px solid #d0d4e8;border-radius:8px;font-size:14px;font-family:Poppins,sans-serif;outline:none;transition:border-color .2s;}
.passmi-login-field input:focus{border-color:#0033A0;box-shadow:0 0 0 3px rgba(0,51,160,.08);}
.passmi-login-error{background:#fff2f2;border:1px solid #fcc;border-radius:8px;padding:10px 14px;font-size:13px;color:#c03;margin-bottom:16px;display:none;}
/* Directory */
.passmi-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:20px 0;}
.passmi-dir-card{background:#fff;border-radius:14px;padding:24px;border:1px solid #e8ecf4;text-align:center;box-shadow:0 2px 12px rgba(0,51,160,.05);}
.passmi-dir-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:3px solid #e0e4ef;}
.passmi-dir-name{font-weight:700;color:#0033A0;font-size:15px;}
.passmi-dir-company{font-size:12px;color:#667;margin-top:4px;}
/* Verify */
.passmi-verify-form{background:#fff;border-radius:12px;padding:28px;border:1px solid #e8ecf4;max-width:500px;margin:20px auto;}
/* Check-in scanner */
.passmi-scanner-wrap{max-width:680px;margin:0 auto;padding:20px 0;}
.passmi-scanner-result{padding:16px 20px;border-radius:10px;margin-top:16px;font-size:14px;display:none;}
.passmi-scanner-result.success{background:rgba(0,166,81,.08);border:1px solid #00A651;color:#00703a;}
.passmi-scanner-result.error{background:#fff2f2;border:1px solid #fcc;color:#c03;}
.passmi-scanner-result.already{background:#fff8e0;border:1px solid #ffd;color:#856000;}
