/* Portal separation: customer workspace */
.member-portal{background:#f5f7fb}
.member-portal .site-header{border-bottom:1px solid #e4e9f2;box-shadow:0 4px 20px rgba(13,43,94,.04)}
.brand em{margin-left:5px;padding:4px 8px;border-radius:999px;background:#eef3fa;color:#61718b;font-size:9px;font-style:normal;font-weight:600;letter-spacing:.04em}
.member-name{padding:7px 11px;border-radius:10px;background:#f4f6fa;color:#536078;font-size:11px;font-weight:600}
.portal-card-title{padding-bottom:5px;border-bottom:1px solid var(--line)}
.portal-card-title span{font-size:10px;letter-spacing:.12em;color:var(--orange);font-weight:700}
.portal-card-title h2{margin:3px 0 0;font-size:24px;color:var(--navy)}
.portal-points{display:grid;gap:7px;margin-top:25px;color:#cfdaeb;font-size:13px}
.admin-entry-link{display:block;text-align:center;color:#8190a8;font-size:11px}
.admin-entry-link:hover{color:var(--orange)}
.footer-links{display:flex;align-items:center;gap:26px}
.footer-links>a{color:#91a0b7;font-size:11px}
.footer-links>a:hover{color:#fff}

/* Admin shell */
.admin-portal{margin:0;background:#f3f6fb;color:#16233d}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;padding:26px 20px 20px;background:linear-gradient(180deg,#061735 0%,#0a224b 100%);color:#fff;display:flex;flex-direction:column;z-index:30}
.admin-brand{display:flex;align-items:center;gap:11px;padding:0 7px 24px;border-bottom:1px solid rgba(255,255,255,.1);font-size:17px;font-weight:600}
.admin-brand strong{color:#ff983f}
.admin-brand small{display:block;margin-top:1px;color:#7186a8;font-size:8px;letter-spacing:.18em;font-weight:600}
.admin-nav{display:grid;gap:5px;margin-top:22px}
.admin-nav-label{margin:16px 10px 7px;color:#62799e;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:#aebbd0;font-size:12px;transition:.18s}
.admin-nav a i{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#d9e2f0;font-style:normal;font-size:12px}
.admin-nav a:hover,.admin-nav a.active{background:rgba(255,122,26,.14);color:#fff}
.admin-nav a.active i{background:var(--orange);color:#fff}
.admin-profile{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;margin-top:auto;padding:17px 6px 13px;border-top:1px solid rgba(255,255,255,.1)}
.admin-profile>span{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ff7a1a,#ffae63);display:grid;place-items:center;font-weight:700}
.admin-profile div{display:grid;min-width:0}
.admin-profile strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-profile small{color:#778cac;font-size:8px}
.admin-logout button{width:100%;padding:9px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);color:#94a5bf;font-size:10px}
.admin-logout button:hover{background:rgba(255,255,255,.09);color:#fff}
.admin-frame{min-width:0;display:flex;min-height:100vh;flex-direction:column}
.admin-topbar{height:72px;padding:0 34px;background:#fff;border-bottom:1px solid #e5eaf2;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}
.admin-topbar>div:first-child{display:grid}
.admin-topbar small{color:#9aa5b7;font-size:8px;letter-spacing:.13em}
.admin-topbar strong{color:var(--navy);font-size:17px}
.admin-security{color:#7f8da3;font-size:10px}
.admin-security span{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#39c77a;box-shadow:0 0 0 4px #e5f8ed}
.admin-main{flex:1;min-width:0}
.admin-main>.app-shell{max-width:1450px;padding:34px 32px 70px}
.admin-main .page-title{align-items:center;margin-bottom:26px}
.admin-main .page-title h1{font-size:30px}
.admin-main .page-title .eyebrow{display:none}
.admin-main .stat-grid article{box-shadow:0 8px 26px rgba(17,44,89,.05)}
.admin-main .table-wrap{border-radius:17px;box-shadow:0 9px 30px rgba(17,44,89,.05)}
.admin-main .setup-notice{border:0;border-left:3px solid var(--orange);border-radius:10px;box-shadow:0 5px 18px rgba(17,44,89,.04)}
.admin-footer{padding:18px 32px;border-top:1px solid #e3e8f0;color:#9aa5b5;font-size:9px;display:flex;justify-content:space-between}
.admin-portal .flash{margin:14px 32px 0;max-width:none}

/* Dedicated admin sign-in */
.admin-login-page{min-height:100vh;background:#061735;color:#fff}
.admin-login-page main{min-height:100vh}
.admin-auth-shell{min-height:100vh;padding:28px clamp(24px,5vw,75px);display:flex;flex-direction:column;background:radial-gradient(circle at 20% 30%,rgba(35,78,144,.35),transparent 37%),linear-gradient(135deg,#061735 0%,#0a234d 58%,#061735 100%);position:relative;overflow:hidden}
.admin-auth-shell:after{content:"";position:absolute;right:-170px;top:8%;width:520px;height:520px;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012)}
.admin-auth-brand{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.admin-auth-brand>a{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600}
.admin-auth-brand strong{color:var(--orange)}
.admin-auth-brand>span{color:#647b9f;font-size:9px;letter-spacing:.18em}
.admin-auth-panel{width:100%;max-width:1150px;margin:auto;display:grid;grid-template-columns:1.1fr 430px;gap:90px;align-items:center;position:relative;z-index:2}
.admin-auth-copy{max-width:560px}
.secure-chip{display:inline-flex;align-items:center;gap:8px;margin-bottom:25px;color:#87a0c5;font-size:10px;letter-spacing:.13em;font-weight:600}
.secure-chip i{width:8px;height:8px;border-radius:50%;background:#3ad080;box-shadow:0 0 0 5px rgba(58,208,128,.12)}
.admin-auth-copy h1{margin:0 0 20px;font-size:clamp(42px,5vw,68px);line-height:1.13;letter-spacing:-.035em}
.admin-auth-copy p{max-width:530px;color:#aebdd3;font-size:15px}
.admin-auth-copy ul{display:grid;gap:9px;margin:27px 0 0;padding:0;list-style:none;color:#8498b7;font-size:12px}
.admin-auth-copy li:before{content:"✓";margin-right:9px;color:#ff963e}
.admin-login-card{padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 35px 90px rgba(0,0,0,.28);color:var(--ink);display:grid;gap:18px;backdrop-filter:blur(15px)}
.admin-login-heading{padding-bottom:12px;border-bottom:1px solid #e8ecf2}
.admin-login-heading span{color:var(--orange);font-size:9px;letter-spacing:.15em;font-weight:700}
.admin-login-heading h2{margin:4px 0 2px;color:var(--navy);font-size:24px}
.admin-login-heading p{margin:0;color:#8995a7;font-size:11px}
.admin-login-card label{display:grid;gap:6px;color:#42506a;font-size:11px;font-weight:600}
.admin-login-card input{width:100%;padding:13px 14px;border:1px solid #dce2eb;border-radius:10px;background:#f9fafc;color:var(--ink);outline:none}
.admin-login-card input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,26,.1);background:#fff}
.admin-login-button{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:0;border-radius:11px;background:linear-gradient(135deg,#ff7410,#ff963f);color:#fff;font-weight:600;box-shadow:0 12px 28px rgba(255,122,26,.25)}
.admin-login-button span{font-size:18px}
.admin-login-help{display:flex;justify-content:space-between;gap:12px;padding-top:3px;color:#93a0b2;font-size:9px}
.admin-login-help a{color:#5f708b;font-weight:600}
.admin-auth-footer{display:flex;justify-content:space-between;position:relative;z-index:2;color:#61799e;font-size:9px}
.admin-auth-footer a:hover{color:#fff}
.admin-flash{position:fixed;top:18px;left:50%;z-index:50;transform:translateX(-50%);width:min(560px,90vw);margin:0}

/* AI provider settings */
.ai-settings-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.8fr);gap:20px;align-items:start}
.provider-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.ai-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}
.ai-connection-card,.ai-info-card,.ai-help-card,.ai-flow-card{padding:25px}
.ai-card-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ai-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ff7a1a,#ffad5e);display:grid;place-items:center;color:#fff;font-size:21px;box-shadow:0 9px 22px rgba(255,122,26,.22)}
.ai-card-heading>div{display:grid}
.ai-card-heading>div>span{color:var(--orange);font-size:9px;letter-spacing:.13em;font-weight:700}
.ai-card-heading h2{margin:3px 0 0;color:var(--navy);font-size:22px}
.api-key-form{display:grid;gap:15px;margin-top:22px}
.api-key-form label{display:grid;gap:7px;font-size:12px;font-weight:600}
.api-key-form label span{float:right;color:#8c98aa;font-size:9px;font-weight:400}
.api-key-form input{width:100%;padding:14px;border:1px solid #dce2ec;border-radius:11px;background:#f9fafc;color:var(--ink);outline:none}
.api-key-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,26,.1);background:#fff}
.api-key-form small{color:#9a6d3a;font-size:10px;text-align:center}
.higgsfield-card{border-top:3px solid #6d4aff}
.higgsfield-icon{background:linear-gradient(135deg,#4327cd,#8c73ff);box-shadow:0 9px 22px rgba(87,57,222,.22);font-size:17px;font-weight:700}
.higgsfield-button{background:linear-gradient(135deg,#4c2ed5,#7356f4)}
.mcp-card{background:linear-gradient(180deg,#fff 0%,#faf9ff 100%)}
.mcp-intro{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:15px;border:1px solid #e4defe;border-radius:13px;background:#f4f1ff;color:#4f3d99}
.mcp-intro>span{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#6d4aff;color:#fff;display:grid;place-items:center;font-weight:700}
.mcp-intro p{margin:0;font-size:10px;line-height:1.65}
.mcp-actions{display:grid;gap:10px}
.mcp-actions form{margin:0}
.connection-success{display:flex;align-items:center;gap:14px;margin:22px 0;padding:16px;border-radius:13px;background:#eaf9f1;color:#176f49}
.connection-success>span{width:34px;height:34px;border-radius:50%;background:#2bb673;color:#fff;display:grid;place-items:center;font-weight:700}
.connection-success div{display:grid}
.connection-success strong{font-size:12px}
.connection-success p{margin:2px 0 0;font-size:10px}
.ai-settings-side{display:grid;gap:20px}
.ai-info-card dl{margin:14px 0 0}
.ai-info-card dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line)}
.ai-info-card dt{color:var(--muted);font-size:10px}
.ai-info-card dd{margin:0;text-align:right;color:var(--navy);font-size:10px;font-weight:600;overflow-wrap:anywhere}
.ai-help-card{display:grid;grid-template-columns:34px 1fr;gap:12px;background:#0a234d;color:#fff;border:0}
.ai-help-card>span{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-weight:700}
.ai-help-card strong{font-size:12px}
.ai-help-card p{margin:4px 0 10px;color:#9eb0cb;font-size:10px}
.ai-help-card a{color:#ff9c4c;font-size:10px;font-weight:600}
.provider-links{display:flex;gap:16px;flex-wrap:wrap}
.ai-flow-card{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-top:20px}
.ai-flow-card>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}
.ai-flow-card>div>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;background:#fff1e6;color:var(--orange);display:grid;place-items:center;font-size:11px;font-weight:700}
.ai-flow-card strong{font-size:11px}
.ai-flow-card small{color:var(--muted);font-size:9px}
.ai-flow-card i{color:#bdc6d3;font-style:normal}

@media(max-width:950px){
    .brand em,.member-name{display:none}
    .admin-layout{grid-template-columns:1fr}
    .admin-sidebar{position:relative;height:auto;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}
    .admin-brand{padding:0 15px 0 0;border:0;border-right:1px solid rgba(255,255,255,.1)}
    .admin-brand small,.admin-profile,.admin-logout,.admin-nav-label{display:none}
    .admin-nav{display:flex;margin:0;overflow-x:auto}
    .admin-nav a{white-space:nowrap;padding:8px 10px}
    .admin-nav a i{display:none}
    .admin-topbar{position:relative;padding:0 22px}
    .admin-main>.app-shell{padding:28px 20px 60px}
    .admin-auth-panel{grid-template-columns:1fr;gap:35px;max-width:520px;padding:55px 0}
    .admin-auth-copy{text-align:center}
    .admin-auth-copy p{margin-left:auto;margin-right:auto}
    .admin-auth-copy ul{display:none}
    .ai-settings-grid{grid-template-columns:1fr}
    .provider-settings-grid,.ai-meta-grid{grid-template-columns:1fr}
}

@media(max-width:1220px) and (min-width:951px){
    .provider-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mcp-card{grid-column:1/-1}
}

@media(max-width:640px){
    .footer-links{align-items:flex-start;flex-direction:column;gap:8px}
    .admin-sidebar{grid-template-columns:1fr;padding:15px}
    .admin-brand{border:0;padding:0}
    .admin-nav{padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}
    .admin-nav a{font-size:10px}
    .admin-topbar{height:62px;padding:0 16px}
    .admin-security{display:none}
    .admin-main>.app-shell{padding:22px 14px 50px}
    .admin-main .page-title h1{font-size:25px}
    .admin-portal .flash{margin:10px 14px 0}
    .admin-auth-shell{padding:20px}
    .admin-auth-brand>span{display:none}
    .admin-auth-panel{padding:38px 0 25px}
    .admin-auth-copy h1{font-size:40px}
    .admin-auth-copy p{font-size:13px}
    .admin-login-card{padding:25px 20px}
    .admin-login-help{align-items:flex-start;flex-direction:column}
    .admin-auth-footer{gap:12px;align-items:flex-start;flex-direction:column}
    .ai-flow-card{grid-template-columns:1fr}
    .ai-flow-card i{display:none}
}
