/* TechBullion auth sheet: page and modal. Brand navy #002F56, rules #D2D9E1, Montserrat/Lato. */
.tb-auth-page{display:grid;place-items:center;min-height:70vh;padding:48px 16px;background:#F3F6F8}
.tb-auth-backdrop{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(0,47,86,.45);backdrop-filter:blur(2px)}
.tb-auth-backdrop[hidden]{display:none}
.tb-auth-sheet{position:relative;width:100%;max-width:440px;box-sizing:border-box;background:#fff;border:1px solid #D2D9E1;border-radius:16px;box-shadow:0 12px 40px rgba(0,47,86,.14);padding:28px 32px 30px;font:400 15px/1.5 "Lato","Helvetica Neue",Arial,sans-serif;color:#222}
.tb-auth-sheet *{box-sizing:border-box}
.tb-auth-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;background:transparent;color:#596672;font-size:22px;line-height:1;cursor:pointer;border-radius:50%}
.tb-auth-close:hover{background:#F3F6F8;color:#002F56}
.tb-auth-logo{display:flex;justify-content:center;margin:2px 0 14px}
.tb-auth-logo img{height:28px;width:auto}
.tb-auth-sheet h1{margin:0 0 8px;text-align:center;font:600 26px/1.15 "Montserrat","Helvetica Neue",Arial,sans-serif;color:#002F56;letter-spacing:-.01em}
.tb-auth-lead{margin:0 0 22px;text-align:center;font-size:15px;color:#596672;text-wrap:pretty}
.tb-auth-lead b{color:#222}
.tb-auth-error{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#FFC45C;color:#000;font-size:13.5px}
.tb-auth-social-list{display:grid;gap:10px}
.tb-auth-social{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;border:1px solid #D2D9E1;border-radius:999px;background:#fff;color:#002F56;font:600 15px "Montserrat",Arial,sans-serif;text-decoration:none}
.tb-auth-social:hover{border-color:#002F56;color:#002F56}
.tb-auth-or{display:flex;align-items:center;gap:14px;margin:18px 0}
.tb-auth-or span{flex:1;height:1px;background:#E4E8ED}
.tb-auth-or b{font:700 11px "Montserrat",Arial,sans-serif;letter-spacing:.08em;color:#596672}
.tb-auth-form{display:grid;gap:10px}
.tb-auth-form input[type=email],.tb-auth-code{width:100%;height:52px;padding:0 18px;border:1px solid #D2D9E1;border-radius:999px;font:400 15px "Lato",Arial,sans-serif;color:#222;background:#fff}
.tb-auth-form input:focus{outline:2px solid #22698F;outline-offset:1px;border-color:#22698F}
.tb-auth-code{height:56px;text-align:center;letter-spacing:.4em;font:700 22px "Montserrat",Arial,sans-serif;color:#002F56}
.tb-auth-primary{height:52px;border:0;border-radius:999px;background:#002F56;color:#fff;font:700 15px "Montserrat",Arial,sans-serif;cursor:pointer}
.tb-auth-primary:hover{background:#22698F}
.tb-auth-foot{margin:16px 0 0;text-align:center;font-size:12.5px;line-height:1.5;color:#596672}
.tb-auth-foot a{color:#002F56}
/* Trigger buttons any plugin can use */
.tb-auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:#002F56;color:#fff;font:700 15px "Montserrat",Arial,sans-serif;text-decoration:none;border:0;cursor:pointer}
.tb-auth-btn:hover{background:#22698F;color:#fff}
.tb-auth-btn-quiet{background:#fff;color:#002F56;border:1px solid #D2D9E1}
.tb-auth-btn-quiet:hover{background:#F3F6F8;color:#002F56}
@media(max-width:480px){.tb-auth-sheet{padding:24px 20px 24px;border-radius:14px}}
