:root{
  --bg:#f4f6fb;--surface:#ffffff;--surface-2:#f8fafc;--ink:#101828;--text:#344054;--muted:#667085;--line:#e4e7ec;--line-2:#d0d5dd;--brand:#123d8b;--brand-2:#0b66d8;--nav:#071222;--success:#067647;--warning:#b54708;--danger:#b42318;--shadow:0 18px 45px rgba(16,24,40,.08);--radius:14px
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}textarea{min-height:130px;resize:vertical}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.muted{color:var(--muted)}.small{font-size:13px;color:var(--muted)}
.public-nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px;color:var(--ink)}.brand-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:900}.nav-links{display:flex;gap:12px;align-items:center}.hero{padding:80px 0 54px;display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.055em;margin-bottom:22px;color:var(--ink)}.gradient-text{color:var(--brand)}.lead{font-size:18px;line-height:1.75;color:#475467;max-width:720px}.hero-panel{border:1px solid var(--line);background:#fff;padding:28px;border-radius:22px;box-shadow:var(--shadow)}.metric-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.metric{padding:18px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}.metric strong{display:block;font-size:28px;color:var(--ink)}.section{padding:48px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.card,.server,.ticket,.stat,.auth-card,.admin-card{border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:0 10px 25px rgba(16,24,40,.04)}.card{padding:24px;transition:.16s}.card:hover,.server:hover,.ticket:hover{border-color:#b2ccff;box-shadow:0 18px 40px rgba(16,24,40,.08);transform:translateY(-2px)}.price{font-size:38px;font-weight:850;margin:18px 0;color:var(--ink);letter-spacing:-.04em}.price small{font-size:15px;color:var(--muted);font-weight:650}.btn{border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:10px;font-weight:750;background:var(--brand);color:#fff;transition:.16s;white-space:nowrap}.btn:hover{background:#0b2f73;transform:translateY(-1px)}.btn.secondary,.btn.ghost{background:#fff;color:var(--brand);border-color:#b2ccff}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.btn.warning{background:var(--warning)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at top,#eef2ff,var(--bg) 60%)}html[data-theme="dark"] .auth-wrap{background:radial-gradient(circle at top,#181b3a,var(--bg) 65%)}.auth-card{width:min(460px,100%);padding:38px;border-top:4px solid #4f46e5;display:grid;gap:16px}.auth-card .brand{margin-bottom:4px}.auth-card h1{font-size:30px;color:var(--ink);letter-spacing:-.02em}.form-grid{display:grid;gap:14px}.input,select,textarea{width:100%;border:1px solid var(--line-2);outline:none;background:#fff;color:var(--ink);border-radius:10px;padding:13px 14px;transition:.15s}.input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 4px rgba(18,61,139,.10)}label{font-weight:700;font-size:14px;color:#344054}
.sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;padding:22px;background:var(--nav);border-right:1px solid rgba(255,255,255,.08);z-index:10}.sidebar .brand{margin-bottom:28px;color:#fff}.sidebar .brand-mark{background:#fff;color:var(--brand)}.side-nav{display:grid;gap:6px}.side-nav a,.logout{padding:13px 15px;border-radius:10px;color:#cbd5e1;font-weight:700;transition:.15s;border:1px solid transparent}.side-nav a:hover,.side-nav a.active,.logout:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}.side-section{margin:18px 12px 8px;color:#98a2b3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.logout{position:absolute;left:22px;right:22px;bottom:22px;display:block;background:rgba(180,35,24,.18)}.main{margin-left:280px;padding:32px;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:var(--brand);font-weight:850;text-transform:uppercase;font-size:12px;letter-spacing:.10em;margin-bottom:6px}.topbar h1{font-size:32px;color:var(--ink);letter-spacing:-.035em}.topbar-user{display:flex;align-items:center;gap:12px}.credit-pill{padding:10px 14px;border-radius:999px;background:#ecfdf3;color:var(--success);border:1px solid #abefc6;font-weight:800}.avatar{width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}.stat{padding:20px}.stat span{display:block;color:var(--muted);font-weight:700;margin-bottom:10px}.stat strong{font-size:30px;color:var(--ink);letter-spacing:-.03em}.server{padding:22px;margin-bottom:16px}.server-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.server-head h2,.server-head h3,.admin-card h2,.card h2{color:var(--ink)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin:18px 0}.resource{padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.resource span{display:block;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;margin-bottom:6px}.resource strong{font-size:17px;color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-weight:850;font-size:12px;text-transform:uppercase;background:#f2f4f7;color:#344054;border:1px solid var(--line)}.badge-green{background:#ecfdf3;color:var(--success);border-color:#abefc6}.badge-yellow{background:#fffaeb;color:var(--warning);border-color:#fedf89}.badge-red{background:#fef3f2;color:var(--danger);border-color:#fecdca}.alert{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-weight:700;border:1px solid var(--line);background:#fff}.alert-success{background:#ecfdf3;color:var(--success);border-color:#abefc6}.alert-error{background:#fef3f2;color:var(--danger);border-color:#fecdca}.alert-info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#475467;background:#f9fafb}tr:last-child td{border-bottom:0}.admin-shell{display:grid;grid-template-columns:250px 1fr;gap:18px}.admin-menu{position:sticky;top:24px;height:max-content}.admin-menu a{display:block;padding:12px 14px;border-radius:10px;margin-bottom:7px;background:#fff;border:1px solid var(--line);font-weight:750;color:#344054}.admin-menu a:hover{border-color:#84adff;color:var(--brand)}.admin-card{padding:22px;margin-bottom:18px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.offer-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.offer-tabs a{padding:9px 12px;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:750;color:#344054}.offer-tabs a.active{background:var(--brand);color:#fff;border-color:var(--brand)}.ticket-layout{display:grid;grid-template-columns:360px 1fr;gap:20px}.ticket-list{display:grid;gap:12px}.ticket-item{padding:16px;border-radius:14px;border:1px solid var(--line);background:#fff}.ticket{padding:22px}.chat{display:grid;gap:14px;margin:18px 0}.message{max-width:82%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}.message.admin{margin-left:auto;background:#eff8ff;border-color:#b2ddff}.message .meta{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}.footer-note{margin-top:22px;color:var(--muted);font-size:13px;line-height:1.7}.spec-list{display:grid;gap:10px;margin:18px 0}.spec-list div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.spec-list span{color:var(--muted)}.spec-list strong{color:var(--ink)}
.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.message-attachment{display:block;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.message-attachment img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:55px}.sidebar{position:relative;width:100%;height:auto}.logout{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px}.main{margin-left:0;padding:22px}.topbar{flex-direction:column;align-items:flex-start}.ticket-layout,.admin-shell{grid-template-columns:1fr}.public-nav{padding:0 20px}.nav-links{display:none}.server-head{flex-direction:column}.admin-menu{position:relative;top:auto}.grid{grid-template-columns:1fr}}

/* Client dashboard and support refresh */
.client-main{background:#f6f8fc}.client-dashboard{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}.profile-card{background:linear-gradient(145deg,#0b66d8,#1398ef);color:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow);min-height:330px}.profile-card p{opacity:.9;margin:8px 0 24px}.avatar.large{width:58px;height:58px;border-radius:16px}.avatar.xl{width:76px;height:76px;border-radius:22px;font-size:30px;background:#fff;color:var(--brand);margin-bottom:20px}.client-content{display:grid;gap:22px}.client-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:18px}.client-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(16,24,40,.05);padding:28px;text-align:center}.client-kpi strong{display:block;font-size:46px;line-height:1;color:#1261d7;font-weight:500}.client-kpi span{display:block;margin-top:12px;color:#101828;font-weight:700}.no-margin-card{margin:0}.service-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.service-row:first-of-type{border-top:0}.service-row p{color:var(--muted);margin-top:4px}.service-actions{display:flex;gap:8px}.dashboard-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.support-hero{background:linear-gradient(135deg,#1261f3,#0ba5ec);border-radius:18px;padding:34px 42px;color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center;box-shadow:0 24px 55px rgba(18,97,243,.18);margin-bottom:38px}.support-hero h2{font-size:30px;margin-bottom:8px}.support-hero p{opacity:.92}.support-search .input{height:56px;border:0}.page-section{margin-bottom:34px}.section-title{margin-bottom:18px}.section-title h2{color:var(--ink);font-size:26px;letter-spacing:-.03em}.section-title.inline{display:flex;justify-content:space-between;align-items:center;gap:18px}.department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.department-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 16px 40px rgba(16,24,40,.05);display:grid;gap:14px}.department-card h3{color:#101828;font-size:20px}.department-card p{color:#667085;line-height:1.65}.dept-icon{width:24px;height:24px;border-radius:6px;background:#1261f3;display:block;position:relative}.dept-icon:after{content:"";position:absolute;left:6px;right:6px;top:7px;height:8px;border:2px solid #fff;border-top:0;transform:skewY(-12deg)}.btn.full{width:100%}.dept-foot{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:13px}.status-dot{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;font-weight:800;font-size:12px}.status-dot.online{background:#dcfae6;color:#067647}.status-dot.offline{background:#fef3f2;color:#b42318}.clean-list{gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.ticket-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.ticket-row:last-child{border-bottom:0}.ticket-row p{color:var(--muted);margin-top:4px}.empty-state{padding:28px;border:1px dashed var(--line-2);border-radius:14px;background:#f9fafb;color:var(--muted);text-align:center}.ticket-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.ticket-info-card,.ticket-form-card,.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 35px rgba(16,24,40,.05);padding:24px;margin:16px 0 28px}.ticket-info-card{display:grid;grid-template-columns:1fr 1fr;gap:16px}.creator-card,.dept-selected{background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:center}.creator-card p,.dept-selected p{color:var(--muted);font-size:13px}.ticket-form-card{display:grid;gap:14px}.ticket-form-card textarea{min-height:330px}.ticket-side{position:sticky;top:24px}.side-card{margin-top:0}.side-card h3{color:#101828;margin-bottom:14px}.side-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.full{width:100%}

/* Admin center refresh */
.admin-main{background:#f6f8fc}.stats-compact{grid-template-columns:repeat(6,minmax(150px,1fr))}.admin-dashboard{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}.admin-panel-nav{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;position:sticky;top:24px;box-shadow:0 14px 35px rgba(16,24,40,.05)}.admin-tab{width:100%;border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:10px;color:#475467;font-weight:800;cursor:pointer}.admin-tab:hover,.admin-tab.active{background:#eef4ff;color:#123d8b}.admin-panel{display:none}.admin-panel.active{display:block}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.mini-panel{border:1px solid var(--line);background:#f9fafb;border-radius:14px;padding:20px;display:grid;gap:8px}.mini-panel span{font-weight:800;color:#667085}.mini-panel strong{font-size:34px;color:#101828}.mini-panel small{color:#667085}.link-button{border:0;background:transparent;padding:0;color:#123d8b;font-weight:800;text-align:left;cursor:pointer}.ticket-admin-list{display:grid;gap:18px}.clean-ticket{box-shadow:none}.reply-box{display:grid;gap:12px;margin-top:18px}.compact-server{box-shadow:none}.inline-inputs{grid-template-columns:repeat(2,minmax(120px,1fr));margin:0}.no-margin{margin:0}.soft-table table{min-width:620px}

@media(max-width:1100px){.client-dashboard,.ticket-create-layout,.admin-dashboard,.support-hero{grid-template-columns:1fr}.profile-card,.ticket-side,.admin-panel-nav{position:relative;top:auto}.client-kpis,.overview-grid{grid-template-columns:repeat(2,1fr)}.stats-compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.client-kpis,.dashboard-grid-two,.ticket-info-card,.overview-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr}.service-actions{flex-wrap:wrap}.support-hero{padding:26px}.ticket-row{align-items:flex-start;flex-direction:column}.stats-compact{grid-template-columns:1fr}}

/* Top navigation refresh */
.app-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(16,24,40,.04)}
.app-header-inner{height:78px;width:min(1320px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-horizontal{font-size:24px;letter-spacing:-.03em;min-width:max-content}.top-nav{display:flex;align-items:center;gap:6px}.top-nav a{padding:10px 14px;border-radius:10px;color:#111827;font-weight:750}.top-nav a:hover,.top-nav a.active{background:#eef4ff;color:#0b58ca}.header-actions{display:flex;align-items:center;gap:10px}.cart-link{color:#667085;font-size:14px;font-weight:700}.btn-sm{padding:10px 13px;border-radius:8px}.account-menu{display:flex;align-items:center;gap:8px;font-weight:700;color:#344054}.small-avatar{width:34px;height:34px;border-radius:50%;font-size:13px}.logout-inline{font-size:13px;color:#667085;font-weight:750}.sidebar{display:none}.main{margin-left:0;padding:36px max(22px,calc((100% - 1320px)/2));}.topbar{padding:20px 0 8px}.topbar h1{font-size:36px}.topbar-user{display:none}.admin-main,.client-main{background:#f5f7fb;}
.admin-main .topbar{border-bottom:0}.admin-dashboard{grid-template-columns:1fr}.admin-panel-nav{position:relative;top:auto;display:flex;gap:8px;overflow:auto;border-radius:16px;margin-bottom:10px}.admin-tab{width:auto;white-space:nowrap;padding:12px 16px}.stats-compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-card{border-radius:18px}.ticket-admin-list{max-height:none}.clean-ticket{border-radius:16px}.admin-toolbar h2,.admin-card h2{font-size:24px;letter-spacing:-.025em}.soft-table table{min-width:780px}
.auth-page{min-height:100vh;background:#f7f8fb}.register-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:36px 0 70px}.register-brand{margin-bottom:22px}.register-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(16,24,40,.06);border-radius:22px;padding:42px}.register-heading{text-align:center;margin-bottom:30px}.register-heading h1{font-size:38px;color:#101828;letter-spacing:-.04em}.register-form{display:grid;gap:24px}.register-form h2{font-size:22px;color:#101828;letter-spacing:-.02em;margin-top:6px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.optional{font-weight:500;color:#667085;font-size:12px;margin-left:4px}.register-submit{width:max-content;min-width:210px;margin-top:8px}.auth-register-page label{display:grid;gap:8px;color:#475467}.auth-register-page .footer-note{text-align:center}
@media(max-width:1050px){.app-header-inner{height:auto;min-height:74px;flex-wrap:wrap;padding:14px 0}.top-nav{order:3;width:100%;overflow:auto}.header-actions{margin-left:auto}.client-dashboard{grid-template-columns:1fr}.profile-card{min-height:auto}.main{padding:24px 20px}}
@media(max-width:720px){.header-actions .cart-link,.logout-inline{display:none}.app-header-inner{width:calc(100% - 24px)}.top-nav a{font-size:14px;padding:9px 10px}.brand-horizontal{font-size:20px}.register-card{padding:24px}.form-two{grid-template-columns:1fr}.register-shell{width:calc(100% - 24px);padding-top:20px}.topbar h1{font-size:30px}.admin-panel-nav{padding:8px}.client-kpis{grid-template-columns:1fr 1fr}.support-hero{grid-template-columns:1fr}}
@media(max-width:520px){.client-kpis{grid-template-columns:1fr}.header-actions .btn-sm{display:none}.account-menu span:last-child{display:none}}

/* Theme switch */
html[data-theme="dark"]{
  --bg:#0f172a;--surface:#111827;--surface-2:#172033;--ink:#f8fafc;--text:#d0d5dd;--muted:#98a2b3;--line:#293548;--line-2:#36445b;--brand:#4f8cff;--brand-2:#38bdf8;--nav:#071222;--shadow:0 18px 45px rgba(0,0,0,.28)
}
html[data-theme="dark"] body,html[data-theme="dark"] .client-main,html[data-theme="dark"] .admin-main,html[data-theme="dark"] .auth-page{background:#0f172a;color:var(--text)}
html[data-theme="dark"] .app-header{background:rgba(15,23,42,.94);border-color:var(--line);box-shadow:0 12px 34px rgba(0,0,0,.22)}
html[data-theme="dark"] .brand,html[data-theme="dark"] .top-nav a,html[data-theme="dark"] .account-menu,html[data-theme="dark"] .topbar h1,html[data-theme="dark"] .section-title h2,html[data-theme="dark"] .admin-card h2,html[data-theme="dark"] .card h2,html[data-theme="dark"] .server-head h2,html[data-theme="dark"] .server-head h3,html[data-theme="dark"] .department-card h3,html[data-theme="dark"] .side-card h3,html[data-theme="dark"] .register-heading h1,html[data-theme="dark"] .register-form h2,html[data-theme="dark"] .price,html[data-theme="dark"] .stat strong,html[data-theme="dark"] .resource strong{color:var(--ink)}
html[data-theme="dark"] .top-nav a:hover,html[data-theme="dark"] .top-nav a.active,html[data-theme="dark"] .admin-tab:hover,html[data-theme="dark"] .admin-tab.active{background:#172b4d;color:#9cc2ff}
html[data-theme="dark"] .card,html[data-theme="dark"] .server,html[data-theme="dark"] .ticket,html[data-theme="dark"] .stat,html[data-theme="dark"] .auth-card,html[data-theme="dark"] .admin-card,html[data-theme="dark"] .department-card,html[data-theme="dark"] .clean-list,html[data-theme="dark"] .ticket-info-card,html[data-theme="dark"] .ticket-form-card,html[data-theme="dark"] .side-card,html[data-theme="dark"] .admin-panel-nav,html[data-theme="dark"] .register-card,html[data-theme="dark"] .client-kpi,html[data-theme="dark"] .table-wrap{background:#111827;border-color:var(--line);box-shadow:0 18px 40px rgba(0,0,0,.22)}
html[data-theme="dark"] .service-card{background:#111827;box-shadow:0 18px 40px rgba(0,0,0,.22)}
html[data-theme="dark"] .input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0b1220;color:var(--ink);border-color:var(--line-2)}
html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] .offer-tabs a{background:#0b1220;color:#9cc2ff;border-color:#28466f}
html[data-theme="dark"] .client-kpi span,html[data-theme="dark"] .department-card p,html[data-theme="dark"] label{color:var(--text)}
html[data-theme="dark"] .creator-card,html[data-theme="dark"] .dept-selected,html[data-theme="dark"] .resource,html[data-theme="dark"] .metric,html[data-theme="dark"] .mini-panel,html[data-theme="dark"] .empty-state{background:#172033;border-color:var(--line)}
html[data-theme="dark"] th{background:#172033;color:#cbd5e1}html[data-theme="dark"] td{border-color:var(--line)}
.theme-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.theme-toggle:hover{border-color:#84adff;color:var(--brand)}
.dept-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-edit-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.profile-summary-card{position:sticky;top:110px}.profile-form-card{display:grid;gap:22px}.profile-form-card h2{margin-top:6px}.profile-card .btn + .btn{margin-top:10px}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-radius:12px;background:#fffaeb;border:1px solid #fedf89;color:#93370d;font-weight:600;margin-bottom:20px}.verify-banner form{flex:0 0 auto}.verify-banner strong{font-weight:800}@media(max-width:700px){.verify-banner{flex-direction:column;align-items:flex-start}}
@media(max-width:950px){.profile-edit-shell{grid-template-columns:1fr}.profile-summary-card{position:relative;top:auto}}


/* OxiHost logo image integration */
.brand-logo{
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(11,102,216,.14);
}
.brand.brand-horizontal .brand-logo{
  width:42px;
  height:42px;
}
.auth-card .brand,
.register-brand{
  justify-content:center;
}
.auth-card .brand .brand-logo,
.register-brand .brand-logo{
  width:58px;
  height:58px;
}
@media (max-width: 640px){
  .brand-logo{width:38px;height:38px}
  .auth-card .brand .brand-logo,
  .register-brand .brand-logo{width:52px;height:52px}
}

/* Admin offers manager */
.offer-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-top:18px}
.offer-admin-card{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;padding:20px;display:grid;gap:13px;box-shadow:0 8px 22px rgba(16,24,40,.04);transition:.16s}
.offer-admin-card:hover{border-color:#b2ccff;box-shadow:0 16px 36px rgba(16,24,40,.08)}
.offer-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.offer-field{display:grid;gap:6px}
.offer-field label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}
.offer-field .input,.offer-field select{padding:10px 11px;font-size:14px}
.offer-name-input{font-weight:800;font-size:16px}
.offer-inline-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.offer-section-label{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.offer-grid-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.offer-admin-card>.btn{width:100%;margin-top:4px}
.offer-create{margin-top:18px}
.offer-create>summary{display:inline-block;cursor:pointer;list-style:none;width:auto}
.offer-create>summary::-webkit-details-marker{display:none}
.offer-create>.offer-admin-card{margin-top:14px;max-width:440px}
.catalog-sync{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 4px}

/* Renouvellements mensuels (admin Factures) */
.renewal-block{border-top:1px solid var(--line);padding:16px 0}
.renewal-block:first-of-type{border-top:0;padding-top:6px}
.renewal-months{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.renewal-chip-form{margin:0}
.renewal-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:118px;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font:inherit;text-align:left;transition:.14s}
.renewal-chip:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,24,40,.08)}
.renewal-chip .renewal-month{font-weight:850;font-size:13px;color:var(--ink);text-transform:capitalize}
.renewal-chip .renewal-state{font-size:12px;font-weight:800}
.renewal-chip .renewal-date,.renewal-chip .renewal-amount{font-size:11px;color:var(--muted)}
.renewal-chip.paid{border-color:#abefc6;background:#ecfdf3}
.renewal-chip.paid .renewal-state{color:var(--success)}
.renewal-chip.overdue{border-color:#fecdca;background:#fef3f2}
.renewal-chip.overdue .renewal-state{color:var(--danger)}
.renewal-chip.upcoming{border-color:#fedf89;background:#fffaeb}
.renewal-chip.upcoming .renewal-state{color:var(--warning)}
html[data-theme="dark"] .renewal-chip{background:#0b1220;border-color:#293548}
html[data-theme="dark"] .renewal-chip.paid{background:rgba(18,183,106,.14);border-color:#1f7a4d}
html[data-theme="dark"] .renewal-chip.overdue{background:rgba(240,68,56,.14);border-color:#9b2c25}
html[data-theme="dark"] .renewal-chip.upcoming{background:rgba(247,144,9,.14);border-color:#9a6a12}
.mini-panel-alert{border-color:#fecdca;background:#fef3f2}
.mini-panel-alert strong{color:var(--danger)}
html[data-theme="dark"] .mini-panel-alert{background:rgba(240,68,56,.12);border-color:#9b2c25}
.next-due{font-size:12.5px;color:var(--muted);margin-top:2px}
.next-due.overdue{color:var(--danger);font-weight:700}

/* Rôles d'équipe */
.role-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);background:#f2f4f7;color:#475467}
.role-pill.role-owner{background:#fef0c7;color:#b54708;border-color:#fedf89}
.role-pill.role-admin{background:#eff4ff;color:var(--brand);border-color:#b2ccff}
.role-pill.role-support{background:#ecfdf3;color:var(--success);border-color:#abefc6}
.role-pill.role-user{background:#f2f4f7;color:#475467;border-color:var(--line)}
.header-actions .role-pill{align-self:center}
.role-assign-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.role-assign-form .input{min-width:200px}
html[data-theme="dark"] .role-pill{background:#0b1220;color:#9aa7bd}
html[data-theme="dark"] .role-pill.role-owner{background:rgba(247,144,9,.16);color:#fdb022;border-color:#9a6a12}
html[data-theme="dark"] .role-pill.role-admin{background:rgba(79,140,255,.16);color:#84a9ff;border-color:#28466f}
html[data-theme="dark"] .role-pill.role-support{background:rgba(18,183,106,.16);color:#3ccb7f;border-color:#1f7a4d}
html[data-theme="dark"] .role-pill.role-user{background:#0b1220;color:#9aa7bd;border-color:#293548}

.btn.small{padding:6px 10px;font-size:12.5px}
/* Graphique revenus (admin) */
.kpi-inline{display:flex;gap:22px;flex-wrap:wrap}
.kpi-inline span{display:flex;flex-direction:column}
.kpi-inline strong{font-size:20px;color:var(--ink);font-weight:850}
.kpi-inline small{color:var(--muted);font-size:12px}
.rev-chart{display:flex;align-items:flex-end;gap:14px;height:175px;padding:16px 6px 0;margin-top:8px}
.rev-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.rev-bar{width:100%;max-width:54px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--brand-2),var(--brand));transition:.2s;min-height:4px}
.rev-bar-wrap:hover .rev-bar{filter:brightness(1.08)}
.rev-val{font-size:11px;font-weight:800;color:var(--ink)}
.rev-label{font-size:11px;color:var(--muted);text-transform:capitalize;white-space:nowrap}
.node-breakdown{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.node-breakdown h3{font-size:15px;margin:0 0 12px;color:var(--ink)}
.node-bars{display:grid;gap:10px}
.node-row{display:flex;align-items:center;gap:12px}
.node-name{min-width:110px;font-size:13px;font-weight:700;color:var(--ink)}
.node-bar-track{flex:1;height:10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}
.node-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand-2),var(--brand))}
.node-count{min-width:24px;text-align:right;font-weight:800;color:var(--ink)}
/* Journal d'activité */
.activity-feed{display:grid;gap:2px}
.activity-row{display:flex;align-items:center;gap:13px;padding:11px 4px;border-bottom:1px solid var(--line)}
.activity-row:last-child{border-bottom:0}
.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:0 0 auto;box-shadow:0 0 0 4px rgba(18,61,139,.10)}
.activity-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.activity-main strong{font-size:14px;color:var(--ink)}
.activity-main span{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-time{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.offer-checks{display:flex;flex-wrap:wrap;gap:8px}
.offer-check{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:7px 11px;cursor:pointer}
.offer-check input{width:auto;margin:0}
.offer-availability{align-self:start;background:var(--surface-2)}
.inject-form{display:grid;gap:16px;max-width:780px}
.inject-form .offer-inline-2{gap:16px}
@media(max-width:520px){.offer-grid-inputs{grid-template-columns:repeat(2,1fr)}}
html[data-theme="dark"] .offer-admin-card{background:#172033;border-color:var(--line);box-shadow:0 14px 30px rgba(0,0,0,.2)}
html[data-theme="dark"] .offer-check{background:#0b1220;border-color:#36445b}

/* Boutique client — mise en page inspirée du site vitrine, couleurs du thème */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:6px}
.shop-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:24px 22px;box-shadow:0 10px 25px rgba(16,24,40,.05);transition:.16s}
.shop-card:hover{border-color:var(--brand);box-shadow:0 18px 40px rgba(16,24,40,.10);transform:translateY(-3px)}
.shop-card--featured{border-color:var(--brand);box-shadow:0 18px 44px rgba(18,61,139,.16)}
.shop-card--oos{opacity:.72}
.shop-flag{position:absolute;top:14px;right:14px;background:var(--brand);color:#fff;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;box-shadow:0 6px 16px rgba(18,61,139,.25)}
.shop-flag--oos{background:var(--warning);box-shadow:none}
.shop-card-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.shop-glyph{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand);flex:0 0 auto}
.shop-glyph svg{width:25px;height:25px}
.shop-name{margin:7px 0 0;font-size:20px;font-weight:850;color:var(--ink);line-height:1.1}
.shop-desc{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 14px;min-height:44px}
.shop-price{display:flex;align-items:baseline;gap:8px;margin:2px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.shop-amount{font-size:34px;font-weight:850;letter-spacing:-.04em;color:var(--ink)}
.shop-period{font-size:14px;color:var(--muted);font-weight:650}
.shop-specs{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:11px}
.shop-specs li{display:flex;align-items:center;gap:12px}
.shop-ic{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand);flex:0 0 auto}
.shop-ic svg{width:16px;height:16px}
.shop-spec-txt{display:flex;flex-direction:column;line-height:1.25}
.shop-spec-txt small{color:var(--muted);font-size:12px}
.shop-spec-txt b{color:var(--ink);font-size:14px;font-weight:750}
.shop-ddos{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:0 0 16px}
.shop-ddos svg{width:16px;height:16px;color:var(--success)}
.shop-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}
.shop-cta svg{width:17px;height:17px}
.checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);margin:6px 0 18px}
.checkbox-row input{width:17px;height:17px}
.resize-details{margin-top:14px}
.resize-details summary{cursor:pointer;font-weight:800;color:var(--brand-2);list-style:none}
.resize-details summary::-webkit-details-marker{display:none}
.resize-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.offer-radio{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;cursor:pointer;font-size:14px}
.offer-radio:hover{border-color:var(--brand-2)}
.offer-radio input{margin-top:3px}
@media(max-width:980px){.shop-grid{grid-template-columns:1fr}}

/* Dashboard client — identité visuelle propre (accents par catégorie, cartes de service) */
:root{--accent-mc:#16a34a;--accent-fivem:#f2760c;--accent-vps:#7c3aed}
html[data-theme="dark"]{--accent-mc:#22c55e;--accent-fivem:#fb923c;--accent-vps:#a78bfa}

.profile-card{position:relative;overflow:hidden}
.profile-card-glow{position:absolute;top:-70px;right:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);pointer-events:none;z-index:0}
.profile-card>*:not(.profile-card-glow){position:relative;z-index:1}
.member-since{display:inline-flex;align-self:flex-start;margin:-10px 0 22px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:750}

.client-kpi .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand)}
.kpi-icon svg{width:20px;height:20px}
.client-kpi .kpi-icon--invoices{color:var(--warning);background:#fffaeb;border-color:#fedf89}
.client-kpi .kpi-icon--tickets{color:var(--brand-2);background:#eff8ff;border-color:#b2ddff}
.client-kpi .kpi-icon--ram{color:var(--accent-mc);background:#ecfdf3;border-color:#abefc6}
html[data-theme="dark"] .client-kpi .kpi-icon{color:var(--brand)}
html[data-theme="dark"] .client-kpi .kpi-icon--invoices{color:var(--warning);background:rgba(247,144,9,.14);border-color:#9a6a12}
html[data-theme="dark"] .client-kpi .kpi-icon--tickets{color:var(--brand-2);background:rgba(56,189,248,.14);border-color:#28466f}
html[data-theme="dark"] .client-kpi .kpi-icon--ram{color:var(--accent-mc);background:rgba(34,197,94,.14);border-color:#1f7a4d}

.service-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:6px}
.service-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--surface);border-top:3px solid var(--brand-2);transition:.16s}
.service-card:hover{box-shadow:0 14px 32px rgba(16,24,40,.07);transform:translateY(-2px)}
.service-card--minecraft{border-top-color:var(--accent-mc)}
.service-card--fivem{border-top-color:var(--accent-fivem)}
.service-card--vps{border-top-color:var(--accent-vps)}
.service-card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.service-glyph{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--brand)}
.service-card--minecraft .service-glyph{color:var(--accent-mc)}
.service-card--fivem .service-glyph{color:var(--accent-fivem)}
.service-card--vps .service-glyph{color:var(--accent-vps)}
.service-glyph svg{width:21px;height:21px}
.service-card-title{flex:1;min-width:0}
.service-card-title strong{display:block;color:var(--ink);font-size:15.5px}
.service-card-title p{color:var(--muted);font-size:13px;margin-top:2px}
.service-mini-specs{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0;margin-bottom:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-mini-specs span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text)}
.service-mini-specs svg{width:15px;height:15px;color:var(--muted)}
.service-card .service-actions{margin-top:14px;flex-wrap:wrap}

/* Factures client */
.invoice-cards{display:grid;gap:12px;margin-top:6px}
.invoice-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--brand-2);border-radius:16px;background:var(--surface);box-shadow:0 10px 26px rgba(16,24,40,.04);transition:.16s}
.invoice-card:hover{box-shadow:0 14px 32px rgba(16,24,40,.08);transform:translateY(-2px)}
.invoice-card--minecraft{border-left-color:var(--accent-mc)}
.invoice-card--fivem{border-left-color:var(--accent-fivem)}
.invoice-card--vps{border-left-color:var(--accent-vps)}
.invoice-card-main{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1 auto}
.invoice-glyph{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line);flex:0 0 auto}
.invoice-glyph svg{width:21px;height:21px}
.invoice-glyph--minecraft{color:var(--accent-mc);background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.3)}
.invoice-glyph--fivem{color:var(--accent-fivem);background:rgba(251,146,60,.13);border-color:rgba(251,146,60,.3)}
.invoice-glyph--vps{color:var(--accent-vps);background:rgba(124,58,237,.13);border-color:rgba(124,58,237,.3)}
.invoice-card-info{min-width:0}
.invoice-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.invoice-card-head strong{font-size:15.5px;color:var(--ink)}
.invoice-meta{display:flex;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:4px}
.invoice-meta .dot{color:var(--line-2)}
.invoice-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 auto;text-align:right}
.invoice-total{font-size:19px;color:var(--ink);font-weight:800;letter-spacing:-.01em}
.invoice-was{color:var(--success);font-size:12px;font-weight:750}
@media(max-width:700px){.invoice-card{flex-direction:column;align-items:stretch}.invoice-card-side{align-items:flex-start}}
.invoice-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* Facture détaillée (client + admin) — vrai document imprimable */
.invoice-doc-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.invoice-doc{max-width:840px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--brand-2);border-radius:18px;padding:44px;box-shadow:var(--shadow)}
.invoice-doc--minecraft{border-top-color:var(--accent-mc)}
.invoice-doc--fivem{border-top-color:var(--accent-fivem)}
.invoice-doc--vps{border-top-color:var(--accent-vps)}
.invoice-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.invoice-doc-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;color:var(--ink)}
.invoice-doc-brand img{width:34px;height:34px;border-radius:9px}
.invoice-doc-title{text-align:right}
.invoice-doc-title h1{font-size:25px;color:var(--ink);letter-spacing:-.02em;margin-bottom:3px}
.invoice-doc-title p{color:var(--muted);font-weight:750}
.invoice-doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}
.invoice-doc-label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:9px}
.invoice-doc-meta strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.invoice-doc-meta p{color:var(--text);font-size:13.5px;line-height:1.65;margin:0}
.invoice-doc-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.invoice-doc-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 0 10px;border-bottom:2px solid var(--line)}
.invoice-doc-table td{padding:18px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.invoice-doc-table th.num,.invoice-doc-table td.num{text-align:right}
.invoice-doc-totals{margin-left:auto;max-width:300px;display:grid;gap:9px}
.invoice-doc-totals-row{display:flex;justify-content:space-between;color:var(--text);font-size:14px}
.invoice-doc-totals-final{border-top:2px solid var(--line);padding-top:11px;margin-top:3px;font-weight:850;font-size:18px;color:var(--ink)}
.invoice-doc-footer{margin-top:30px;text-align:center}
.invoice-doc-history{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.invoice-doc-history h3{font-size:15px;color:var(--ink);margin-bottom:14px}
.invoice-doc-timeline{display:grid;gap:12px}
.invoice-doc-event{display:flex;gap:12px;align-items:baseline;font-size:13.5px;color:var(--text)}
.invoice-doc-event .dot{width:7px;height:7px;border-radius:50%;background:var(--brand-2);flex:0 0 auto}
.invoice-doc-event strong{color:var(--ink)}
@media print{.app-header,.invoice-doc-toolbar,.topbar,.alert{display:none!important}.main{margin-left:0!important;padding:0!important}.invoice-doc{box-shadow:none;border:1px solid #ddd;max-width:100%}}
@media(max-width:640px){.invoice-doc{padding:26px}.invoice-doc-head{flex-direction:column}.invoice-doc-title{text-align:left}.invoice-doc-meta{grid-template-columns:1fr}}

/* Boutique — accents par catégorie (même identité que le dashboard) */
.offer-tabs a{display:inline-flex;align-items:center;gap:8px}
.offer-tabs a svg{width:16px;height:16px}
.offer-tabs a.active svg{color:#fff}
.shop-card--minecraft{border-top:3px solid var(--accent-mc)}
.shop-card--fivem{border-top:3px solid var(--accent-fivem)}
.shop-card--vps{border-top:3px solid var(--accent-vps)}
.shop-card--minecraft .shop-glyph{color:var(--accent-mc)}
.shop-card--fivem .shop-glyph{color:var(--accent-fivem)}
.shop-card--vps .shop-glyph{color:var(--accent-vps)}
.shop-card--minecraft:hover{box-shadow:0 18px 40px rgba(22,163,74,.12)}
.shop-card--fivem:hover{box-shadow:0 18px 40px rgba(242,118,12,.12)}
.shop-card--vps:hover{box-shadow:0 18px 40px rgba(124,58,237,.12)}
.shop-card--featured.shop-card--minecraft{box-shadow:0 18px 44px rgba(22,163,74,.16)}
.shop-card--featured.shop-card--fivem{box-shadow:0 18px 44px rgba(242,118,12,.16)}
.shop-card--featured.shop-card--vps{box-shadow:0 18px 44px rgba(124,58,237,.16)}
.shop-resource-grid{margin:14px 0}
.shop-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.shop-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:12.5px;font-weight:700}
.shop-chip svg{width:14px;height:14px}

/* Admin — nav sur plusieurs lignes, sans défilement horizontal */
.admin-panel-nav{flex-wrap:wrap;overflow:visible}
.admin-nav-sep{width:1px;align-self:stretch;min-height:22px;background:var(--line);margin:4px 6px;flex:0 0 auto}
@media(max-width:1050px){.admin-nav-sep{display:none}}
table td.num{text-align:right;font-variant-numeric:tabular-nums}

/* Admin — identité par catégorie sur les cartes serveur, avatars dans les tableaux */
.accent-card{border-top:3px solid var(--brand-2)}
.accent-card--minecraft{border-top-color:var(--accent-mc)}
.accent-card--fivem{border-top-color:var(--accent-fivem)}
.accent-card--vps{border-top-color:var(--accent-vps)}
.table-user{display:flex;align-items:center;gap:10px;font-weight:700}
.table-avatar{width:28px;height:28px;font-size:12px;flex:0 0 auto}

/* =========================================================================
 * DESIGN — appliqué à tout le site connecté (client ET admin) ainsi qu'à la
 * page publique. Scopé sous body.area-client / body.area-admin / body.area-public
 * (plutôt qu'au :root) pour pouvoir un jour re-différencier un espace sans
 * tout réécrire.
 * ========================================================================= */
body.area-client,body.area-admin,body.area-public{--brand:#4f46e5;--brand-2:#06b6d4;--shadow:0 22px 55px rgba(79,70,229,.12);--radius:16px}
html[data-theme="dark"] body.area-client,html[data-theme="dark"] body.area-admin,html[data-theme="dark"] body.area-public{--brand:#818cf8;--brand-2:#22d3ee;--shadow:0 22px 55px rgba(0,0,0,.35)}

body.area-client .top-nav a:hover,body.area-client .top-nav a.active{background:#eef2ff;color:#4338ca}
html[data-theme="dark"] body.area-client .top-nav a:hover,html[data-theme="dark"] body.area-client .top-nav a.active{background:#26243f;color:#c7d2fe}

body.area-client .btn.secondary,body.area-client .btn.ghost,
body.area-admin .btn.secondary,body.area-admin .btn.ghost,
body.area-public .btn.secondary,body.area-public .btn.ghost,
body.area-client .offer-tabs a{border-color:#c7d2fe}
html[data-theme="dark"] body.area-client .btn.secondary,html[data-theme="dark"] body.area-client .btn.ghost,
html[data-theme="dark"] body.area-admin .btn.secondary,html[data-theme="dark"] body.area-admin .btn.ghost,
html[data-theme="dark"] body.area-public .btn.secondary,html[data-theme="dark"] body.area-public .btn.ghost{border-color:#3730a3;color:#c7d2fe;background:#181b3a}

body.area-client .offer-tabs a.active{background:var(--brand);border-color:var(--brand)}
body.area-client .input:focus,body.area-client select:focus,body.area-client textarea:focus,
body.area-admin .input:focus,body.area-admin select:focus,body.area-admin textarea:focus,
body.area-public .input:focus{border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(79,70,229,.12)}

body.area-client .profile-card{background:linear-gradient(150deg,#4f46e5,#06b6d4)}
body.area-client .support-hero{background:linear-gradient(135deg,#4338ca,#06b6d4);box-shadow:0 24px 55px rgba(79,70,229,.20)}
body.area-client .client-kpi strong{color:#4f46e5}
html[data-theme="dark"] body.area-client .client-kpi strong{color:#818cf8}
body.area-client .dept-icon{background:#4f46e5}
body.area-client .avatar.xl{color:#4f46e5}

body.area-public .public-nav{backdrop-filter:saturate(180%) blur(14px);background:rgba(255,255,255,.9)}
html[data-theme="dark"] body.area-public .public-nav{background:rgba(15,17,32,.9);border-color:#232640}
body.area-public .brand-mark{background:linear-gradient(135deg,#4f46e5,#06b6d4)}

/* Petites touches de forme pour marquer le changement (rayon plus généreux,
   ombres plus douces) sans casser la structure existante. */
body.area-client .card,body.area-client .server,body.area-client .ticket,body.area-client .admin-card,
body.area-client .client-kpi,body.area-client .department-card,body.area-client .auth-card,
body.area-client .register-card,body.area-admin .card,body.area-admin .server,body.area-admin .ticket,
body.area-admin .admin-card,body.area-public .card,body.area-public .hero-panel{border-radius:18px}
body.area-client .btn,body.area-admin .btn{border-radius:11px}

/* Dashboard client — bannière d'accueil horizontale (remplace l'ancienne
   carte profil verticale : structure volontairement différente). */
.dash-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#4f46e5,#06b6d4);border-radius:20px;padding:26px 30px;color:#fff;box-shadow:0 20px 45px rgba(79,70,229,.25);margin-bottom:22px}
.dash-welcome-id{display:flex;align-items:center;gap:16px}
.dash-welcome-id h2{font-size:22px;letter-spacing:-.02em;margin-bottom:2px}
.dash-welcome-id p{opacity:.85;font-size:13.5px}
.dash-welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.dash-welcome .btn.secondary{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.32)}
.dash-welcome .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.dash-welcome .btn.secondary:hover,.dash-welcome .btn.ghost:hover{background:rgba(255,255,255,.26)}
@media(max-width:600px){.dash-welcome{padding:22px}}

/* Navigation — vraie sidebar fixe partagée par tout le site connecté ;
   l'ancienne top-bar (.app-header) n'est plus utilisée nulle part. */
body.area-client .app-header,body.area-admin .app-header{display:none}
body.area-client .main,body.area-admin .main{margin-left:264px;padding:38px 42px;min-height:100vh}
.client-sidebar{position:fixed;left:0;top:0;bottom:0;width:264px;background:#12102a;color:#e4e2f5;display:flex;flex-direction:column;padding:26px 18px;z-index:40;overflow-y:auto}
.client-sidebar-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;color:#fff;padding:0 8px 26px;letter-spacing:-.02em}
.client-sidebar-brand img{width:34px;height:34px;border-radius:9px}
.client-sidebar-nav{display:grid;gap:4px}
.client-sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;color:#b4b0d6;font-weight:700;font-size:14.5px;transition:.15s}
.client-sidebar-icon{width:19px;height:19px;flex:0 0 auto;display:inline-flex}
.client-sidebar-icon svg{width:19px;height:19px}
.client-sidebar-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.client-sidebar-nav a.active{background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;box-shadow:0 10px 24px rgba(79,70,229,.35)}
.client-sidebar-admin-link{margin-top:10px;border-top:1px solid rgba(255,255,255,.09);padding-top:16px !important}
.client-sidebar-foot{margin-top:auto;display:grid;gap:4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}
.client-sidebar-account{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:11px;color:#fff;font-weight:700;font-size:14px}
.client-sidebar-account:hover{background:rgba(255,255,255,.07)}
.client-sidebar-theme,.client-sidebar-logout{display:block;text-align:left;padding:10px 8px;border-radius:11px;color:#b4b0d6;font-weight:700;font-size:13.5px;border:0;background:transparent;width:100%;cursor:pointer}
.client-sidebar-theme:hover,.client-sidebar-logout:hover{background:rgba(255,255,255,.07);color:#fff}
@media(max-width:980px){.client-sidebar{position:relative;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;padding:16px}.client-sidebar-brand{padding:0 8px;width:100%}.client-sidebar-nav{display:flex;flex-wrap:wrap;flex:1}.client-sidebar-admin-link{margin-top:0;border-top:0;padding-top:12px !important}.client-sidebar-foot{margin-top:0;flex-direction:row;flex-wrap:wrap;border:0;padding:10px 0 0}body.area-client .main,body.area-admin .main{margin-left:0;padding:22px}}

/* Page publique (landing) */
.landing-steps-grid{grid-template-columns:repeat(3,1fr)}
.landing-step{position:relative;padding-top:34px}
.landing-step-index{position:absolute;top:-16px;left:24px;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;display:grid;place-items:center;font-weight:850;font-size:15px;box-shadow:0 10px 22px rgba(79,70,229,.3)}
.landing-step h3{margin:10px 0 8px;color:var(--ink)}
.public-footer{border-top:1px solid var(--line);margin-top:20px;padding:26px 0}
.public-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:13px}
.public-footer-links{display:flex;gap:18px}
.public-footer-links a{color:var(--muted);font-weight:700}
.public-footer-links a:hover{color:var(--brand)}
@media(max-width:700px){.landing-steps-grid{grid-template-columns:1fr}}
