/* FASMA Platform Design System v13 — public site + customer portal + commerce */
:root{
  --f-red:#a70e18;--f-red2:#c41724;--f-red-dark:#760811;--f-gold:#d7b356;--f-gold2:#f0d98d;
  --f-ink:#161b22;--f-ink2:#232a32;--f-muted:#68707c;--f-line:#dfe3e8;--f-soft:#f5f6f8;--f-paper:#fff;
  --f-shadow:0 14px 40px rgba(20,27,35,.08);--f-shadow-sm:0 6px 20px rgba(20,27,35,.06);
  --f-radius:20px;--f-radius-sm:14px;--f-max:1400px;
}
body:not(.fasma-admin-page){background:#f6f7f9;color:var(--f-ink);font-family:Montserrat,Arial,sans-serif;}
body:not(.fasma-admin-page) main{min-height:60vh;}
body:not(.fasma-admin-page) .wrap{max-width:var(--f-max);}

/* Public chrome */
body:not(.fasma-admin-page) .premium-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(22,27,34,.07);box-shadow:0 10px 30px rgba(20,27,35,.04);backdrop-filter:blur(12px);}
body:not(.fasma-admin-page) .premium-nav{min-height:96px;gap:24px;}
body:not(.fasma-admin-page) .premium-brand img{max-height:52px;width:auto;}
body:not(.fasma-admin-page) .premium-menu{gap:24px;}
body:not(.fasma-admin-page) .premium-menu a{font-weight:700;font-size:14px;color:#2d333b;position:relative;}
body:not(.fasma-admin-page) .premium-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:linear-gradient(90deg,var(--f-red),var(--f-gold));transition:.2s ease;}
body:not(.fasma-admin-page) .premium-menu a:hover:after{right:0;}
body:not(.fasma-admin-page) .premium-actions{gap:10px;align-items:center;}
body:not(.fasma-admin-page) .premium-link{font-weight:700;color:#353b43;}
body:not(.fasma-admin-page) .premium-cart{border-radius:12px;background:#30363e;color:#fff;padding:12px 16px;box-shadow:none;}
body:not(.fasma-admin-page) .premium-button-small{border-radius:12px;}
body:not(.fasma-admin-page) .premium-language select{border:1px solid var(--f-line);border-radius:12px;background:#fff;color:var(--f-ink);font-weight:700;}

/* Typography & sections */
body:not(.fasma-admin-page) h1,body:not(.fasma-admin-page) h2,body:not(.fasma-admin-page) h3{letter-spacing:-.03em;color:var(--f-ink);}
body:not(.fasma-admin-page) .section{padding:64px 0;}
body:not(.fasma-admin-page) .head,body:not(.fasma-admin-page) .section-head,body:not(.fasma-admin-page) .premium-section-head{margin-bottom:28px;}
body:not(.fasma-admin-page) .tag,body:not(.fasma-admin-page) .premium-section-kicker{letter-spacing:.12em;font-weight:800;color:var(--f-red);}
body:not(.fasma-admin-page) .muted,body:not(.fasma-admin-page) .small{color:var(--f-muted)!important;}

/* Buttons */
body:not(.fasma-admin-page) .btn,body:not(.fasma-admin-page) button.btn,body:not(.fasma-admin-page) .premium-button{border-radius:12px;font-weight:800;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;border:1px solid transparent;}
body:not(.fasma-admin-page) .btn:hover,body:not(.fasma-admin-page) .premium-button:hover{transform:translateY(-1px);box-shadow:var(--f-shadow-sm);}
body:not(.fasma-admin-page) .btn.red{background:linear-gradient(135deg,var(--f-red),var(--f-red2));color:#fff!important;}
body:not(.fasma-admin-page) .btn.dark{background:#252c34;color:#fff!important;}
body:not(.fasma-admin-page) .btn.ghost,body:not(.fasma-admin-page) .btn.outline{background:#fff;color:var(--f-ink)!important;border-color:#cfd5dc;}

/* Form system */
body:not(.fasma-admin-page) form label{color:#2b3138;font-weight:700;font-size:13px;}
body:not(.fasma-admin-page) input:not([type=checkbox]):not([type=radio]),body:not(.fasma-admin-page) select,body:not(.fasma-admin-page) textarea{
  width:100%;background:#fff!important;color:#1d2229!important;border:1px solid #cdd3da!important;border-radius:12px!important;min-height:46px;padding:11px 13px!important;box-shadow:0 1px 0 rgba(0,0,0,.02);outline:none;transition:border-color .15s ease,box-shadow .15s ease;
}
body:not(.fasma-admin-page) textarea{min-height:120px;resize:vertical;}
body:not(.fasma-admin-page) input::placeholder,body:not(.fasma-admin-page) textarea::placeholder{color:#838b95!important;opacity:1;}
body:not(.fasma-admin-page) input:focus,body:not(.fasma-admin-page) select:focus,body:not(.fasma-admin-page) textarea:focus{border-color:#b7872f!important;box-shadow:0 0 0 4px rgba(215,179,86,.16)!important;}
body:not(.fasma-admin-page) .formcard,body:not(.fasma-admin-page) .summary,body:not(.fasma-admin-page) .client-card,body:not(.fasma-admin-page) .portal-sub-card,body:not(.fasma-admin-page) .portal-quote-card{background:#fff;border:1px solid var(--f-line);border-radius:var(--f-radius);box-shadow:var(--f-shadow-sm);}
body:not(.fasma-admin-page) .formcard{padding:28px;}
body:not(.fasma-admin-page) .grid2,body:not(.fasma-admin-page) .grid3{gap:16px;}
body:not(.fasma-admin-page) .alert{border-radius:12px;border:1px solid #e1e5ea;padding:12px 14px;background:#fff;}
body:not(.fasma-admin-page) .alert.ok,body:not(.fasma-admin-page) .alert.success{background:#f0faf4;border-color:#bfe6cd;color:#1c6339;}
body:not(.fasma-admin-page) .alert.warn{background:#fff9e9;border-color:#ead8a5;color:#775d14;}
body:not(.fasma-admin-page) .alert.error{background:#fff2f2;border-color:#efc2c4;color:#8e1820;}

/* Identity */
body.fasma-auth-page .identity-section{padding:72px 0 90px;background:radial-gradient(circle at 15% 10%,rgba(167,14,24,.08),transparent 34%),linear-gradient(180deg,#f7f8fa,#eef1f4);min-height:70vh;}
body.fasma-auth-page .identity-card{max-width:620px;margin:auto;padding:38px;border-top:4px solid var(--f-red);}
body.fasma-auth-page .identity-card h1{font-size:42px;margin:8px 0 8px;}
body.fasma-auth-page .social-auth-btn{border-radius:12px;border:1px solid #d8dde3;background:#fff;min-height:48px;}
body.fasma-auth-page .identity-divider{color:#8a919a;}

/* Commerce */
body:not(.fasma-admin-page) .checkout-grid{gap:26px;align-items:start;}
body:not(.fasma-admin-page) .lineitem{background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:18px 20px;margin-bottom:12px;box-shadow:var(--f-shadow-sm);}
body:not(.fasma-admin-page) .summary{padding:22px;position:sticky;top:22px;}
body:not(.fasma-admin-page) .summary .total{margin-top:16px;padding-top:16px;border-top:1px solid var(--f-line);}
body:not(.fasma-admin-page) .paygrid label,body:not(.fasma-admin-page) .choice label{border:1px solid #dfe3e8;border-radius:12px;background:#fff;padding:14px;}
body:not(.fasma-admin-page) .paygrid label:has(input:checked),body:not(.fasma-admin-page) .choice label:has(input:checked){border-color:#b9882e;box-shadow:0 0 0 3px rgba(215,179,86,.14);}

/* Customer portal */
body.fasma-customer-page{background:#eef1f4;}
body.fasma-customer-page .premium-topbar{display:none;}
body.fasma-customer-page .premium-header{position:sticky;top:0;z-index:60;}
body.fasma-customer-page .client-portal,body.fasma-customer-page .client-portal-shell,body.fasma-customer-page .portal{padding:34px 0 64px;}
body.fasma-customer-page .client-layout,body.fasma-customer-page .client-portal-grid{display:grid;grid-template-columns:255px minmax(0,1fr);gap:26px;align-items:start;}
body.fasma-customer-page .client-sidebar{position:sticky;top:126px;background:linear-gradient(180deg,#222930,#171c22);color:#fff;border-radius:18px;padding:18px;box-shadow:var(--f-shadow);min-height:560px;}
body.fasma-customer-page .client-profile-mini{display:flex;gap:12px;align-items:center;padding:4px 4px 16px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:12px;}
body.fasma-customer-page .client-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--f-red),var(--f-red2));font-weight:900;color:#fff;}
body.fasma-customer-page .client-profile-mini b{color:#fff;display:block;}
body.fasma-customer-page .client-profile-mini small{color:#aeb5bd;display:block;margin-top:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.fasma-customer-page .client-sidebar nav{display:grid;gap:6px;}
body.fasma-customer-page .client-sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:#d9dde2;font-weight:700;font-size:13px;}
body.fasma-customer-page .client-sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff;}
body.fasma-customer-page .client-sidebar nav a.active{background:linear-gradient(135deg,#a70e18,#c41724);color:#fff;box-shadow:0 8px 20px rgba(167,14,24,.22);}
body.fasma-customer-page .client-sidebar-cta{margin-top:18px;border-top:1px solid rgba(255,255,255,.09);padding:16px 6px 4px;}
body.fasma-customer-page .client-sidebar-cta small{display:block;color:#aeb5bd;margin-bottom:6px;}
body.fasma-customer-page .client-sidebar-cta a{color:var(--f-gold2);font-weight:800;}
body.fasma-customer-page .client-main{min-width:0;}
body.fasma-customer-page .client-welcome,body.fasma-customer-page .client-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--f-line);border-radius:20px;padding:24px 26px;margin-bottom:18px;box-shadow:var(--f-shadow-sm);}
body.fasma-customer-page .client-welcome h1,body.fasma-customer-page .client-page-head h1{font-size:34px;margin:5px 0 4px;}
body.fasma-customer-page .client-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
body.fasma-customer-page .client-kpis article{background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:18px;box-shadow:var(--f-shadow-sm);position:relative;overflow:hidden;}
body.fasma-customer-page .client-kpis article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--f-red),var(--f-gold));}
body.fasma-customer-page .client-kpis span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6f7780;font-weight:800;}
body.fasma-customer-page .client-kpis strong{display:block;font-size:30px;line-height:1.1;margin:8px 0 4px;color:#1d232a;}
body.fasma-customer-page .client-kpis small{color:#808791;}
body.fasma-customer-page .client-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;}
body.fasma-customer-page .client-action-grid>a,body.fasma-customer-page .client-action-grid>button{display:flex;gap:14px;text-align:left;background:#fff;border:1px solid var(--f-line);border-radius:16px;padding:18px;color:var(--f-ink);box-shadow:var(--f-shadow-sm);}
body.fasma-customer-page .client-action-grid>a:hover,body.fasma-customer-page .client-action-grid>button:hover{border-color:#d1b46c;transform:translateY(-1px);}
body.fasma-customer-page .client-action-grid>*>span{width:38px;height:38px;border-radius:10px;background:#f0f2f4;display:grid;place-items:center;color:var(--f-red);font-weight:900;flex:0 0 auto;}
body.fasma-customer-page .client-action-grid b{display:block;margin-bottom:5px;}
body.fasma-customer-page .client-action-grid small{color:#747c85;line-height:1.45;}
body.fasma-customer-page .client-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
body.fasma-customer-page .client-card{padding:20px;}
body.fasma-customer-page .client-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eceff2;padding-bottom:12px;margin-bottom:4px;}
body.fasma-customer-page .portal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eef0f2;color:var(--f-ink);}
body.fasma-customer-page .portal-row:last-child{border-bottom:0;}
body.fasma-customer-page .portal-row small{display:block;color:#7b838d;margin-top:3px;}
body.fasma-customer-page .portal-status{font-style:normal;border-radius:999px;padding:6px 9px;background:#f0f2f4;font-size:10px;font-weight:800;letter-spacing:.03em;white-space:nowrap;}
body.fasma-customer-page .status-paid,body.fasma-customer-page .status-active,body.fasma-customer-page .status-resolved{background:#eaf8ef;color:#267144;}
body.fasma-customer-page .status-pending_payment,body.fasma-customer-page .status-pending,body.fasma-customer-page .status-sent{background:#fff4d9;color:#7c5c12;}
body.fasma-customer-page .portal-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.fasma-customer-page .portal-quote-card,body.fasma-customer-page .portal-sub-card{padding:20px;color:var(--f-ink);}
body.fasma-customer-page .portal-quote-card:hover{transform:translateY(-2px);border-color:#d6bb78;}
body.fasma-customer-page .portal-empty{padding:30px;text-align:center;color:#7c848d;background:#fff;border:1px dashed #ccd2d8;border-radius:16px;}
body.fasma-customer-page .tablewrap{background:#fff;border:1px solid var(--f-line);border-radius:18px;overflow:auto;box-shadow:var(--f-shadow-sm);}
body.fasma-customer-page table{width:100%;border-collapse:collapse;}
body.fasma-customer-page th{background:#f7f8fa;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#68707a;text-align:left;padding:13px 15px;}
body.fasma-customer-page td{padding:14px 15px;border-top:1px solid #edf0f2;}

/* Configurator / quote builder */
body:not(.fasma-admin-page) .vpn-package-card,body:not(.fasma-admin-page) .vpn-step-card,body:not(.fasma-admin-page) .vpn-flow-card{border:1px solid var(--f-line);border-radius:18px;box-shadow:var(--f-shadow-sm);}
body:not(.fasma-admin-page) .vpn-step-card{background:#fff;overflow:hidden;}
body:not(.fasma-admin-page) .vpn-step-card>header{border-bottom:1px solid #eceff2;background:#fbfbfc;}
body:not(.fasma-admin-page) .vpn-recommendation{border-radius:12px;background:#f6f2e8;border:1px solid #e8d9ae;}
body:not(.fasma-admin-page) .vpn-select{border-radius:10px;font-weight:800;}
body:not(.fasma-admin-page) .qb-success{border-radius:16px;}

/* Legal */
body:not(.fasma-admin-page) .legal{background:#fff;border:1px solid var(--f-line);border-radius:20px;padding:34px 38px;box-shadow:var(--f-shadow-sm);}
body:not(.fasma-admin-page) .legal h1{font-size:36px;}
body:not(.fasma-admin-page) .legal h2{font-size:21px;margin-top:28px;}
body:not(.fasma-admin-page) .legal p{color:#4e5660;line-height:1.75;}

/* CTA contrast, definitive */
body:not(.fasma-admin-page) .premium-cta .premium-cta-box h2,body:not(.fasma-admin-page) .premium-cta .premium-cta-box h2 *{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08);}
body:not(.fasma-admin-page) .premium-cta .premium-cta-box>div>span{color:var(--f-gold2)!important;}

/* Footer */
body:not(.fasma-admin-page) .premium-footer{background:#171c22;border-top:1px solid rgba(255,255,255,.05);}
body:not(.fasma-admin-page) .premium-footer h4{color:#fff;}
body:not(.fasma-admin-page) .premium-footer a{color:#c9cfd6;}
body:not(.fasma-admin-page) .premium-footer a:hover{color:#fff;}

@media(max-width:1100px){
 body:not(.fasma-admin-page) .premium-menu{display:none;}
 body.fasma-customer-page .client-layout,body.fasma-customer-page .client-portal-grid{grid-template-columns:220px minmax(0,1fr);gap:18px;}
 body.fasma-customer-page .client-kpis{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
 body:not(.fasma-admin-page) .premium-nav{min-height:76px;}
 body:not(.fasma-admin-page) .premium-brand img{max-height:42px;}
 body:not(.fasma-admin-page) .premium-language{display:none;}
 body.fasma-customer-page .client-layout,body.fasma-customer-page .client-portal-grid{display:block;}
 body.fasma-customer-page .client-sidebar{position:relative;top:auto;min-height:0;margin-bottom:16px;padding:12px;}
 body.fasma-customer-page .client-profile-mini{display:none;}
 body.fasma-customer-page .client-sidebar nav{display:flex;overflow:auto;gap:6px;padding-bottom:2px;}
 body.fasma-customer-page .client-sidebar nav a{white-space:nowrap;}
 body.fasma-customer-page .client-sidebar-cta{display:none;}
 body.fasma-customer-page .client-welcome,body.fasma-customer-page .client-page-head{align-items:flex-start;flex-direction:column;}
 body.fasma-customer-page .client-kpis,body.fasma-customer-page .client-action-grid,body.fasma-customer-page .client-grid.two,body.fasma-customer-page .portal-quote-grid{grid-template-columns:1fr;}
 body:not(.fasma-admin-page) .legal{padding:24px 20px;}
}
@media(max-width:560px){
 body:not(.fasma-admin-page) .premium-actions .premium-link{display:none;}
 body:not(.fasma-admin-page) .section{padding:42px 0;}
 body.fasma-auth-page .identity-card{padding:24px 18px;}
 body.fasma-auth-page .identity-card h1{font-size:34px;}
 body.fasma-customer-page .client-welcome h1,body.fasma-customer-page .client-page-head h1{font-size:29px;}
}
