/* ── Auth pages ─────────────────────────────────── */
.auth-page{display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-card{width:100%;max-width:440px;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:var(--color-surface);padding:2rem 2rem 1.75rem}

/* Brand header inside card */
.auth-brand{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.auth-brand img{height:30px}

/* Headings */
.auth-title{font-size:1.3rem;font-weight:700;margin:0 0 0.2rem;color:var(--color-text)}
.auth-sub{color:var(--color-muted);font-size:0.875rem;margin:0 0 1.5rem}

/* Social buttons */
.auth-social{display:flex;flex-direction:column;gap:0.45rem;margin-bottom:1.1rem}
.auth-social-btn{display:flex;align-items:center;gap:10px;width:100%;padding:0.58rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:0.92rem;font-weight:500;cursor:pointer;color:var(--color-text);text-align:left;transition:background .12s,border-color .12s}
.auth-social-btn:hover{background:var(--color-bg);border-color:#b8c4e8}
.auth-social-btn svg{width:20px!important;height:20px!important;min-width:20px;max-width:20px;flex-shrink:0;display:block}
.auth-social-btn-label{flex:1}
.auth-social-btn-soon{font-size:0.62rem;font-weight:700;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.04em}

/* Or-divider */
.auth-divider{display:flex;align-items:center;gap:.6rem;margin:.9rem 0;color:var(--color-muted);font-size:0.78rem}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--color-border)}

/* Role pill toggle */
.auth-role-label{font-size:0.82rem;color:var(--color-muted);margin-bottom:.4rem}
.auth-role-pills{display:flex;gap:.5rem;margin-bottom:1.1rem}
.auth-role-pill{flex:1;padding:.46rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface);font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;color:var(--color-muted);transition:all .15s;appearance:none}
.auth-role-pill.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}

/* Footer link row */
.auth-footer-link{margin-top:1.1rem;text-align:center;font-size:.875rem;color:var(--color-muted)}
.auth-footer-link a{color:var(--color-primary);font-weight:500;text-decoration:none}
.auth-footer-link a:hover{text-decoration:underline}
.auth-link-subtle{color:var(--color-primary);font-size:.85rem;text-decoration:none}
.auth-link-subtle:hover{text-decoration:underline}

/* Social notice */
.auth-social-notice{font-size:.83rem;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}

/* Auth form inputs — standalone styling (Bootstrap not loaded in MAUI) */
.auth-card label{display:block;font-size:0.875rem;font-weight:500;color:var(--color-text);margin-bottom:0.35rem}
.auth-card .form-group{margin-bottom:1rem}
.auth-card .form-control,.auth-card input[type="email"],.auth-card input[type="password"],.auth-card input[type="text"]{display:block;width:100%;box-sizing:border-box;padding:0.6rem 0.85rem;font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);appearance:none;-webkit-appearance:none;transition:border-color 0.15s,box-shadow 0.15s}
.auth-card .form-control:focus,.auth-card input[type="email"]:focus,.auth-card input[type="password"]:focus,.auth-card input[type="text"]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(57,87,194,0.13)}
.auth-card .btn-primary,.auth-card button[type="submit"]{display:block;width:100%;padding:0.65rem 1rem;font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;transition:all 0.15s}
.auth-card .btn-primary:hover,.auth-card button[type="submit"]:hover{filter:brightness(0.92)}
.auth-card .btn-primary:disabled,.auth-card button[type="submit"]:disabled{opacity:0.55;cursor:not-allowed}
.auth-card .form-text,.auth-card .text-muted{display:block;font-size:0.8rem;color:var(--color-muted);margin-top:0.25rem}

/* Legacy size helpers — kept for backward compat */
.auth-400{max-width:400px}
.auth-420{max-width:420px}
.auth-480{max-width:480px}
.auth-560{max-width:560px}

/* Utility layout helpers */
.u-row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:0.75rem;flex-wrap:wrap}
.u-row-center{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.u-chips{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap}
.u-table-stack{margin-top:0.75rem}
.u-table-stack-sm{margin-top:0.5rem}
.u-text-12{font-size:12px}
.u-nowrap{white-space:nowrap}
.u-table-wrap{overflow:auto;max-height:70vh}
.u-table-sticky{position:relative}
.u-table-sticky thead th{position:sticky;top:0;background:#f8fafc;z-index:2;box-shadow:0 2px 4px -2px rgba(0,0,0,0.2)}
.u-table-min-720{min-width:720px}
.u-table-min-900{min-width:900px}
.u-table-min-960{min-width:960px}
