/* =========================================================
   Cloudemoon — WHMCS Client Area Theme
   RTL / Persian — based on the Cloudemoon panel design
   Font: Vazirmatn (local — templates/cloudemoon/fonts/)
   ========================================================= */

:root {
  --bg:#eaf1f8;
  --grad:linear-gradient(180deg,#f4f8fc 0%,#eaf1f8 220px,#eaf1f8 100%);
  --surface:#ffffff;--surface-2:#f1f6fb;--surface-3:#e7f0f8;
  --border:#e1e9f2;--border-soft:#eef3f8;
  --text:#142331;--text-2:#4a5d70;--text-3:#8395a6;
  --primary:#2f7cb5;--primary-2:#1f5e8c;--primary-soft:#e6f1fa;--on-primary:#ffffff;--field:#f5f9fd;
  --success:#2f9e76;--success-soft:#e3f4ed;
  --warning:#cb8a36;--warning-soft:#f8efdf;
  --danger:#cf5a5a;--danger-soft:#f8e9e9;
  --shadow-sm:0 1px 2px rgba(20,35,49,.05);
  --shadow:0 1px 2px rgba(20,35,49,.04),0 10px 26px rgba(20,35,49,.06);
  --shadow-lg:0 16px 44px rgba(20,35,49,.10);
}
[data-theme="dark"]{
  --bg:#0c141f;--grad:linear-gradient(180deg,#101c2a 0%,#0c141f 220px,#0c141f 100%);
  --surface:#152130;--surface-2:#1a2838;--surface-3:#213245;
  --border:#28394e;--border-soft:#1f2c3d;
  --text:#e9eff5;--text-2:#9fb1c4;--text-3:#71849a;
  --primary:#4f9fd4;--primary-2:#73b6e4;--primary-soft:#16304a;--on-primary:#07131f;--field:#16243a;
  --success:#43b389;--success-soft:#12302a;
  --warning:#d6a056;--warning-soft:#312818;
  --danger:#df7070;--danger-soft:#321e1e;
  --shadow-sm:0 1px 2px rgba(0,0,0,.32);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px rgba(0,0,0,.4);
  --shadow-lg:0 20px 50px rgba(0,0,0,.5);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Vazirmatn',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  background:var(--bg);color:var(--text);
  overflow-x:hidden; /* contain off-canvas sidebar / wide header on small screens */
}
a{color:var(--primary);text-decoration:none;}
a:hover{color:var(--primary-2);}
button{font-family:inherit;}
::selection{background:var(--primary-soft);}
img{max-width:100%;}

/* ---- scrollbars ---- */
.cm-scroll::-webkit-scrollbar{width:8px;height:8px;}
.cm-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;}
.cm-scroll::-webkit-scrollbar-track{background:transparent;}

/* ===================== SHELL ===================== */
.cm-shell{min-height:100vh;display:flex;background:var(--grad);color:var(--text);}

/* ===================== SIDEBAR ===================== */
.cm-sidebar{
  width:266px;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;
  background:var(--surface);border-left:1px solid var(--border);
  display:flex;flex-direction:column;padding:22px 16px;gap:6px;
}
.cm-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px;}
.cm-brand img{width:42px;height:42px;object-fit:contain;}
.cm-brand .name{font-weight:800;font-size:16px;letter-spacing:.2px;}
.cm-brand .sub{font-size:11px;color:var(--text-3);letter-spacing:1.5px;}
.cm-navgroup{font-size:11px;font-weight:700;color:var(--text-3);padding:4px 12px 8px;letter-spacing:.5px;}

.cm-nav{
  display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;
  border:none;border-radius:12px;background:transparent;color:var(--text-2);
  font-size:14.5px;font-weight:500;cursor:pointer;text-align:right;
  transition:background .15s,color .15s;text-decoration:none;
}
.cm-nav:hover{background:var(--surface-2);color:var(--text);}
.cm-nav.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}
.cm-nav .label{flex:1;}
.cm-nav .count{
  font-size:12px;font-weight:700;min-width:22px;text-align:center;
  padding:2px 7px;border-radius:8px;background:var(--surface-2);color:var(--text-3);
}
.cm-nav.active .count{background:var(--primary);color:var(--on-primary);}
.cm-divider{height:1px;background:var(--border-soft);margin:10px 8px;}
.cm-grow{flex:1;}

.cm-cta{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px;
  border:none;border-radius:14px;background:var(--primary);color:var(--on-primary);
  font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px var(--primary-soft);
  transition:transform .15s,filter .15s;text-decoration:none;
}
.cm-cta:hover{filter:brightness(1.06);transform:translateY(-1px);color:var(--on-primary);}

/* ===================== MAIN ===================== */
.cm-main{flex:1;min-width:0;display:flex;flex-direction:column;}

.cm-header{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;
  padding:14px 30px;background:var(--surface);border-bottom:1px solid var(--border);
  backdrop-filter:saturate(1.4);
}
.cm-title{font-size:18px;font-weight:800;letter-spacing:.2px;white-space:nowrap;}
.cm-subtitle{font-size:12.5px;color:var(--text-3);margin-top:1px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:300px;}

.cm-search{
  display:flex;align-items:center;gap:10px;width:100%;max-width:420px;padding:10px 16px;
  border-radius:13px;background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text-3);
}
.cm-search input{flex:1;border:none;outline:none;background:transparent;
  font-family:inherit;font-size:13.5px;color:var(--text);}
.cm-search kbd{font-size:11px;font-family:inherit;color:var(--text-3);
  border:1px solid var(--border);border-radius:6px;padding:1px 6px;}

.cm-iconbtn{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;border:1px solid var(--border);background:var(--surface-2);
  color:var(--text-2);cursor:pointer;transition:.15s;position:relative;text-decoration:none;
}
.cm-iconbtn:hover{color:var(--primary);border-color:var(--primary-soft);}
.cm-iconbtn.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);}
.cm-iconbtn .dot{position:absolute;top:9px;left:11px;width:8px;height:8px;border-radius:50%;
  background:var(--danger);border:2px solid var(--surface);}

.cm-userchip{display:flex;align-items:center;gap:11px;padding:5px 6px 5px 12px;
  border-radius:14px;cursor:pointer;transition:background .15s;}
.cm-userchip:hover{background:var(--surface-2);}
.cm-avatar{width:40px;height:40px;border-radius:11px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;}
.cm-userchip .uname{font-weight:700;font-size:13.5px;}
.cm-userchip .uid{font-size:11.5px;color:var(--text-3);}

.cm-content{flex:1;overflow-y:auto;padding:28px 30px 40px;}
.cm-wrap{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:22px;}

/* ===================== CARDS / STAT GRID ===================== */
.cm-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cm-statgrid-3{grid-template-columns:repeat(3,1fr);} /* responsive: ≤860→2, ≤560→1 via .cm-statgrid rules */
.cm-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;
  box-shadow:var(--shadow-sm);}
.cm-card.pad{padding:22px;}
/* error pages (error/page-not-found.tpl etc.) */
.cm-error{max-width:560px;margin:40px auto;text-align:center;padding:40px 28px;}
.cm-error-ic{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;background:var(--primary-soft);color:var(--primary);}
.cm-error-code{font-size:54px;font-weight:800;letter-spacing:2px;color:var(--primary);line-height:1;margin-bottom:8px;}
.cm-error-title{font-size:20px;font-weight:800;color:var(--text);margin:0 0 10px;}
.cm-error-text{color:var(--text-2);font-size:14px;line-height:1.9;margin:0 auto 22px;max-width:420px;}
.cm-error-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.cm-stat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.cm-stat-ic{width:46px;height:46px;border-radius:13px;background:var(--primary-soft);
  color:var(--primary);display:flex;align-items:center;justify-content:center;}
.cm-stat-ic.warn{background:var(--warning-soft);color:var(--warning);}
.cm-stat-label{font-size:13px;color:var(--text-3);}
.cm-stat-num{display:flex;align-items:baseline;gap:8px;margin-top:4px;}
.cm-stat-num b{font-size:30px;font-weight:800;}
.cm-stat-num span{font-size:13px;color:var(--text-3);}

/* ---- badges ---- */
.cm-badge{display:inline-block;white-space:nowrap;font-size:12px;font-weight:700;
  padding:5px 11px;border-radius:9px;background:var(--surface-2);color:var(--text-3);}
.cm-badge.green{background:var(--success-soft);color:var(--success);}
.cm-badge.blue{background:var(--primary-soft);color:var(--primary);}
.cm-badge.red{background:var(--danger-soft);color:var(--danger);}
.cm-badge.orange{background:var(--warning-soft);color:var(--warning);}
.cm-badge.pill{font-size:12px;padding:4px 9px;border-radius:8px;}

/* ===================== PROMO BANNER ===================== */
.cm-promo{position:relative;overflow:hidden;border-radius:22px;padding:34px 38px;
  background:linear-gradient(120deg,var(--primary-2),var(--primary));color:#fff;
  box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.cm-promo .blob{position:absolute;border-radius:50%;}
.cm-promo .blob.a{top:-60px;left:-30px;width:240px;height:240px;background:rgba(255,255,255,.10);}
.cm-promo .blob.b{bottom:-90px;left:140px;width:220px;height:220px;background:rgba(255,255,255,.07);}
.cm-promo .body{position:relative;max-width:560px;}
.cm-promo .tag{display:inline-block;font-size:12px;font-weight:700;
  background:rgba(255,255,255,.18);padding:5px 12px;border-radius:8px;margin-bottom:14px;}
.cm-promo h2{font-size:27px;font-weight:800;line-height:1.4;margin:0;}
.cm-promo p{font-size:14px;opacity:.9;margin:10px 0 0;line-height:1.9;}
.cm-promo .btn{margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;
  border:none;border-radius:13px;background:#fff;color:var(--primary-2);
  font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s;text-decoration:none;}
.cm-promo .btn:hover{transform:translateY(-1px);}
.cm-promo .mock{position:relative;flex:none;width:300px;height:180px;border-radius:16px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;}
.cm-promo .mock .dots{position:absolute;top:14px;right:14px;display:flex;gap:6px;}
.cm-promo .mock .dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);}
.cm-promo .mock .txt{font-family:ui-monospace,monospace;font-size:12px;
  color:rgba(255,255,255,.7);letter-spacing:1px;}

/* ===================== TWO-COLUMN ===================== */
.cm-cols{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;align-items:start;}
.cm-col{display:flex;flex-direction:column;gap:22px;}

/* ---- list panel ---- */
.cm-panel-head{display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--border-soft);}
.cm-panel-head h3{font-size:15.5px;font-weight:700;margin:0;}
.cm-link{font-family:inherit;font-size:13px;font-weight:600;color:var(--primary);
  background:transparent;border:none;cursor:pointer;text-decoration:none;}
.cm-row{display:flex;align-items:center;gap:14px;padding:15px 22px;border-top:1px solid var(--border-soft);}
.cm-rowicon{width:42px;height:42px;flex:none;border-radius:12px;background:var(--primary-soft);
  color:var(--primary);display:flex;align-items:center;justify-content:center;}
.cm-row .main{flex:1;min-width:0;}
.cm-row .main .t{font-weight:600;font-size:14px;}
.cm-row .main .s{font-size:12.5px;color:var(--text-3);margin-top:2px;}
.cm-row .price{font-weight:700;font-size:13.5px;white-space:nowrap;}
.cm-row .id{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--text-3);flex:none;}

/* ---- invoice highlight ---- */
.cm-invoice-box{background:var(--warning-soft);
  border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);
  border-radius:15px;padding:16px;}
.cm-invoice-box .top{display:flex;align-items:center;justify-content:space-between;}
.cm-invoice-box .amt{font-size:24px;font-weight:800;margin:10px 0 4px;}
.cm-invoice-box .pay{margin-top:14px;width:100%;padding:11px;border:none;border-radius:12px;
  background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:13.5px;
  font-weight:700;cursor:pointer;text-decoration:none;display:block;text-align:center;}
.cm-balance{display:flex;align-items:center;justify-content:space-between;margin-top:16px;
  padding-top:16px;border-top:1px solid var(--border-soft);}

/* ---- quick actions ---- */
.cm-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cm-quick a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;
  border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text);
  font-family:inherit;cursor:pointer;text-align:right;transition:.15s;}
.cm-quick a:hover{border-color:var(--primary-soft);color:var(--primary);}
.cm-quick a span{font-size:13px;font-weight:600;}

/* ---- info strip ---- */
.cm-strip{display:flex;align-items:center;gap:14px;background:var(--surface);
  border:1px solid var(--border);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow-sm);}
.cm-strip .ic{width:42px;height:42px;flex:none;border-radius:12px;background:var(--primary-soft);
  color:var(--primary);display:flex;align-items:center;justify-content:center;}
.cm-strip .tx{flex:1;line-height:1.7;font-size:13px;color:var(--text-2);}
.cm-strip .tx b{color:var(--primary);direction:ltr;display:inline-block;}

/* ===================== DATA TABLE ===================== */
.cm-table{overflow:hidden;}
.cm-table-head{display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid var(--border-soft);}
.cm-table-head h3{font-size:16px;font-weight:700;margin:0;}
.cm-table-head .s{font-size:12.5px;color:var(--text-3);margin-top:2px;}
.cm-btn-primary{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border:none;
  border-radius:12px;background:var(--primary);color:var(--on-primary);font-family:inherit;
  font-size:13.5px;font-weight:700;cursor:pointer;text-decoration:none;}
.cm-btn-primary:hover{filter:brightness(1.06);color:var(--on-primary);}

.cm-thead,.cm-trow{display:grid;gap:12px;align-items:center;}
.cm-thead{padding:13px 24px;background:var(--surface-2);font-size:12.5px;
  font-weight:700;color:var(--text-3);}
.cm-trow{padding:17px 24px;border-top:1px solid var(--border-soft);transition:background .12s;}
.cm-trow:hover{background:var(--surface-2);}
.cm-trow .cell-name{display:flex;align-items:center;gap:13px;}
.cm-trow .cell-name .t{font-weight:600;font-size:14px;}
.cm-trow .cell-name .s{font-size:12.5px;color:var(--text-3);margin-top:2px;}
.cm-cellmuted{font-size:13px;color:var(--text-2);}
.cm-cellstrong{font-weight:700;font-size:13.5px;}
.cm-mono{font-family:ui-monospace,monospace;font-size:13px;color:var(--text-2);}
.cm-action-end{text-align:left;}

.w-hidden{display:none !important;}

.cm-btn-ghost{padding:8px 16px;border:1px solid var(--border);border-radius:10px;
  background:var(--surface);color:var(--text);font-family:inherit;font-size:12.5px;
  font-weight:600;cursor:pointer;transition:.12s;text-decoration:none;display:inline-block;}
.cm-btn-ghost:hover{border-color:var(--primary);color:var(--primary);}

/* column templates */
.col-services{grid-template-columns:2.4fr 1fr 1.1fr 1.1fr 1.2fr 1fr;}
.col-domains{grid-template-columns:2.4fr 1fr 1.2fr 1.2fr 1fr 1fr;}
.col-invoices{grid-template-columns:0.9fr 2.2fr 1.2fr 1.2fr 1.2fr 1fr 1fr;}
.col-tickets{grid-template-columns:0.9fr 2.6fr 1.2fr 1fr 1.3fr 1fr;}
.col-emails{grid-template-columns:1.1fr 3fr 0.9fr;}

/* ===================== ALERTS ===================== */
.cm-alert{padding:14px 18px;border-radius:14px;font-size:13.5px;margin-bottom:18px;
  border:1px solid var(--border);background:var(--surface);}
.cm-alert.success{background:var(--success-soft);color:var(--success);
  border-color:color-mix(in srgb,var(--success) 25%,transparent);}
.cm-alert.danger{background:var(--danger-soft);color:var(--danger);
  border-color:color-mix(in srgb,var(--danger) 25%,transparent);}
.cm-alert.warning{background:var(--warning-soft);color:var(--warning);
  border-color:color-mix(in srgb,var(--warning) 25%,transparent);}
.cm-alert.info{background:var(--primary-soft);color:var(--primary);
  border-color:color-mix(in srgb,var(--primary) 25%,transparent);}

/* ===================== FORMS ===================== */
.cm-field{margin-bottom:16px;}
.cm-field label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:7px;}
.cm-field input,.cm-field select,.cm-field textarea{
  width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:12px;
  background:var(--surface-2);color:var(--text);font-family:inherit;font-size:14px;outline:none;}
.cm-field input:focus,.cm-field select:focus,.cm-field textarea:focus{
  border-color:var(--primary);background:var(--surface);}

/* ===================== AUTH (login / register) ===================== */
.cm-auth{height:100vh;display:flex;background:var(--surface);color:var(--text);overflow:hidden;}

@keyframes cmDriftA{from{transform:translateX(-220px);}to{transform:translateX(70vw);}}
@keyframes cmDriftB{from{transform:translateX(-300px);}to{transform:translateX(80vw);}}
@keyframes cmDriftC{from{transform:translateX(-180px);}to{transform:translateX(75vw);}}
@keyframes cmFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes cmTwinkle{0%,100%{opacity:.25;}50%{opacity:.9;}}
@keyframes cmGlow{0%,100%{box-shadow:0 0 60px 14px rgba(255,247,224,.30);}50%{box-shadow:0 0 90px 26px rgba(255,247,224,.45);}}

/* decorative cloud / moon panel */
.cm-auth-deco{position:relative;flex:1.15;min-width:0;overflow:hidden;color:#fff;
  background:linear-gradient(165deg,#0b2444 0%,#16517f 52%,#2f7cb5 100%);
  display:flex;flex-direction:column;justify-content:space-between;padding:46px 50px;}
.cm-auth-deco .a-brand{position:relative;display:flex;align-items:center;gap:12px;}
.cm-auth-deco .a-logo{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.96);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18);
  font-weight:800;font-size:22px;color:var(--primary-2);overflow:hidden;}
.cm-auth-deco .a-logo img{width:38px;height:38px;object-fit:contain;}
.cm-auth-deco .a-name{font-weight:800;font-size:18px;}
.cm-auth-deco .a-sub{font-size:11px;letter-spacing:2px;opacity:.7;}
.cm-auth-deco .a-body{position:relative;max-width:480px;}
.cm-auth-deco .a-badge{display:inline-block;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;margin-bottom:22px;backdrop-filter:blur(4px);}
.cm-auth-deco h1{font-size:36px;font-weight:800;line-height:1.5;margin:0 0 16px;}
.cm-auth-deco .a-lead{font-size:15.5px;line-height:2;opacity:.86;margin:0;max-width:420px;}
.cm-auth-deco .a-foot{position:relative;display:flex;align-items:center;gap:24px;font-size:13px;opacity:.8;flex-wrap:wrap;}
.cm-auth-deco .a-foot span{display:flex;align-items:center;gap:8px;}
.cm-auth-card{margin-top:30px;display:inline-flex;align-items:center;gap:16px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:16px 20px;backdrop-filter:blur(8px);}
.cm-auth-card .ic{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex:none;}
.cm-auth-checks{margin-top:30px;display:flex;flex-direction:column;gap:14px;}
.cm-auth-checks > div{display:flex;align-items:center;gap:13px;font-size:14.5px;}
.cm-auth-checks .ic{width:30px;height:30px;flex:none;border-radius:9px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;}

.cm-star{position:absolute;border-radius:50%;background:#fff;animation:cmTwinkle 4s ease-in-out infinite;}
.cm-moon{position:absolute;top:70px;left:80px;width:96px;height:96px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#fffaf0,#ffeec7 62%,#f4d99a);
  animation:cmFloat 9s ease-in-out infinite,cmGlow 6s ease-in-out infinite;}
.cm-moon::before{content:"";position:absolute;top:18px;left:-14px;width:30px;height:30px;border-radius:50%;background:rgba(216,188,140,.35);}
.cm-moon::after{content:"";position:absolute;top:54px;left:44px;width:16px;height:16px;border-radius:50%;background:rgba(216,188,140,.30);}
.cm-cloud{position:absolute;height:54px;width:170px;border-radius:54px;background:rgba(255,255,255,.85);filter:blur(.4px);}
.cm-cloud::before{content:"";position:absolute;top:-30px;right:34px;width:74px;height:74px;border-radius:50%;background:inherit;}
.cm-cloud::after{content:"";position:absolute;top:-46px;right:84px;width:58px;height:58px;border-radius:50%;background:inherit;}

/* form panel */
.cm-auth-form{flex:1;min-width:440px;max-width:560px;display:flex;flex-direction:column;background:var(--surface);overflow-y:auto;}
.cm-auth-top{display:flex;align-items:center;justify-content:space-between;padding:24px 44px 0;}
.cm-auth-top .hint{font-size:13px;color:var(--text-3);}
.cm-auth-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:24px 56px 30px;}
.cm-auth-inner{width:100%;max-width:392px;margin:0 auto;}
.cm-auth-inner h2{font-size:26px;font-weight:800;margin:0 0 8px;}
.cm-auth-inner .sub{font-size:14px;color:var(--text-3);margin:0 0 26px;line-height:1.8;}
.cm-auth-label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:8px;}
.cm-auth-field{position:relative;margin-bottom:18px;}
.cm-auth-field .fic{position:absolute;top:50%;right:15px;transform:translateY(-50%);color:var(--text-3);display:flex;pointer-events:none;}
.cm-auth-input{width:100%;padding:13px 46px 13px 16px;border:1.5px solid var(--border);border-radius:12px;
  background:var(--field,var(--surface-2));color:var(--text);font-family:inherit;font-size:14px;outline:none;text-align:right;
  transition:border-color .15s,background .15s;}
.cm-auth-input:focus{border-color:var(--primary);background:var(--surface);}
.cm-auth-input.has-eye{padding-left:46px;}
.cm-auth-eye{position:absolute;top:50%;left:10px;transform:translateY(-50%);width:32px;height:32px;display:flex;
  align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-3);cursor:pointer;border-radius:8px;}
.cm-auth-eye:hover{color:var(--primary);}
.cm-auth-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cm-auth-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cm-auth-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;border:none;border-radius:14px;
  background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:0 12px 26px var(--primary-soft);transition:transform .15s,filter .15s;text-decoration:none;}
.cm-auth-cta:hover{filter:brightness(1.07);transform:translateY(-1px);color:var(--on-primary);}
.cm-auth-cta-dark{background:#111;color:#fff;box-shadow:none;}
.cm-auth-cta-dark:hover{background:#222;color:#fff;filter:none;}
.cm-register-simple .cm-auth-top{justify-content:flex-end;}
.cm-register-simple .cm-auth-main{padding-top:12px;}
.cm-register-simple .cm-pw-strength{max-height:0;opacity:0;overflow:hidden;margin:0;transition:max-height .2s,opacity .2s,margin .2s;}
.cm-register-simple .cm-pw-strength.is-visible{max-height:40px;opacity:1;margin:-6px 0 14px;}
.cm-register-simple .cm-auth-check a{text-decoration:underline;}
.cm-auth-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-2);cursor:pointer;user-select:none;line-height:1.8;}
.cm-auth-check a{color:var(--primary);font-weight:700;text-decoration:none;}
.cm-auth-box{width:20px;height:20px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--border);background:var(--field,var(--surface-2));color:transparent;transition:.15s;margin-top:1px;}
.cm-auth-box.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.cm-auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;}
.cm-auth-divider::before,.cm-auth-divider::after{content:"";flex:1;height:1px;background:var(--border);}
.cm-auth-divider span{font-size:12.5px;color:var(--text-3);}
.cm-auth-alt{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:1.5px solid var(--border);
  border-radius:14px;background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
  transition:.15s;text-decoration:none;margin-bottom:10px;}
.cm-auth-alt:hover{border-color:var(--primary);color:var(--primary);}
.cm-auth-foot{text-align:center;font-size:13.5px;color:var(--text-3);margin:24px 0 0;}
.cm-auth-foot a{color:var(--primary);font-weight:700;text-decoration:none;}
.cm-auth-bottom{text-align:center;padding:16px;font-size:12px;color:var(--text-3);border-top:1px solid var(--border-soft);}
.cm-auth-bottom a{color:var(--text-3);}
.cm-auth-grouplabel{font-size:12px;font-weight:700;color:var(--text-3);margin:8px 0 12px;letter-spacing:.3px;}
.cm-auth-iconbtn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:.15s;}
.cm-auth-iconbtn:hover{color:var(--primary);border-color:var(--primary-soft);}

/* password strength meter */
.cm-pw-strength{display:flex;align-items:center;gap:12px;margin:-4px 0 22px;}
.cm-pw-bars{flex:1;display:flex;gap:6px;}
.cm-pw-bars i{flex:1;height:5px;border-radius:3px;background:var(--border);transition:background .2s;}
.cm-pw-label{font-size:12px;font-weight:600;color:var(--text-3);min-width:42px;text-align:left;}

/* WHMCS custom / standard fields rendered inside the auth form */
.cm-auth-form .form-control,.cm-auth-form select,.cm-auth-form textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--border);border-radius:12px;background:var(--field,var(--surface-2));
  color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,background .15s;}
.cm-auth-form .form-control:focus,.cm-auth-form select:focus,.cm-auth-form textarea:focus{border-color:var(--primary);background:var(--surface);}
.cm-auth-form .form-group{margin-bottom:18px;}
.cm-auth-form label{font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:8px;display:inline-block;}
.cm-auth-customfield input[type="text"],
.cm-auth-customfield input[type="tel"],
.cm-auth-customfield input[type="number"],
.cm-auth-customfield select,
.cm-auth-customfield textarea{
  width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;
  background:var(--field,var(--surface-2));color:var(--text);font-family:inherit;font-size:14px;
  outline:none;text-align:right;transition:border-color .15s,background .15s;}
.cm-auth-customfield input:focus,
.cm-auth-customfield select:focus,
.cm-auth-customfield textarea:focus{border-color:var(--primary);background:var(--surface);}

@media (max-width:880px){
  .cm-auth-deco{display:none;}
  .cm-auth-form{min-width:0;max-width:none;flex:1;}
}
@media (max-width:480px){
  .cm-auth-main{padding:22px 22px 24px;}
  .cm-auth-top{padding:18px 22px 0;}
}

/* Fallback: auth markup inside dashboard shell (when cmAuth detection missed) */
.cm-shell:has(.cm-auth){
  display:block !important;
  min-height:100vh;
  background:var(--surface);
}
.cm-shell:has(.cm-auth) .cm-sidebar,
.cm-shell:has(.cm-auth) .cm-header,
.cm-shell:has(.cm-auth) > .cm-main > footer{
  display:none !important;
}
.cm-shell:has(.cm-auth) .cm-main{
  display:block;
  min-height:100vh;
}
.cm-shell:has(.cm-auth) .cm-content{
  padding:0 !important;
  overflow:visible;
}
.cm-shell:has(.cm-auth) .cm-auth{
  min-height:100vh;
}

/* ---- Auth pages: isolate from inherited Bootstrap / parent theme ---- */
body.cm-page-auth{
  overflow:hidden;
  background:var(--surface);
}
body.cm-page-auth #main-body,
body.cm-page-auth .container,
body.cm-page-auth .container-fluid,
body.cm-page-auth section#main-body,
body.cm-page-auth .primary-content{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.cm-auth .container,.cm-auth .container-fluid,.cm-auth .row,.cm-auth .col-sm-12,.cm-auth .col-md-12{
  width:auto;max-width:none;margin:0;padding:0;
}
.cm-auth .form-control,
.cm-auth .cm-auth-input,
.cm-auth select,
.cm-auth textarea{
  box-shadow:none !important;
  height:auto;
  line-height:normal;
}
.cm-auth .alert{
  padding:14px 18px;border-radius:13px;font-size:13.5px;margin-bottom:18px;
  border:1px solid var(--border);background:var(--surface);
}
.cm-auth .alert-danger,.cm-auth .alert-error{background:var(--danger-soft);color:var(--danger);
  border-color:color-mix(in srgb,var(--danger) 25%,transparent);}
.cm-auth .alert-success{background:var(--success-soft);color:var(--success);
  border-color:color-mix(in srgb,var(--success) 25%,transparent);}
.cm-auth .alert-info{background:var(--primary-soft);color:var(--primary);
  border-color:color-mix(in srgb,var(--primary) 25%,transparent);}
.cm-auth .providerLinkingFeedback{margin-bottom:16px;}
.cm-auth .social-signin-btns,.cm-auth .social-signin-btns .btn{
  display:flex;flex-direction:column;gap:10px;width:100%;
}
.cm-auth .social-signin-btns .btn{
  display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;
  border:1.5px solid var(--border);border-radius:14px;background:var(--surface);
  color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
  transition:.15s;text-decoration:none;
}
.cm-auth .social-signin-btns .btn:hover{border-color:var(--primary);color:var(--primary);}

/* ===================== EMPTY STATE ===================== */
.cm-empty{text-align:center;padding:48px 24px;color:var(--text-3);}
.cm-empty .ic{width:64px;height:64px;border-radius:18px;margin:0 auto 16px;
  background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-3);}
.cm-empty h4{margin:0 0 6px;font-size:16px;color:var(--text);}

/* ===================== TICKET VIEW / SUBMIT ===================== */
.cm-ticket-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start;}
.cm-ticket-main,.cm-ticket-side{display:flex;flex-direction:column;gap:18px;min-width:0;}
.cm-ticket-side{position:sticky;top:96px;}
.cm-ticket-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;
  padding:22px 24px;box-shadow:var(--shadow-sm);}
.cm-ticket-card.pad-sm{padding:20px 22px;}
.cm-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.cm-ticket-head h1{font-size:21px;font-weight:800;margin:0 0 12px;line-height:1.45;}
.cm-ticket-meta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:13px;color:var(--text-3);}
.cm-ticket-meta b,.cm-ticket-meta .cm-mono{color:var(--text-2);font-weight:600;}
.cm-ticket-meta .ic{display:inline-flex;align-items:center;gap:6px;}

.cm-ticket-msg{background:var(--surface);border:1px solid var(--border);border-radius:20px;
  padding:20px 22px;box-shadow:var(--shadow-sm);border-right:3px solid var(--border);}
.cm-ticket-msg.staff{border-right-color:var(--primary);}
.cm-ticket-msg-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.cm-ticket-msg-head .spacer{flex:1;}
.cm-ticket-msg-num{font-size:12px;color:var(--text-3);font-family:ui-monospace,monospace;}
.cm-ticket-msg-body{font-size:14.5px;line-height:2.15;color:var(--text-2);}
.cm-ticket-msg-body .message{padding:0 !important;}
.cm-ticket-role{font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;
  background:var(--surface-2);color:var(--text-3);}
.cm-ticket-msg.staff .cm-ticket-role{background:var(--primary-soft);color:var(--primary);}
.cm-ticket-who .name{font-weight:700;font-size:14.5px;}
.cm-ticket-who .time{font-size:12px;color:var(--text-3);margin-top:2px;}

.cm-ticket-avatar{width:44px;height:44px;flex:none;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-weight:700;font-size:17px;}
.cm-ticket-avatar.customer{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;}
.cm-ticket-avatar.staff{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.cm-ticket-avatar.staff img{width:30px;height:30px;object-fit:contain;}
.cm-ticket-avatar.xs{width:26px;height:26px;border-radius:8px;}
.cm-ticket-avatar.xs img{width:18px;height:18px;}

.cm-ticket-attach{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 14px;
  border:1px solid var(--border);border-radius:12px;background:var(--surface-2);font-size:13px;
  color:var(--text-2);text-decoration:none;transition:.15s;}
.cm-ticket-attach:hover{border-color:var(--primary);color:var(--primary);}
.cm-ticket-attach .sz{color:var(--text-3);}
.cm-ticket-attach-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.cm-ticket-attach-title{font-size:13px;font-weight:700;color:var(--text-2);margin-bottom:4px;}

.cm-ticket-composer-head{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.cm-ticket-composer-head h3{font-size:15px;font-weight:700;margin:0;}
.cm-ticket-chips{display:flex;gap:8px;flex-wrap:wrap;}
.cm-ticket-chip{font-size:12px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);
  border-radius:999px;padding:5px 12px;cursor:pointer;transition:.15s;font-family:inherit;}
.cm-ticket-chip:hover{border-color:var(--primary);color:var(--primary);}
.cm-ticket-composer textarea{width:100%;min-height:130px;resize:vertical;padding:15px 16px;
  border:1.5px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--text);
  font-family:inherit;font-size:14px;line-height:1.9;outline:none;transition:border-color .15s,background .15s;}
.cm-ticket-composer textarea:focus{border-color:var(--primary);background:var(--surface);}
.cm-ticket-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:14px;flex-wrap:wrap;}
.cm-ticket-file{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1.5px dashed var(--border);
  border-radius:12px;color:var(--text-3);font-size:13px;cursor:pointer;transition:.15s;}
.cm-ticket-file:hover{border-color:var(--primary);color:var(--primary);}
.cm-ticket-file input{display:none;}
.cm-ticket-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cm-btn-danger-ghost{display:inline-flex;align-items:center;gap:7px;padding:12px 20px;border:1px solid var(--danger);
  border-radius:12px;background:transparent;color:var(--danger);font-family:inherit;font-size:13.5px;
  font-weight:700;cursor:pointer;transition:.15s;text-decoration:none;}
.cm-btn-danger-ghost:hover{background:var(--danger-soft);}
.cm-btn-send{display:inline-flex;align-items:center;gap:7px;padding:12px 20px;border:none;border-radius:12px;
  background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:13.5px;font-weight:700;
  cursor:pointer;transition:.15s;}
.cm-btn-send:hover{filter:brightness(1.06);}
.cm-btn-send:disabled{opacity:.45;cursor:not-allowed;}

.cm-ticket-closed{text-align:center;padding:26px;}
.cm-ticket-closed .ic{width:52px;height:52px;margin:0 auto 14px;border-radius:15px;
  background:var(--success-soft);color:var(--success);display:flex;align-items:center;justify-content:center;}
.cm-ticket-closed h3{font-size:16px;font-weight:700;margin:0 0 6px;}
.cm-ticket-closed p{font-size:13.5px;color:var(--text-3);margin:0 0 18px;}

.cm-ticket-info h3{font-size:15px;font-weight:700;margin:0 0 18px;}
.cm-ticket-info-rows{display:flex;flex-direction:column;gap:15px;}
.cm-ticket-info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.cm-ticket-info-row .lbl{font-size:13.5px;color:var(--text-3);}
.cm-ticket-info-row .val{font-size:13.5px;font-weight:600;}
.cm-ticket-info-row .val.staff{display:flex;align-items:center;gap:8px;}
.cm-ticket-divider{height:1px;background:var(--border-soft);}

.cm-ticket-kb h3{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;margin:0 0 6px;}
.cm-ticket-kb .hint{font-size:12.5px;color:var(--text-3);margin-bottom:16px;display:block;}
.cm-ticket-kb-links{display:flex;flex-direction:column;gap:4px;}
.cm-ticket-kb-links a{display:flex;align-items:center;gap:11px;padding:11px;border-radius:12px;
  text-decoration:none;color:var(--text-2);font-size:13.5px;transition:background .15s,color .15s;}
.cm-ticket-kb-links a:hover{background:var(--surface-2);color:var(--primary);}
.cm-ticket-kb-links a span{flex:1;}

.cm-ticket-submit .cm-field textarea{min-height:140px;line-height:1.9;}
.cm-ticket-dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.cm-ticket-dept{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;
  text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;display:block;}
.cm-ticket-dept:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);color:inherit;}
.cm-ticket-dept .name{font-weight:700;font-size:15px;margin-bottom:6px;}
.cm-ticket-dept .desc{font-size:13px;color:var(--text-3);line-height:1.7;}

.cm-ticket-composer .cm-ticket-attachments-field > label:first-child{display:none;}
.cm-ticket-composer .attachment-group{display:none;}
.cm-ticket-composer .file-upload{display:none;}
.cm-ticket-composer .text-muted{font-size:12px;color:var(--text-3);margin-top:8px;}
.cm-ticket-composer #fileUploadsContainer:empty{display:none;}

.cm-trow-unread{background:color-mix(in srgb,var(--primary) 6%,var(--surface));}
.cm-trow-unread:hover{background:color-mix(in srgb,var(--primary) 10%,var(--surface));}

.cm-ticket-kb-suggestions{margin:0 0 18px;padding:14px 16px;border-radius:14px;
  border:1px solid var(--border);background:var(--surface-2);font-size:13.5px;}
.cm-ticket-kb-suggestions a{color:var(--primary);font-weight:600;text-decoration:none;}
.cm-ticket-kb-suggestions a:hover{text-decoration:underline;}
.cm-captcha-center{text-align:center;margin:18px 0;}

.cm-ticket-msg-body.markdown-content img{max-width:100%;height:auto;border-radius:10px;}
.cm-ticket-msg-body.markdown-content pre{background:var(--surface-2);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;overflow-x:auto;font-size:13px;}
.cm-ticket-msg-body.markdown-content code{background:var(--surface-2);padding:2px 6px;border-radius:5px;font-size:13px;}
.cm-ticket-msg-body.markdown-content blockquote{border-right:3px solid var(--primary);margin:12px 0;padding:8px 14px;color:var(--text-3);}
.cm-ticket-msg-body.markdown-content ul,.cm-ticket-msg-body.markdown-content ol{padding-right:20px;margin:10px 0;}
.cm-ticket-msg-body.markdown-content a{color:var(--primary);}

.cm-ticket-rating{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft);}
.cm-ticket-rating .star{display:inline-block;font-size:18px;line-height:1;cursor:pointer;
  color:var(--border);transition:color .15s;margin-left:2px;}
.cm-ticket-rating .star.active,.cm-ticket-rating .rating-done .star.active{color:var(--warning);}

.cm-ticket-submit .custom-file{display:flex;align-items:stretch;border:1px solid var(--border);
  border-radius:11px;overflow:hidden;background:var(--surface-2);}
.cm-ticket-submit .custom-file-label{flex:1;padding:10px 14px;margin:0;border:none;background:transparent;
  display:flex;align-items:center;font-size:13.5px;color:var(--text-2);}
.cm-ticket-submit .custom-file-input{position:absolute;opacity:0;width:0;height:0;}
.cm-ticket-submit .attachment-group{display:flex;gap:8px;align-items:stretch;}

@media (max-width:860px){
  .cm-trow.col-tickets,
  .cm-trow.col-services,
  .cm-trow.col-domains,
  .cm-trow.col-invoices{grid-template-columns:1fr !important;gap:10px;padding:16px 18px;}
  .cm-trow.col-emails{grid-template-columns:1fr !important;gap:10px;padding:16px 18px;}
  .cm-trow.col-emails > div::before,
  .cm-trow.col-tickets > div::before,
  .cm-trow > div[data-label]::before{content:attr(data-label) " · ";color:var(--text-3);font-size:12px;font-weight:600;}
  .cm-trow.col-emails > div:first-child{font-weight:600;}
  .cm-trow.col-tickets > div:first-child::before{content:"";}
  .cm-trow.col-tickets > div:first-child{font-weight:700;}
  .cm-trow > .cell-name:first-child{font-weight:700;}
  .cm-trow > .cell-name::before{content:none !important;}
  .cm-trow.col-invoices > div:first-child{font-weight:700;}
}

.cm-ticket-composer .form-group{margin-bottom:0;}
.cm-ticket-composer .row{display:none;}

@media (max-width:1100px){
  .cm-ticket-layout{grid-template-columns:1fr;}
  .cm-ticket-side{position:static;}
}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1100px){
  .cm-statgrid{grid-template-columns:repeat(2,1fr);}
  .cm-cols{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .cm-sidebar{position:fixed;right:0;z-index:60;transform:translateX(100%);transition:transform .25s;}
  .cm-sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg);}
  .cm-search{display:none;}
  .cm-thead{display:none;}
  .cm-trow{grid-template-columns:1fr !important;gap:8px;}
  .cm-action-end{text-align:right;}
}
@media (max-width:560px){
  .cm-statgrid{grid-template-columns:1fr;}
  .cm-promo{flex-direction:column;align-items:flex-start;}
  .cm-promo .mock{width:100%;}
  .cm-content{padding:18px;}
  .cm-header{padding:12px 16px;}
}

/* mobile menu toggle (hidden on desktop) */
.cm-menu-toggle{display:none;}
@media (max-width:860px){.cm-menu-toggle{display:flex;}}

/* ---- mobile header: drop the space-hogging items so it fits small screens ---- */
@media (max-width:768px){
  .cm-header{gap:8px;padding:10px 14px;}
  .cm-header .cm-search{display:none;}            /* search bar hidden on mobile */
  .cm-header > div:nth-child(3){flex:1;}          /* keep the (now empty) search slot as a flexible spacer */
  .cm-title{font-size:16px;}
  .cm-subtitle{display:none;}
  .cm-userchip .uname,.cm-userchip .uid,.cm-userchip > svg{display:none;}
  .cm-userchip{padding:4px;gap:0;}
  .cm-iconbtn{width:38px;height:38px;}
}
@media (max-width:480px){
  .cm-header{gap:6px;}
  .cm-header .cm-iconbtn[title="اعلان‌ها"]{display:none;} /* trim to essentials on very small screens */
  .cm-content{padding:14px;}
}

/* =========================================================
   WHMCS / Bootstrap compatibility layer
   Themes every INHERITED client-area page (service details,
   invoice view, ticket view, account, security, register …)
   so non-overridden pages match the Cloudemoon design.
   Scoped to .cm-content so it never touches the .cm-* shell.
   ========================================================= */

/* ---- grid ---- */
.cm-content .container,
.cm-content .container-fluid{width:100%;max-width:1320px;margin:0 auto;padding:0;}
.cm-content .row{display:flex;flex-wrap:wrap;margin-left:-11px;margin-right:-11px;}
.cm-content [class*="col-"]{padding-left:11px;padding-right:11px;width:100%;}
.cm-content .col-xs-1,.cm-content .col-sm-1,.cm-content .col-md-1,.cm-content .col-lg-1{width:8.3333%;}
.cm-content .col-xs-2,.cm-content .col-sm-2,.cm-content .col-md-2,.cm-content .col-lg-2{width:16.6667%;}
.cm-content .col-xs-3,.cm-content .col-sm-3,.cm-content .col-md-3,.cm-content .col-lg-3{width:25%;}
.cm-content .col-xs-4,.cm-content .col-sm-4,.cm-content .col-md-4,.cm-content .col-lg-4{width:33.3333%;}
.cm-content .col-xs-5,.cm-content .col-sm-5,.cm-content .col-md-5,.cm-content .col-lg-5{width:41.6667%;}
.cm-content .col-xs-6,.cm-content .col-sm-6,.cm-content .col-md-6,.cm-content .col-lg-6{width:50%;}
.cm-content .col-xs-7,.cm-content .col-sm-7,.cm-content .col-md-7,.cm-content .col-lg-7{width:58.3333%;}
.cm-content .col-xs-8,.cm-content .col-sm-8,.cm-content .col-md-8,.cm-content .col-lg-8{width:66.6667%;}
.cm-content .col-xs-9,.cm-content .col-sm-9,.cm-content .col-md-9,.cm-content .col-lg-9{width:75%;}
.cm-content .col-xs-10,.cm-content .col-sm-10,.cm-content .col-md-10,.cm-content .col-lg-10{width:83.3333%;}
.cm-content .col-xs-11,.cm-content .col-sm-11,.cm-content .col-md-11,.cm-content .col-lg-11{width:91.6667%;}
.cm-content .col-xs-12,.cm-content .col-sm-12,.cm-content .col-md-12,.cm-content .col-lg-12{width:100%;}
/* Bootstrap 4 breakpoint-less columns + xl + col/col-auto (inherited twenty-one / standard_cart use these heavily) */
.cm-content .col{flex:1 0 0%;width:auto;max-width:100%;padding-left:11px;padding-right:11px;}
.cm-content .col-auto{flex:0 0 auto;width:auto;max-width:100%;}
.cm-content .col-1,.cm-content .col-xl-1{width:8.3333%;}
.cm-content .col-2,.cm-content .col-xl-2{width:16.6667%;}
.cm-content .col-3,.cm-content .col-xl-3{width:25%;}
.cm-content .col-4,.cm-content .col-xl-4{width:33.3333%;}
.cm-content .col-5,.cm-content .col-xl-5{width:41.6667%;}
.cm-content .col-6,.cm-content .col-xl-6{width:50%;}
.cm-content .col-7,.cm-content .col-xl-7{width:58.3333%;}
.cm-content .col-8,.cm-content .col-xl-8{width:66.6667%;}
.cm-content .col-9,.cm-content .col-xl-9{width:75%;}
.cm-content .col-10,.cm-content .col-xl-10{width:83.3333%;}
.cm-content .col-11,.cm-content .col-xl-11{width:91.6667%;}
.cm-content .col-12,.cm-content .col-xl-12{width:100%;}
/* Bootstrap 4 float utilities (inherited pages — physical direction) */
.cm-content .float-right{float:right;}
.cm-content .float-left{float:left;}
.cm-content .float-none{float:none;}

/* ---- utilities ---- */
.cm-content .text-center{text-align:center;}
.cm-content .text-right{text-align:right;}
.cm-content .text-left{text-align:left;}
.cm-content .pull-right{float:left;}      /* RTL: visually to the inline-end */
.cm-content .pull-left{float:right;}
.cm-content .clearfix::after{content:"";display:table;clear:both;}
.cm-content .hidden{display:none !important;}
.cm-content .text-muted{color:var(--text-3) !important;}
.cm-content .text-success{color:var(--success) !important;}
.cm-content .text-danger{color:var(--danger) !important;}
.cm-content .text-warning{color:var(--warning) !important;}
.cm-content .text-info,.cm-content .text-primary{color:var(--primary) !important;}
.cm-content .list-unstyled{list-style:none;padding:0;margin:0;}
.cm-content .list-inline{list-style:none;padding:0;margin:0;display:flex;gap:14px;flex-wrap:wrap;}
.cm-content hr{border:none;border-top:1px solid var(--border-soft);margin:18px 0;}
.cm-content small,.cm-content .small{font-size:85%;color:var(--text-3);}
.cm-content h1,.cm-content h2,.cm-content h3,.cm-content h4,.cm-content h5{color:var(--text);font-weight:700;line-height:1.4;}
.cm-content .page-header{border-bottom:1px solid var(--border-soft);padding-bottom:12px;margin:0 0 20px;}

/* ---- panels / cards / wells ---- */
.cm-content .panel,.cm-content .card{background:var(--surface);border:1px solid var(--border);
  border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:22px;overflow:hidden;}
.cm-content .panel-heading,.cm-content .card-header{padding:16px 20px;border-bottom:1px solid var(--border-soft);
  background:transparent;font-weight:700;font-size:15px;color:var(--text);}
.cm-content .panel-title,.cm-content .card-title{margin:0;font-size:15px;font-weight:700;}
.cm-content .panel-body,.cm-content .card-body{padding:20px;}
.cm-content .panel-footer,.cm-content .card-footer{padding:14px 20px;border-top:1px solid var(--border-soft);
  background:var(--surface-2);}
.cm-content .panel-primary>.panel-heading,.cm-content .panel-info>.panel-heading{background:var(--primary-soft);color:var(--primary);}
.cm-content .panel-danger>.panel-heading{background:var(--danger-soft);color:var(--danger);}
.cm-content .panel-success>.panel-heading{background:var(--success-soft);color:var(--success);}
.cm-content .panel-warning>.panel-heading{background:var(--warning-soft);color:var(--warning);}
.cm-content .well{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:18px;
  box-shadow:none;margin-bottom:18px;}

/* ---- buttons ---- */
.cm-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;
  border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);
  font-family:inherit;font-size:13.5px;font-weight:600;line-height:1.4;cursor:pointer;text-decoration:none;
  transition:.15s;}
.cm-content .btn:hover{border-color:var(--primary);color:var(--primary);}
.cm-content .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.cm-content .btn-primary:hover{filter:brightness(1.06);color:var(--on-primary);border-color:var(--primary);}
.cm-content .btn-success{background:var(--success);border-color:var(--success);color:#fff;}
.cm-content .btn-success:hover{filter:brightness(1.06);color:#fff;border-color:var(--success);}
.cm-content .btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;}
.cm-content .btn-danger:hover{filter:brightness(1.06);color:#fff;border-color:var(--danger);}
.cm-content .btn-warning{background:var(--warning);border-color:var(--warning);color:#fff;}
.cm-content .btn-warning:hover{filter:brightness(1.06);color:#fff;border-color:var(--warning);}
.cm-content .btn-info{background:var(--primary-2);border-color:var(--primary-2);color:#fff;}
.cm-content .btn-info:hover{filter:brightness(1.06);color:#fff;border-color:var(--primary-2);}
.cm-content .btn-default{background:var(--surface);}
.cm-content .btn-link{background:transparent;border-color:transparent;color:var(--primary);}
.cm-content .btn-link:hover{color:var(--primary-2);border-color:transparent;text-decoration:underline;}
.cm-content .btn-xs,.cm-content .btn-sm{padding:6px 12px;font-size:12.5px;border-radius:9px;}
.cm-content .btn-lg{padding:13px 22px;font-size:15px;border-radius:13px;}
.cm-content .btn-block{display:flex;width:100%;}
.cm-content .btn-group,.cm-content .btn-toolbar{display:inline-flex;gap:6px;flex-wrap:wrap;}

/* ---- tables ---- */
.cm-content .table{width:100%;border-collapse:collapse;font-size:13.5px;background:transparent;margin-bottom:18px;}
.cm-content .table>thead>tr>th,.cm-content .table>thead>tr>td,.cm-content .table th{text-align:right;
  padding:13px 14px;background:var(--surface-2);color:var(--text-3);font-weight:700;font-size:12.5px;
  border-bottom:1px solid var(--border);}
.cm-content .table>tbody>tr>td,.cm-content .table td{padding:14px;border-top:1px solid var(--border-soft);
  color:var(--text-2);vertical-align:middle;}
.cm-content .table>tbody>tr>td a{font-weight:600;}
.cm-content .table-hover>tbody>tr:hover{background:var(--surface-2);}
.cm-content .table-striped>tbody>tr:nth-child(odd){background:var(--surface-2);}
.cm-content .table-bordered,.cm-content .table-bordered>tbody>tr>td,.cm-content .table-bordered>thead>tr>th{
  border:1px solid var(--border);}
.cm-content .table-responsive{overflow-x:auto;border-radius:14px;}

/* ---- forms ---- */
.cm-content .form-group{margin-bottom:16px;}
.cm-content label,.cm-content .control-label{font-size:13px;font-weight:600;color:var(--text-2);
  margin-bottom:6px;display:inline-block;}
.cm-content .form-control,
.cm-content input[type="text"],.cm-content input[type="email"],.cm-content input[type="password"],
.cm-content input[type="number"],.cm-content input[type="tel"],.cm-content input[type="url"],
.cm-content input[type="search"],.cm-content input[type="date"],.cm-content select,.cm-content textarea{
  width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);
  color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,background .15s;}
.cm-content .form-control:focus,
.cm-content input:focus,.cm-content select:focus,.cm-content textarea:focus{
  border-color:var(--primary);background:var(--surface);}
.cm-content textarea.form-control,.cm-content textarea{min-height:120px;resize:vertical;}
.cm-content .help-block{font-size:12px;color:var(--text-3);margin-top:5px;}
.cm-content .has-error .form-control,.cm-content .has-error input,.cm-content .has-error select{border-color:var(--danger);}
.cm-content .has-error .control-label,.cm-content .has-error .help-block{color:var(--danger);}
.cm-content .has-success .form-control{border-color:var(--success);}
.cm-content .checkbox,.cm-content .radio{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-2);}
.cm-content .checkbox input,.cm-content .radio input,.cm-content input[type="checkbox"],.cm-content input[type="radio"]{
  width:auto;accent-color:var(--primary);}
.cm-content .input-group{display:flex;gap:6px;align-items:stretch;}
.cm-content .input-group>.form-control{flex:1;}
.cm-content .input-group-addon,.cm-content .input-group-btn{display:flex;align-items:center;padding:0 12px;
  border:1px solid var(--border);background:var(--surface-3);border-radius:11px;color:var(--text-2);font-size:13px;}
.cm-content .form-horizontal .control-label{padding-top:10px;text-align:right;}

/* ---- alerts ---- */
.cm-content .alert{padding:14px 18px;border-radius:13px;font-size:13.5px;margin-bottom:18px;
  border:1px solid var(--border);background:var(--surface);}
.cm-content .alert-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,transparent);}
.cm-content .alert-danger,.cm-content .alert-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent);}
.cm-content .alert-warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 25%,transparent);}
.cm-content .alert-info{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,transparent);}

/* ---- labels & badges ---- */
.cm-content .label{display:inline-block;white-space:nowrap;font-size:11.5px;font-weight:700;padding:4px 9px;
  border-radius:7px;background:var(--surface-2);color:var(--text-3);}
.cm-content .label-success{background:var(--success-soft);color:var(--success);}
.cm-content .label-danger,.cm-content .label-important{background:var(--danger-soft);color:var(--danger);}
.cm-content .label-warning{background:var(--warning-soft);color:var(--warning);}
.cm-content .label-info,.cm-content .label-primary{background:var(--primary-soft);color:var(--primary);}
.cm-content .label-default{background:var(--surface-2);color:var(--text-3);}
.cm-content .badge{display:inline-block;min-width:20px;padding:3px 8px;border-radius:9px;font-size:12px;
  font-weight:700;text-align:center;background:var(--primary-soft);color:var(--primary);}

/* ---- tabs & pills ---- */
.cm-content .nav-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);
  margin:0 0 20px;padding:0;list-style:none;}
.cm-content .nav-tabs>li{margin-bottom:-1px;}
.cm-content .nav-tabs>li>a{display:block;padding:10px 16px;border-radius:11px 11px 0 0;color:var(--text-2);
  text-decoration:none;font-weight:600;font-size:13.5px;border:1px solid transparent;}
.cm-content .nav-tabs>li>a:hover{background:var(--surface-2);color:var(--text);}
.cm-content .nav-tabs>li.active>a{background:var(--surface);color:var(--primary);
  border-color:var(--border);border-bottom-color:var(--surface);}
.cm-content .nav-pills{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 18px;}
.cm-content .nav-pills>li>a{display:block;padding:9px 16px;border-radius:11px;color:var(--text-2);
  text-decoration:none;font-weight:600;font-size:13.5px;}
.cm-content .nav-pills>li.active>a{background:var(--primary-soft);color:var(--primary);}
.cm-content .tab-content{padding-top:4px;}

/* ---- list group ---- */
.cm-content .list-group{border-radius:14px;overflow:hidden;border:1px solid var(--border);
  list-style:none;padding:0;margin:0 0 18px;}
.cm-content .list-group-item{padding:13px 18px;background:var(--surface);border-top:1px solid var(--border-soft);
  color:var(--text-2);font-size:13.5px;display:block;text-decoration:none;}
.cm-content .list-group-item:first-child{border-top:none;}
.cm-content a.list-group-item:hover{background:var(--surface-2);color:var(--text);}
.cm-content .list-group-item.active{background:var(--primary-soft);color:var(--primary);font-weight:700;}

/* ---- breadcrumb & pagination ---- */
.cm-content .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 18px;
  font-size:13px;color:var(--text-3);}
.cm-content .breadcrumb>li+li::before{content:"‹";padding:0 6px;color:var(--text-3);}
.cm-content .pagination{display:inline-flex;gap:6px;list-style:none;padding:0;margin:18px 0;}
.cm-content .pagination>li>a,.cm-content .pagination>li>span{display:flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:10px;
  background:var(--surface);color:var(--text-2);text-decoration:none;font-size:13.5px;font-weight:600;}
.cm-content .pagination>li.active>a,.cm-content .pagination>li.active>span{background:var(--primary);
  border-color:var(--primary);color:var(--on-primary);}
.cm-content .pagination>li.disabled>span{opacity:.5;}

/* ---- dropdown ---- */
.cm-content .dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:13px;
  box-shadow:var(--shadow);padding:7px;list-style:none;margin:6px 0;min-width:180px;}
.cm-content .dropdown-menu>li>a{display:block;padding:9px 12px;border-radius:9px;color:var(--text-2);
  text-decoration:none;font-size:13.5px;}
.cm-content .dropdown-menu>li>a:hover{background:var(--surface-2);color:var(--primary);}
.cm-content .dropdown-menu .divider{height:1px;background:var(--border-soft);margin:6px 0;}

/* ---- modal ---- */
.cm-content .modal-content,.modal-content{background:var(--surface);border:1px solid var(--border);
  border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;}
.modal-header{padding:18px 22px;border-bottom:1px solid var(--border-soft);font-weight:700;}
.modal-body{padding:22px;}
.modal-footer{padding:14px 22px;border-top:1px solid var(--border-soft);background:var(--surface-2);
  display:flex;gap:8px;justify-content:flex-start;}

/* ---- progress ---- */
.cm-content .progress{height:10px;background:var(--surface-3);border-radius:8px;overflow:hidden;margin-bottom:12px;}
.cm-content .progress-bar{background:var(--primary);height:100%;color:#fff;font-size:10px;line-height:10px;}
.cm-content .progress-bar-success{background:var(--success);}
.cm-content .progress-bar-warning{background:var(--warning);}
.cm-content .progress-bar-danger{background:var(--danger);}

/* ---- misc WHMCS bits ---- */
.cm-content .secondary-actions,.cm-content .btn-group-vertical{display:flex;flex-direction:column;gap:8px;}
.cm-content .domain-checker-availability{border-radius:14px;overflow:hidden;}
.cm-content fieldset{border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:18px;}
.cm-content legend{font-size:14px;font-weight:700;padding:0 8px;width:auto;border:none;margin:0;}

/* ---- Bootstrap-JS shim structural CSS (no Bootstrap loaded; see js/cloudemoon-bs-shim.js) ---- */
/* modal overlay + backdrop (elements live in markup but overlay the viewport when opened) */
.modal{position:fixed;inset:0;z-index:1050;display:none;overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;outline:0;padding:20px;}
.modal.cm-open,.modal.show,.modal.in{display:flex;align-items:flex-start;justify-content:center;}
.modal-dialog{position:relative;width:100%;max-width:520px;margin:6vh auto;pointer-events:none;}
.modal.cm-open .modal-dialog,.modal.show .modal-dialog{pointer-events:auto;
  animation:cmModalIn .18s ease;}
@keyframes cmModalIn{from{opacity:0;transform:translateY(-14px);}to{opacity:1;transform:none;}}
.modal-backdrop{position:fixed;inset:0;z-index:1040;background:rgba(15,28,43,.55);opacity:0;
  transition:opacity .15s;}
.modal-backdrop.show,.modal-backdrop.in{opacity:1;}
body.modal-open{overflow:hidden;}
.modal .close{background:none;border:none;font-size:24px;line-height:1;color:var(--text-3);
  cursor:pointer;opacity:.8;padding:0;}
.modal .close:hover{opacity:1;color:var(--danger);}

/* dropdown show/hide (Bootstrap CSS not present) */
.cm-content .dropdown,.cm-content .btn-group{position:relative;}
.cm-content .dropdown-menu{display:none;position:absolute;z-index:1000;top:100%;inset-inline-end:0;}
.cm-content .dropdown.open>.dropdown-menu,.cm-content .dropdown.show>.dropdown-menu,
.cm-content .btn-group.open>.dropdown-menu,.cm-content .btn-group.show>.dropdown-menu,
.cm-content .dropdown-menu.show{display:block;}
.cm-content .dropdown-item{display:block;padding:9px 12px;border-radius:9px;color:var(--text-2);
  text-decoration:none;font-size:13.5px;white-space:nowrap;}
.cm-content .dropdown-item:hover{background:var(--surface-2);color:var(--primary);}

/* tab panes show/hide */
.cm-content .tab-content>.tab-pane{display:none;}
.cm-content .tab-content>.tab-pane.active{display:block;}

/* collapse */
.cm-content .collapse:not(.show):not(.in){display:none;}

/* tooltip (shim) */
.cm-tip{position:absolute;z-index:1080;background:var(--text);color:#fff;font-size:12px;
  font-weight:600;padding:6px 10px;border-radius:8px;pointer-events:none;opacity:0;
  transition:opacity .12s;max-width:240px;text-align:center;box-shadow:var(--shadow);}
.cm-tip.show{opacity:1;}
/* popover (shim) — e.g. checkout CVV help image */
.cm-pop{position:absolute;z-index:1085;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:0;max-width:280px;opacity:0;
  transition:opacity .12s;overflow:hidden;}
.cm-pop.show{opacity:1;}
.cm-pop-title{padding:9px 13px;font-size:13px;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--border-soft);background:var(--surface-2);}
.cm-pop-body{padding:12px 13px;font-size:13px;color:var(--text-2);}
.cm-pop-body img{max-width:100%;display:block;border-radius:6px;}

/* responsive grid stacking */
@media (max-width:991px){
  .cm-content [class*="col-md-"],.cm-content [class*="col-lg-"]{width:100%;}
}
@media (max-width:767px){
  .cm-content [class*="col-sm-"]{width:100%;}
  .cm-content .row{margin-left:0;margin-right:0;}
}

/* =================================================================
   STOCK standard_cart ORDER FORM — Cloudemoon skin
   Styles WHMCS's default templates/orderforms/standard_cart markup with the
   Cloudemoon design. Scoped ".cm-content #order-standard_cart" so it overrides
   standard_cart's own all.css (same id, lower specificity) and isn't broken by
   the generic compatibility layer above.
   ================================================================= */
.cm-content #order-standard_cart{max-width:1240px;margin:0 auto;color:var(--text);font-size:14px;}

/* let standard_cart's own float/grid work inside the shell */
.cm-content #order-standard_cart .pull-right,.cm-content #order-standard_cart .float-right{float:right!important;}
.cm-content #order-standard_cart .pull-left,.cm-content #order-standard_cart .float-left{float:left!important;}

/* layout columns */
.cm-content #order-standard_cart .cart-sidebar{width:25%;}
.cm-content #order-standard_cart .cart-body{width:75%;}
.cm-content #order-standard_cart .secondary-cart-body{width:62%;}
.cm-content #order-standard_cart .secondary-cart-sidebar{width:38%;}
@media (max-width:1199px){
  .cm-content #order-standard_cart .cart-sidebar{display:none;}
  .cm-content #order-standard_cart .cart-body{width:100%;}
}
@media (max-width:991px){
  .cm-content #order-standard_cart .secondary-cart-body,
  .cm-content #order-standard_cart .secondary-cart-sidebar{width:100%;float:none;}
}

/* headings */
.cm-content #order-standard_cart .header-lined{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.cm-content #order-standard_cart .header-lined h1,.cm-content #order-standard_cart .font-size-36{font-size:1.55rem!important;font-weight:800;color:var(--text);margin:0;line-height:1.45;}
.cm-content #order-standard_cart .sub-heading{margin:22px 0 16px;border-bottom:1px solid var(--border-soft);padding-bottom:10px;}
.cm-content #order-standard_cart .sub-heading span,.cm-content #order-standard_cart .primary-bg-color{background:transparent!important;color:var(--text)!important;font-size:15px;font-weight:800;padding:0!important;}

/* category sidebar */
.cm-content #order-standard_cart .cart-sidebar .panel,
.cm-content #order-standard_cart .cart-sidebar .card,
.cm-content #order-standard_cart .sidebar .panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;}
.cm-content #order-standard_cart .cart-sidebar .panel-heading,
.cm-content #order-standard_cart .cart-sidebar .card-header{background:transparent;border-bottom:1px solid var(--border-soft);padding:13px 16px;font-weight:800;font-size:14px;}
.cm-content #order-standard_cart .cart-sidebar .list-group{padding:6px;}
.cm-content #order-standard_cart .cart-sidebar .list-group-item{border:none;border-radius:11px;background:transparent;color:var(--text-2);padding:10px 12px;font-size:13.5px;font-weight:600;}
.cm-content #order-standard_cart .cart-sidebar .list-group-item:hover{background:var(--surface-2);color:var(--primary);}
.cm-content #order-standard_cart .cart-sidebar .list-group-item.active{background:var(--primary-soft);color:var(--primary);}

/* product cards */
.cm-content #order-standard_cart .products .product{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:18px;overflow:hidden;height:calc(100% - 18px);display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;}
.cm-content #order-standard_cart .products .product:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));}
.cm-content #order-standard_cart .products .product header{padding:16px 18px 12px;border-bottom:1px solid var(--border-soft);font-size:16px;font-weight:800;color:var(--text);}
.cm-content #order-standard_cart .products .product .product-desc{padding:14px 18px;flex:1;color:var(--text-2);font-size:13px;line-height:1.85;}
.cm-content #order-standard_cart .products .product .product-desc ul{list-style:none;padding:0;margin:8px 0 0;}
.cm-content #order-standard_cart .products .product .product-desc li{padding:5px 0;border-top:1px dashed var(--border-soft);}
.cm-content #order-standard_cart .products .product footer{padding:14px 18px 18px;border-top:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.cm-content #order-standard_cart .products .product .price{font-size:1.3rem;font-weight:800;color:var(--primary);}

/* panels / cards in body */
.cm-content #order-standard_cart .panel,.cm-content #order-standard_cart .cart-body .card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden;}
.cm-content #order-standard_cart .panel-heading{background:transparent;border-bottom:1px solid var(--border-soft);padding:14px 18px;font-weight:700;}
.cm-content #order-standard_cart .panel-body{padding:18px;}
.cm-content #order-standard_cart .panel-addon{border:1.5px solid var(--border);}
.cm-content #order-standard_cart .panel-addon-selected{border-color:var(--primary);background:var(--primary-soft);}

/* cart items table */
.cm-content #order-standard_cart .view-cart-items-header{background:var(--surface-2);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;padding:13px 18px;font-size:12px;font-weight:700;color:var(--text-3);text-transform:uppercase;}
.cm-content #order-standard_cart .view-cart-items{border:1px solid var(--border);border-radius:0 0 16px 16px;background:var(--surface);overflow:hidden;}
.cm-content #order-standard_cart .view-cart-items .item{border-top:1px solid var(--border-soft);padding:15px 18px;}
.cm-content #order-standard_cart .view-cart-items .item:first-child{border-top:none;}
.cm-content #order-standard_cart .item-title{font-weight:700;color:var(--text);font-size:14.5px;}
.cm-content #order-standard_cart .item-group{font-size:12.5px;color:var(--text-3);}
.cm-content #order-standard_cart .item-domain{font-size:12.5px;color:var(--primary);direction:ltr;font-weight:600;}
.cm-content #order-standard_cart .item-price{font-weight:700;}
.cm-content #order-standard_cart .item-price .cycle{font-weight:400;font-size:12px;color:var(--text-3);}
.cm-content #order-standard_cart .btn-remove-from-cart{color:var(--text-3);}
.cm-content #order-standard_cart .btn-remove-from-cart:hover{color:var(--danger);}

/* order summary */
.cm-content #order-standard_cart .order-summary,
.cm-content #order-standard_cart #orderSummary{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px;position:sticky;top:90px;}
.cm-content #order-standard_cart .order-summary h2{font-size:16px;font-weight:800;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border-soft);}
.cm-content #order-standard_cart .subtotal,
.cm-content #order-standard_cart .recurring-totals,
.cm-content #order-standard_cart .bordered-totals>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13.5px;color:var(--text-2);}
.cm-content #order-standard_cart .bordered-totals{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);margin:6px 0;padding:4px 0;}
.cm-content #order-standard_cart .total-due-today{font-size:1.05rem;font-weight:800;color:var(--text);margin-top:10px;padding-top:12px;border-top:1px dashed var(--border);text-align:start;}
.cm-content #order-standard_cart .total-due-today .amt{color:var(--primary);font-size:1.4rem;display:block;}

/* buttons */
.cm-content #order-standard_cart .btn{border-radius:11px;font-family:inherit;font-weight:600;font-size:13.5px;padding:9px 16px;transition:.15s;}
.cm-content #order-standard_cart .btn-primary,.cm-content #order-standard_cart .btn-success,.cm-content #order-standard_cart .btn-checkout{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.cm-content #order-standard_cart .btn-primary:hover,.cm-content #order-standard_cart .btn-success:hover,.cm-content #order-standard_cart .btn-checkout:hover{filter:brightness(1.07);color:var(--on-primary);}
.cm-content #order-standard_cart .btn-default,.cm-content #order-standard_cart .btn-info,.cm-content #order-standard_cart .btn-warning{background:var(--surface-2);border-color:var(--border);color:var(--text);}
.cm-content #order-standard_cart .btn-default:hover{border-color:var(--primary);color:var(--primary);}
.cm-content #order-standard_cart .btn-lg{padding:12px 22px;font-size:15px;border-radius:13px;}
.cm-content #order-standard_cart .btn-link,.cm-content #order-standard_cart .btn-continue-shopping{color:var(--primary);background:transparent;border:none;font-weight:600;}
.cm-content #order-standard_cart .btn-checkout{display:block;width:100%;text-align:center;margin-top:14px;}

/* forms */
.cm-content #order-standard_cart label{font-weight:600;font-size:13px;color:var(--text-2);margin-bottom:6px;}
.cm-content #order-standard_cart .form-control,.cm-content #order-standard_cart .field{border:1px solid var(--border);border-radius:11px;background:var(--field);color:var(--text);padding:10px 14px;font-family:inherit;font-size:14px;box-shadow:none;}
.cm-content #order-standard_cart .form-control:focus,.cm-content #order-standard_cart .field:focus{border-color:var(--primary);background:var(--surface);outline:none;box-shadow:none;}

/* alerts */
.cm-content #order-standard_cart .alert{border-radius:13px;border:1px solid var(--border);font-size:13.5px;}
.cm-content #order-standard_cart .alert-info{background:var(--primary-soft);color:var(--primary-2);border-color:color-mix(in srgb,var(--primary) 22%,transparent);}
.cm-content #order-standard_cart .alert-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,transparent);}
.cm-content #order-standard_cart .alert-warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 25%,transparent);}
.cm-content #order-standard_cart .alert-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent);}

/* tabs (promo / tax) */
.cm-content #order-standard_cart .nav-tabs{border-bottom:1px solid var(--border);gap:4px;}
.cm-content #order-standard_cart .nav-tabs .nav-link{border:none;border-bottom:2px solid transparent;color:var(--text-3);font-weight:600;background:none;padding:9px 14px;}
.cm-content #order-standard_cart .nav-tabs .nav-item.active .nav-link,.cm-content #order-standard_cart .nav-tabs .nav-link.active{color:var(--primary);border-bottom-color:var(--primary);background:none;}

/* domain checker / tld filters */
.cm-content #order-standard_cart .domain-pricing .tld-filters a{border-radius:999px;padding:6px 14px;margin:3px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:12.5px;text-decoration:none;display:inline-block;}
.cm-content #order-standard_cart .domain-pricing .tld-filters a.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);}

/* ===================== STANDALONE INVOICE (viewinvoice.tpl) ===================== */
.cm-inv-body{background:var(--grad);min-height:100vh;margin:0;font-family:'Vazirmatn',system-ui,sans-serif;color:var(--text);}
.cm-wrap.cm-inv,.cm-inv{max-width:920px;margin:0 auto;padding:34px 20px;overflow:visible;}
.cm-inv-topbar{margin-bottom:14px;}
.cm-inv-back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--text-2);text-decoration:none;}
.cm-inv-back:hover{color:var(--primary);}
.cm-inv-input,.cm-inv-select{width:100%;max-width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:11px;
  background:var(--field);color:var(--text);font-family:inherit;font-size:13.5px;}
.cm-inv-input:focus,.cm-inv-select:focus{border-color:var(--primary);outline:none;background:var(--surface);}
.cm-inv-body .cm-alert{margin-bottom:18px;}
.cm-inv-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:32px 34px;}
.cm-inv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:22px;}
.cm-inv-brand{display:flex;flex-direction:column;gap:10px;min-width:0;}
.cm-inv-brand img{height:44px;width:auto;max-width:200px;object-fit:contain;align-self:flex-start;}
.cm-inv-no{font-size:1.5rem;font-weight:800;color:var(--text);}
.cm-inv-headright{text-align:end;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.cm-inv-status span{display:inline-block;padding:5px 15px;border-radius:999px;font-size:13px;font-weight:700;}
.cm-inv-status .paid{background:var(--success-soft);color:var(--success);}
.cm-inv-status .unpaid{background:var(--warning-soft);color:var(--warning);}
.cm-inv-status .draft{background:var(--surface-3);color:var(--text-2);}
.cm-inv-status .refunded,.cm-inv-status .collections{background:var(--primary-soft);color:var(--primary);}
.cm-inv-status .cancelled{background:var(--danger-soft);color:var(--danger);}
.cm-inv-due{font-size:13px;color:var(--text-3);}
.cm-inv-paybtn{margin-top:2px;}
.cm-inv-paybtn .btn,.cm-inv-paybtn input[type="submit"],.cm-inv-paybtn button{
  background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);border-radius:11px;
  padding:10px 20px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block;}
.cm-inv-paybtn .btn:hover,.cm-inv-paybtn input[type="submit"]:hover,.cm-inv-paybtn button:hover{filter:brightness(1.07);}
.cm-inv-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px;}
.cm-inv-label{font-size:11.5px;font-weight:700;color:var(--text-3);letter-spacing:.02em;margin-bottom:6px;}
.cm-inv-col address,.cm-inv-col span{font-style:normal;font-size:13.5px;color:var(--text-2);line-height:1.9;margin:0;}
.cm-inv-col .form-control,.cm-inv-col select{margin-top:4px;}
.cm-inv-credit{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:18px;font-size:13.5px;color:var(--text-2);}
.cm-inv-credit-row{display:flex;gap:10px;margin-top:10px;max-width:360px;}
.cm-inv-items{border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:6px;}
.cm-inv-items-head{padding:13px 16px;font-weight:800;font-size:14.5px;color:var(--text);background:var(--surface-2);border-bottom:1px solid var(--border);}
.cm-inv-table{width:100%;border-collapse:collapse;}
.cm-inv-table th{text-align:start;padding:11px 16px;font-size:11.5px;font-weight:700;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);}
.cm-inv-table td{padding:11px 16px;font-size:13.5px;color:var(--text-2);border-top:1px solid var(--border-soft);}
.cm-inv-table .amt{text-align:end;white-space:nowrap;font-weight:600;width:24%;}
.cm-inv-table .lbl{text-align:end;}
.cm-inv-table tr.sub td{color:var(--text);font-weight:600;background:var(--surface-2);}
.cm-inv-table tr.grand td{font-weight:800;color:var(--text);font-size:14.5px;border-top:2px solid var(--border);background:var(--surface-2);}
.cm-inv-table tr.grand .amt{color:var(--primary);font-size:1.05rem;}
.cm-inv-table.small th,.cm-inv-table.small td{font-size:12.5px;padding:9px 14px;}
.cm-inv-taxnote{font-size:12px;color:var(--text-3);margin:8px 2px 18px;}
.cm-inv-trans{margin-top:18px;border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.cm-inv-trans .cm-inv-label{padding:12px 16px 0;}
.cm-inv-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);}
@media (max-width:680px){.cm-inv-meta{grid-template-columns:1fr;}.cm-inv-card{padding:22px 18px;}}
@media print{
  .cm-inv-body{background:#fff;}
  .cm-shell .cm-sidebar,.cm-shell .cm-header,.cm-shell > .cm-main > footer{display:none!important;}
  .cm-shell .cm-main{margin:0!important;}
  .cm-shell .cm-content{padding:0!important;}
  .cm-inv-card{box-shadow:none;border:none;}
  .d-print-none{display:none!important;}
}

/* ===================== GATEWAY FORWARD PAGE (forwardpage.tpl) ===================== */
.cm-forward{max-width:480px;margin:36px auto;text-align:center;padding:40px 28px;}
.cm-forward-ic{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;background:var(--primary-soft);color:var(--primary);}
.cm-forward-title{font-size:19px;font-weight:800;color:var(--text);margin:0 0 8px;}
.cm-forward-msg{color:var(--text-2);font-size:14px;margin:0 0 20px;line-height:1.8;}
.cm-forward-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:0 auto 20px;max-width:280px;position:relative;}
.cm-forward-bar-fill{position:absolute;top:0;height:100%;width:40%;border-radius:99px;background:var(--primary);animation:cmForward 1.4s ease-in-out infinite;}
@keyframes cmForward{0%{inset-inline-start:-40%;}100%{inset-inline-start:100%;}}
.cm-forward-gateway{margin:6px 0;}
.cm-forward-gateway .btn,.cm-forward-gateway input[type="submit"],.cm-forward-gateway button{
  background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);border-radius:11px;
  padding:11px 22px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block;margin-top:6px;}
.cm-forward-gateway .btn:hover,.cm-forward-gateway input[type="submit"]:hover,.cm-forward-gateway button:hover{filter:brightness(1.07);}
.cm-forward-hint{color:var(--text-3);font-size:12.5px;margin-top:14px;}

/* ---- captcha (reCAPTCHA / default) inside full-screen auth forms ---- */
.cm-auth .recaptcha-container,.cm-auth [id^="google-recaptcha"]{display:flex;justify-content:center;margin:0 auto 4px;}
.cm-auth [id^="default-captcha"]{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.cm-auth [id^="default-captcha"] p{width:100%;text-align:center;font-size:13px;color:var(--text-3);margin:0 0 8px;}
.cm-auth #inputCaptcha{max-width:160px;text-align:center;}
.cm-auth .captchaimage img{border-radius:8px;border:1px solid var(--border);}

/* ===================== SERVICE DETAILS (clientareaproductdetails.tpl) ===================== */
.cm-svc{display:flex;flex-direction:column;gap:18px;}
.cm-svc-invoicealert{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.cm-btn-xs{padding:6px 13px!important;font-size:12px!important;border-radius:9px!important;}

/* status colors (shared by icon + badge) */
.status-active{--s:var(--success);--sb:var(--success-soft);}
.status-pending{--s:var(--primary);--sb:var(--primary-soft);}
.status-suspended{--s:var(--warning);--sb:var(--warning-soft);}
.status-terminated,.status-cancelled,.status-completed,.status-expired{--s:var(--text-2);--sb:var(--surface-3);}
.status-fraud{--s:var(--danger);--sb:var(--danger-soft);}
.cm-badge.status-active,.cm-badge.status-pending,.cm-badge.status-suspended,.cm-badge.status-terminated,
.cm-badge.status-cancelled,.cm-badge.status-completed,.cm-badge.status-expired,.cm-badge.status-fraud{background:var(--sb);color:var(--s);}

/* hero */
.cm-svc-hero{display:grid;grid-template-columns:0.95fr 1.3fr;gap:26px;align-items:start;padding:26px 28px;}
.cm-svc-hero-id{display:flex;gap:15px;align-items:flex-start;}
.cm-svc-ic{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--sb,var(--primary-soft));color:var(--s,var(--primary));}
.cm-svc-name{font-size:17px;font-weight:800;color:var(--text);line-height:1.4;}
.cm-svc-group{font-size:13px;color:var(--text-3);margin:2px 0 9px;}
.cm-svc-badge{font-size:12px;}
.cm-svc-detgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;}
.cm-svc-det{display:flex;flex-direction:column;gap:3px;}
.cm-svc-det .l{font-size:12px;color:var(--text-3);}
.cm-svc-det .v{font-size:14px;font-weight:600;color:var(--text);}
.cm-svc-det .cm-svc-price{color:var(--primary);font-size:15px;font-weight:800;}
.cm-svc-actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;margin-top:4px;border-top:1px solid var(--border-soft);}
.cm-svc-actions .disabled{opacity:.55;pointer-events:none;}

/* info / option / field cards */
.cm-svc-cardhead{display:flex;align-items:center;gap:9px;padding:15px 20px;font-size:14.5px;font-weight:800;color:var(--text);border-bottom:1px solid var(--border-soft);}
.cm-svc-cardhead i{color:var(--primary);}
.cm-svc-rows{padding:4px 20px 12px;}
.cm-svc-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border-soft);font-size:13.5px;}
.cm-svc-row:first-child{border-top:none;}
.cm-svc-row .l{color:var(--text-3);font-weight:600;flex:none;}
.cm-svc-row .v{color:var(--text);text-align:end;word-break:break-word;}
.cm-svc-row .v.ssl-inactive{color:var(--danger);}
.cm-svc-cardfoot{padding:14px 20px;border-top:1px solid var(--border-soft);display:flex;gap:10px;flex-wrap:wrap;}
.cm-svc-module{text-align:center;}

/* usage */
.cm-svc-usage-grid{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;text-align:center;}
.cm-svc-usage-grid h4{font-size:14px;font-weight:700;margin:0 0 8px;color:var(--text);}
.cm-svc-usage-grid p{color:var(--text-3);font-size:12.5px;margin:6px 0 0;}
.cm-svc-updated{text-align:center;color:var(--text-3);font-size:12.5px;margin:14px 0 0;}

/* downloads / addons / changepw / security */
.cm-security .cm-security-block{margin-bottom:20px;}
.cm-security .cm-security-actions{margin:12px 0 0;}
.cm-security .social-signin-btns{display:flex;flex-wrap:wrap;gap:10px;}

.cm-security-pwform{max-width:520px;}
.cm-security-pwform .form-group{margin-bottom:18px;}
.cm-security-pwform label{display:block;font-size:13.5px;font-weight:600;color:var(--text-2);margin-bottom:8px;}
.cm-security-pwform .form-control{width:100%;max-width:100%;}
.cm-security-pwform #newPassword1{margin-bottom:14px;}
.cm-security-pwform #newPassword2{margin-bottom:14px;}
.cm-security-pwstrength{margin-bottom:18px;}
.cm-security-pwform .progress{margin:0 0 10px;height:6px;border-radius:6px;background:var(--surface-3);}
.cm-security-pwform .progress-bar{border-radius:6px;}
.cm-security-pwform .alert-info,
.cm-security-pwform .password-strength-feedback{margin-top:10px;margin-bottom:0;font-size:12.5px;line-height:1.75;border-radius:12px;}
.cm-security-fieldhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.cm-security-fieldhead label{margin-bottom:0;}
.cm-security-pwgen-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);
  border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:12.5px;font-weight:600;
  cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap;line-height:1.2;}
.cm-security-pwgen-btn:hover{border-color:var(--primary);background:var(--primary);color:var(--on-primary);}
.cm-security-pwgen-btn svg{flex-shrink:0;opacity:.9;}
.cm-security-form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:4px;}

/* password generator modal — matches panel cards & form styling */
.cm-pwgen-modal .modal-header{background:var(--surface);color:var(--text);display:flex;align-items:center;
  justify-content:space-between;gap:12px;}
.cm-pwgen-modal .modal-title{font-size:16px;font-weight:700;margin:0;color:var(--text);}
.cm-pwgen-modal .modal-body .form-group{margin-bottom:16px;}
.cm-pwgen-modal .modal-body label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:8px;}
.cm-pwgen-modal .modal-body .form-control{max-width:100%;}
.cm-pwgen-desc{font-size:13px;color:var(--text-3);margin:0 0 18px;line-height:1.75;}
.cm-pwgen-output-row{display:flex;gap:8px;align-items:stretch;}
.cm-pwgen-output-row .form-control{flex:1;font-family:ui-monospace,'Cascadia Code','Segoe UI Mono',monospace;font-size:14px;
  letter-spacing:.04em;background:var(--field);}
.cm-pwgen-output-row .btn{flex-shrink:0;padding:0 14px;min-width:44px;}
.cm-pwgen-regen{margin-top:2px;}
.cm-pwgen-modal .modal-footer{justify-content:flex-end;}
.cm-pwgen-modal .alert-danger{border-radius:12px;margin-bottom:14px;font-size:13px;}
.cm-pwgen-modal .modal-header.bg-primary{background:var(--surface) !important;color:var(--text) !important;}
.cm-pwgen-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;
  border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);
  font-family:inherit;font-size:13.5px;font-weight:600;line-height:1.4;cursor:pointer;transition:.15s;}
.cm-pwgen-modal .btn:hover{border-color:var(--primary);color:var(--primary);}
.cm-pwgen-modal .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.cm-pwgen-modal .btn-primary:hover{filter:brightness(1.06);color:var(--on-primary);border-color:var(--primary);}
.cm-pwgen-modal .form-control{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:12px;
  background:var(--field);color:var(--text);font-family:inherit;font-size:14px;transition:border-color .15s;}
.cm-pwgen-modal .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}

@media (max-width:480px){
  .cm-security-fieldhead{flex-wrap:wrap;}
  .cm-security-pwgen-btn{width:100%;justify-content:center;}
}
.cm-svc-dl{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--border-soft);}
.cm-svc-dl:first-of-type{border-top:none;}
.cm-svc-dl p{margin:3px 0 0;color:var(--text-3);font-size:12.5px;}
.cm-svc-addon{margin-top:12px;padding:0;overflow:hidden;}
.cm-svc-addon-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border-soft);font-weight:700;font-size:14px;color:var(--text);}
.cm-svc-addon-body{padding:12px 16px;color:var(--text-2);font-size:13px;}
.cm-svc-addon-foot{padding:10px 16px;border-top:1px solid var(--border-soft);background:var(--surface-2);}
.cm-svc-pwform{max-width:440px;}
.cm-svc-pwrow{margin-bottom:14px;}
.cm-svc-pwrow label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px;}

/* email history */
.cm-emails .cm-emails-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--border-soft);background:var(--surface);}
.cm-emails-search{display:flex;align-items:center;gap:10px;flex:1;min-width:220px;max-width:380px;
  padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--field);margin:0;}
.cm-emails-search svg{color:var(--text-3);flex-shrink:0;}
.cm-emails-search .form-control{border:none;background:transparent;padding:10px 0;box-shadow:none;font-size:13.5px;width:100%;}
.cm-emails-search .form-control:focus{outline:none;box-shadow:none;border:none;}
.cm-emails-count{font-size:12.5px;color:var(--text-3);white-space:nowrap;}
.cm-email-subject{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;min-width:0;}
.cm-email-subject-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cm-email-attach{color:var(--text-3);flex-shrink:0;display:inline-flex;align-items:center;}
.cm-email-date{white-space:nowrap;font-size:13px;}
.cm-emails-empty-search{padding:28px 24px;text-align:center;color:var(--text-3);font-size:13.5px;border-top:1px solid var(--border-soft);}
.cm-emails .cm-email-row .cm-btn-ghost{padding:7px 14px;font-size:12.5px;}

@media (max-width:760px){
  .cm-svc-hero{grid-template-columns:1fr;gap:20px;}
  .cm-svc-detgrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){.cm-svc-detgrid{grid-template-columns:1fr;}}
