/* BlueMint theme (extracted from prototype) */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --navy:#0D1F3C;--navy2:#152d55;--navy3:#1e3d6e;
  --teal:#0F6E56;--teal2:#1a9471;--teal3:#e1f5ee;
  --amber:#BA7517;--amber3:#faeeda;
  --red:#A32D2D;--red2:#dc2626;--red3:#fcf0f0;
  --green:#27500A;--green2:#16a34a;--green3:#eaf3de;
  --blue3:#e6f1fb;--blue2:#378ADD;--blue:#185FA5;
  --gray:#5F5E5A;--gray2:#8a8880;--gray3:#f1efe8;--gray4:#e8e6e1;
  --bg:#f8f7f5;--white:#ffffff;
  --text:#1a1917;--text2:#5f5e5a;--text3:#9a9895;
  --border:#e2e0db;--border2:#ccc9c2;
  --font:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --r4:4px;--r6:6px;--r8:8px;--r12:12px;
  --sh2:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:13px;line-height:1.5;min-height:100vh;overflow-x:hidden;}

/* Buttons */
.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:12px;font-size:14.5px;font-weight:800;border:1px solid transparent;cursor:pointer;user-select:none;}
.bm-btn-primary{background:var(--teal);color:#fff;box-shadow:var(--sh2);} 
.bm-btn-primary:hover{background:var(--teal2);} 
.bm-btn-secondary{background:var(--white);border-color:var(--border2);color:var(--text);} 
.bm-btn-secondary:hover{background:var(--gray3);} 

/* Inputs */
.bm-label{display:block;font-size:12.5px;font-weight:800;color:var(--text2);margin:0 0 7px;letter-spacing:.02em;}
.bm-input{width:100%;padding:12px 13px;border-radius:10px;border:1px solid var(--border2);background:var(--white);font-size:14.5px;outline:none;}
.bm-input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(55,138,221,.18);} 
.bm-help{font-size:12px;color:var(--text3);margin-top:7px;}

/* Cards */
.bm-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r12);box-shadow:var(--sh2);} 
.bm-card-h{padding:16px 18px;border-bottom:1px solid var(--border);} 
.bm-card-b{padding:20px 22px;} 

/* Alerts */
.bm-alert{padding:10px 12px;border-radius:var(--r8);border:1px solid var(--border2);font-size:12px;margin:10px 0;}
.bm-alert-danger{background:var(--red3);border-color:#f3c2c2;color:#7a1c1c;}
.bm-alert-success{background:var(--green3);border-color:#c9dfaa;color:#1f3d08;}

/* Login background + glass */
.bm-login-bg{position:fixed;inset:0;z-index:0;background:#0b1220;overflow:hidden;}
.bm-login-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(13,31,60,.78), rgba(13,31,60,.52));}
.bm-login-bg::after{content:"";position:absolute;inset:-20px;background:radial-gradient(800px 420px at 20% 20%, rgba(15,110,86,.22), transparent 55%), radial-gradient(700px 520px at 80% 70%, rgba(55,138,221,.18), transparent 60%);mix-blend-mode:screen;opacity:.9;pointer-events:none;}
.bm-login-bg .bm-bg{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.04);transform:scale(1.03);opacity:0;transition:opacity 900ms ease;}
.bm-login-bg .bm-bg.active{opacity:1;}

.bm-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px;position:relative;z-index:1;}
.bm-login{width:640px;max-width:100%;}
@media (max-width: 520px){.bm-login{width:100%;}}
.bm-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#fff;position:relative;}
.bm-brand-center::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);width:520px;max-width:92vw;height:140px;background:radial-gradient(closest-side, rgba(0,0,0,.42), rgba(0,0,0,0));filter: blur(2px);opacity:.85;pointer-events:none;z-index:-1;}
.bm-brand-center{justify-content:center;text-align:center;flex-direction:column;gap:10px;}
.bm-shield{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;backdrop-filter: blur(10px);font-size:16px;box-shadow:0 10px 30px rgba(0,0,0,.25);} 
.bm-title{font-size:30px;font-weight:950;letter-spacing:-.5px;line-height:1.05;text-shadow:0 6px 22px rgba(0,0,0,.55);} 
.bm-sub{font-size:16px;color:rgba(255,255,255,.92);margin-top:6px;text-shadow:0 6px 20px rgba(0,0,0,.55);} 

.bm-card.bm-glass{border-radius:18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);box-shadow:0 22px 70px rgba(0,0,0,.38);backdrop-filter: blur(18px);-webkit-backdrop-filter: blur(18px);}
.bm-card.bm-glass{position:relative;}
.bm-card.bm-glass::before{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));pointer-events:none;}
.bm-card.bm-glass .bm-card-h{border-bottom:1px solid rgba(255,255,255,.18);} 
.bm-card.bm-glass .badge{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff;font-size:12px;padding:4px 10px;}
.bm-card.bm-glass .bm-card-b{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.22);} 
.bm-card.bm-glass .bm-help{color:rgba(255,255,255,.82);text-shadow:0 1px 1px rgba(0,0,0,.25);} 

.bm-row{margin-top:12px;}
.bm-testgrid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px;}
.bm-testbtn{padding:10px 12px;border-radius:var(--r8);border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.10);cursor:pointer;text-align:left;color:#fff;backdrop-filter: blur(10px);}
.bm-testbtn:hover{background:rgba(255,255,255,.14);} 
.bm-testbtn b{display:block;font-size:13px;text-shadow:0 1px 1px rgba(0,0,0,.25);} 
.bm-testbtn span{display:block;font-size:12px;color:rgba(255,255,255,.82);margin-top:3px;text-shadow:0 1px 1px rgba(0,0,0,.25);} 

/* Inputs on dark/glass */
.bm-card.bm-glass .bm-label{color:rgba(255,255,255,.86);text-shadow:0 1px 1px rgba(0,0,0,.35);} 
.bm-card.bm-glass .bm-input{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff;}
.bm-card.bm-glass .bm-input::placeholder{color:rgba(255,255,255,.62);} 
.bm-card.bm-glass .bm-input:focus{border-color:rgba(77,212,172,.9);box-shadow:0 0 0 3px rgba(15,110,86,.28);} 
.bm-alert{backdrop-filter: blur(8px);} 
