/* Generated by candidate-01\build\gen-assets.ps1 from concepts\concept.css. Edit the sources, not this file. */
:root{
  --ezy-blue:#0072C6; --ezy-blue-dark:#005a9e; --ezy-blue-tint:#f0f7fd; --ezy-blue-line:#cfe5f6;
  --ezy-green:#90C404; --ezy-green-text:#4d6b00; --ezy-green-tint:#f4f9e6;
  --ezy-orange:#EB9C12;
  --ezy-amber-bg:#fffbeb; --ezy-amber-line:#fde68a; --ezy-amber-text:#78350f;
  --ezy-head:#0f172a; --ezy-body:#334155; --ezy-muted:#64748b; --ezy-faint:#94a3b8;
  --ezy-line:#e5e7eb; --ezy-page:#f4f6f9; --ezy-card:#fff;
  --ezy-shadow:0 1px 2px rgba(15,23,42,.04),0 6px 20px rgba(15,23,42,.05);
  --ezy-r:12px;
}


body.ezy-body{font:14px/1.5 "Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ezy-body);background:var(--ezy-page);-webkit-font-smoothing:antialiased}
a{color:var(--ezy-blue);text-decoration:none}
svg.ezy-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

/* shell */
.ezy-side{position:fixed;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid var(--ezy-line);display:flex;flex-direction:column}
.ezy-side__brand{height:68px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid var(--ezy-line)}
.ezy-side__brand img{height:42px}
.ezy-side__nav{flex:1;padding:14px 12px;overflow:hidden}
.ezy-side__group{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint);padding:16px 12px 6px}
.ezy-side__link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:var(--ezy-body);font-weight:500}
.ezy-side__link svg{color:var(--ezy-faint)}
.ezy-side__link.ezy-is-on{background:var(--ezy-blue-tint);color:var(--ezy-blue);font-weight:600;box-shadow:inset 3px 0 0 var(--ezy-blue)}
.ezy-side__link.ezy-is-on svg{color:var(--ezy-blue)}
.ezy-side__count{margin-left:auto;font-size:12px;font-weight:600;color:var(--ezy-muted);background:#f1f5f9;border-radius:999px;padding:1px 9px}
.ezy-side__count.ezy-is-warn{background:var(--ezy-amber-bg);color:var(--ezy-amber-text);box-shadow:inset 0 0 0 1px var(--ezy-amber-line)}
.ezy-side__foot{border-top:1px solid var(--ezy-line);padding:14px 22px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ezy-muted)}
.ezy-dot{width:8px;height:8px;border-radius:50%;background:var(--ezy-green);box-shadow:0 0 0 3px rgba(144,196,4,.2);flex:0 0 auto}

.ezy-top{position:fixed;inset:0 0 auto 252px;height:68px;background:#fff;border-bottom:1px solid var(--ezy-line);display:flex;align-items:center;gap:14px;padding:0 28px;z-index:2}
.ezy-search{display:flex;align-items:center;gap:10px;width:420px;height:40px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:10px;background:var(--ezy-page);color:var(--ezy-faint)}
.ezy-search .ezy-q{flex:1;white-space:nowrap}
.ezy-kbd{font-size:11px;border:1px solid var(--ezy-line);border-radius:5px;padding:0 6px;background:#fff;color:var(--ezy-muted)}
.ezy-top__right{margin-left:auto;display:flex;align-items:center;gap:8px}
.ezy-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:9px;border:1px solid var(--ezy-line);background:#fff;color:var(--ezy-body);font-weight:600;font-size:13px}
.ezy-btn--primary{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-btn--sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.ezy-iconbtn{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--ezy-muted)}
.ezy-iconbtn b{position:absolute;top:5px;right:4px;min-width:17px;height:17px;border-radius:999px;background:var(--ezy-blue);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.ezy-who{display:flex;align-items:center;gap:10px;padding-left:14px;margin-left:6px;border-left:1px solid var(--ezy-line)}
.ezy-who__av{width:36px;height:36px;border-radius:50%;background:var(--ezy-blue);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}
.ezy-who__n{font-weight:600;color:var(--ezy-head);line-height:1.2}
.ezy-who__c{font-size:12px;color:var(--ezy-muted);line-height:1.2}

.ezy-main{margin-left:252px;padding:92px 28px 36px}

/* header band */
.ezy-band{display:flex;align-items:flex-end;gap:20px;padding:2px 2px 4px}
.ezy-band__kicker{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue)}
.ezy-band__title{font-size:26px;font-weight:650;line-height:1.2;margin-top:2px;letter-spacing:-.01em;color:var(--ezy-head)}
.ezy-band__sub{font-size:13px;color:var(--ezy-muted);margin-top:2px}
.ezy-band__pills{margin-left:auto;display:flex;gap:8px;padding-bottom:2px}
.ezy-bpill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 13px;border-radius:999px;background:#fff;border:1px solid var(--ezy-line);font-size:12.5px;font-weight:600;color:var(--ezy-body)}
/* tiles */
.ezy-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.ezy-tile{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);padding:18px 20px;position:relative}
.ezy-tile__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-tile__fig{font-size:32px;font-weight:650;color:var(--ezy-head);line-height:1.15;margin-top:6px;letter-spacing:-.02em}
.ezy-tile__line{font-size:13px;color:var(--ezy-muted);margin-top:2px}
.ezy-tile__ico{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center}
.ezy-tile--warn .ezy-tile__ico{background:var(--ezy-amber-bg);color:#b45309}

/* cards */
.ezy-grid{display:grid;gap:18px;margin-top:18px}
.ezy-grid--a{grid-template-columns:minmax(0,2.25fr) minmax(0,1fr)}
.ezy-grid--b{grid-template-columns:repeat(3,minmax(0,1fr))}
.ezy-card{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);display:flex;flex-direction:column}
.ezy-card__head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-card__title{font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-card__meta{font-size:12.5px;color:var(--ezy-muted)}
.ezy-card__head .ezy-sp{margin-left:auto}
.ezy-card__foot{margin-top:auto;display:flex;align-items:center;padding:12px 20px;border-top:1px solid var(--ezy-line);font-size:12.5px;color:var(--ezy-muted)}
.ezy-link{font-weight:600;font-size:12.5px}

.ezy-tools{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--ezy-line);font-size:12.5px;font-weight:600;color:var(--ezy-body);background:#fff}
.ezy-chip i{font-style:normal;font-size:11.5px;color:var(--ezy-muted);background:#f1f5f9;border-radius:999px;padding:0 7px}
.ezy-chip.ezy-is-on{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-chip.ezy-is-on i{background:rgba(255,255,255,.22);color:#fff}
.ezy-minisearch{margin-left:auto;display:flex;align-items:center;gap:8px;height:32px;width:210px;border:1px solid var(--ezy-line);border-radius:8px;padding:0 10px;color:var(--ezy-faint);font-size:13px}
.ezy-minisearch svg{width:15px;height:15px}

/* service rows */
.ezy-svc{display:grid;grid-template-columns:40px minmax(0,1.5fr) minmax(0,1.2fr) 150px 84px 72px;align-items:center;gap:14px;padding:14px 20px 14px 17px;border-bottom:1px solid var(--ezy-line);border-left:3px solid var(--ezy-green)}
.ezy-svc:last-of-type{border-bottom:0}
.ezy-svc--warn{border-left-color:var(--ezy-orange);background:linear-gradient(90deg,#fffdf5,#fff 40%)}
.ezy-svc__ico{width:40px;height:40px;border-radius:10px;background:#f1f5f9;color:var(--ezy-body);display:grid;place-items:center}
.ezy-svc__name{font-weight:600;color:var(--ezy-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezy-svc__sub{font-size:12.5px;color:var(--ezy-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezy-use__top{display:flex;justify-content:space-between;white-space:nowrap;gap:10px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-use__top b{color:var(--ezy-body);font-weight:600}
.ezy-bar{height:6px;border-radius:999px;background:#eef2f6;margin-top:6px;overflow:hidden}
.ezy-bar span{display:block;height:100%;border-radius:999px;background:var(--ezy-blue)}
.ezy-bar--warn span{background:var(--ezy-orange)}
.ezy-svc__due b{display:block;color:var(--ezy-head);font-weight:600}
.ezy-svc__due{white-space:nowrap}.ezy-svc__due span{font-size:12.5px;color:var(--ezy-muted)}
.ezy-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.ezy-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ezy-pill--ok{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-pill--warn{background:var(--ezy-amber-bg);color:var(--ezy-amber-text);box-shadow:inset 0 0 0 1px var(--ezy-amber-line)}
.ezy-pill--info{background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}
.ezy-pill--mute{background:#f1f5f9;color:var(--ezy-muted)}
.ezy-pager{margin-left:auto;display:flex;gap:6px}
.ezy-pager span{width:28px;height:28px;border-radius:7px;border:1px solid var(--ezy-line);display:grid;place-items:center;font-weight:600;color:var(--ezy-body);background:#fff}
.ezy-pager .ezy-is-on{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}

/* notes */
.ezy-notes{padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.ezy-note{border-radius:10px;padding:13px 14px;border:1px solid var(--ezy-amber-line);background:var(--ezy-amber-bg);color:var(--ezy-amber-text)}
.ezy-note--info{border-color:var(--ezy-blue-line);background:var(--ezy-blue-tint);color:#0b4a7a}
.ezy-note__t{font-weight:650;display:flex;gap:9px;align-items:flex-start}
.ezy-note__t svg{margin-top:1px}
.ezy-note__b{font-size:13px;margin:4px 0 0 27px;opacity:.92}
.ezy-note__a{margin:10px 0 0 27px;display:flex;gap:8px}
.ezy-note .ezy-btn{border-color:rgba(120,53,15,.25);color:var(--ezy-amber-text);background:#fff}
.ezy-note--info .ezy-btn{border-color:var(--ezy-blue-line);color:var(--ezy-blue-dark)}

/* billing */
.ezy-pad{padding:16px 20px}
.ezy-figrow b{display:block}
.ezy-figrow b{display:block;font-size:26px;font-weight:650;color:var(--ezy-head);letter-spacing:-.02em}
.ezy-figrow span{font-size:12.5px;color:var(--ezy-muted)}
.ezy-chart{margin-top:12px}
.ezy-chart text{font:10.5px "Segoe UI",sans-serif;fill:#94a3b8}
.ezy-rows{border-top:1px solid var(--ezy-line)}
.ezy-row{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-row:last-child{border-bottom:0}
.ezy-row__m{min-width:0;flex:1}
.ezy-row__t{font-weight:600;color:var(--ezy-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezy-row__s{font-size:12.5px;color:var(--ezy-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezy-row__r{text-align:right;white-space:nowrap}
.ezy-row__r b{display:block;color:var(--ezy-head);font-weight:600}
.ezy-row__r span{font-size:12.5px;color:var(--ezy-muted)}
.ezy-sub{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint);padding:14px 20px 6px}
.ezy-tick{width:20px;height:20px;border-radius:50%;background:var(--ezy-green);color:#fff;display:grid;place-items:center;flex:0 0 auto}
.ezy-tick svg{width:12px;height:12px;stroke-width:2.6}
.ezy-ring{width:20px;height:20px;border-radius:50%;border:2px solid var(--ezy-orange);flex:0 0 auto}

/* ---- service details page ---- */
.ezy-crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ezy-muted);margin-bottom:12px}
.ezy-crumbs svg{width:13px;height:13px;color:var(--ezy-faint)}
.ezy-crumbs b{color:var(--ezy-body);font-weight:600}
.ezy-titleline{display:flex;align-items:center;gap:12px}
.ezy-band__actions{margin-left:auto;display:flex;gap:8px;padding-bottom:2px}
.ezy-band__actions svg{width:15px;height:15px}
.ezy-tabs{display:flex;gap:28px;border-bottom:1px solid var(--ezy-line);margin-top:14px}
.ezy-tab{display:flex;align-items:center;gap:8px;padding:10px 0;margin-bottom:-1px;font-weight:600;color:var(--ezy-muted);border-bottom:2px solid transparent}
.ezy-tab.ezy-is-on{color:var(--ezy-blue);border-bottom-color:var(--ezy-blue)}
.ezy-tab i{font-style:normal;font-size:11.5px;color:var(--ezy-muted);background:#e9eef4;border-radius:999px;padding:0 7px}
.ezy-tile__fig--date{font-size:27px;margin-top:9px;margin-bottom:2px}
.ezy-stack{display:flex;flex-direction:column;gap:18px;min-width:0}
.ezy-grid--top{align-items:start}
.ezy-meters{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:18px 20px 20px}
.ezy-meter__l{font-size:12.5px;color:var(--ezy-muted)}
.ezy-meter__f{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.ezy-meter__f b{font-size:24px;font-weight:650;color:var(--ezy-head);letter-spacing:-.02em}
.ezy-meter__f span{color:var(--ezy-muted)}
.ezy-bar--lg{height:8px;margin-top:10px}
.ezy-meter__n{font-size:12.5px;color:var(--ezy-muted);margin-top:8px}
.ezy-acts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 20px 18px}
.ezy-act{display:flex;align-items:center;gap:11px;border:1px solid var(--ezy-line);border-radius:10px;padding:11px 12px;font-weight:600;color:var(--ezy-head);background:#fff;white-space:nowrap}
.ezy-act__i{width:32px;height:32px;border-radius:8px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;flex:0 0 auto}
.ezy-act__i svg{width:17px;height:17px}
.ezy-kv{display:grid;grid-template-columns:1fr 1fr}
.ezy-kv__i{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--ezy-line);min-width:0}
.ezy-kv__i:nth-child(odd){border-right:1px solid var(--ezy-line)}
.ezy-kv__i:nth-last-child(-n+2){border-bottom:0}
.ezy-kv__m{min-width:0;flex:1}
.ezy-kv__l{font-size:12.5px;color:var(--ezy-muted)}
.ezy-kv__v{font-weight:600;color:var(--ezy-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezy-copy{width:30px;height:30px;border-radius:8px;border:1px solid var(--ezy-line);display:grid;place-items:center;color:var(--ezy-muted);flex:0 0 auto}
.ezy-copy svg{width:15px;height:15px}
.ezy-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-line:last-child{border-bottom:0}
.ezy-line span{color:var(--ezy-muted)}
.ezy-line b{color:var(--ezy-head);font-weight:600;text-align:right}
.ezy-navrow{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ezy-line);font-weight:600;color:var(--ezy-head)}
.ezy-navrow:last-child{border-bottom:0}
.ezy-navrow svg.ezy-i{color:var(--ezy-muted)}
.ezy-navrow .ezy-go{margin-left:auto;width:14px;height:14px;color:var(--ezy-faint)}
.ezy-navrow--quiet{color:var(--ezy-muted);font-weight:500}

/* ---- Microsoft 365 service page ---- */
.ezy-usr{display:grid;grid-template-columns:36px minmax(0,1.5fr) minmax(0,1.1fr) 96px 76px;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-usr:last-of-type{border-bottom:0}
.ezy-usr__av{width:36px;height:36px;border-radius:50%;background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);font-weight:700;font-size:12.5px;display:grid;place-items:center}
.ezy-usr__av--spare{background:#f1f5f9;color:var(--ezy-faint);border:1px dashed #cbd5e1}
.ezy-seatbar{padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-seatbar__top{display:flex;align-items:baseline;gap:8px}
.ezy-seatbar__top b{font-size:24px;font-weight:650;color:var(--ezy-head);letter-spacing:-.02em}
.ezy-seatbar__top span{color:var(--ezy-muted)}
.ezy-seatbar__top em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--ezy-muted)}
.ezy-term{padding:16px 20px}
.ezy-term__row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ezy-muted)}
.ezy-term__row b{color:var(--ezy-head);font-weight:600}
.ezy-term .ezy-note{margin-top:14px}
.ezy-acts--apps .ezy-act small{display:block;font-size:12px;font-weight:400;color:var(--ezy-muted);line-height:1.2}
.ezy-acts--apps .ezy-act{white-space:normal;line-height:1.25}

/* ---- Fitting the portal shell over the parent theme ---- */
.ezy-body *, .ezy-body *::before, .ezy-body *::after{box-sizing:border-box}
.ezy-body{margin:0}
.ezy-body a:hover{text-decoration:none}
.ezy-body #main-body{padding:0;background:transparent;min-height:0}
.ezy-main .container{max-width:none;padding-left:0;padding-right:0}
.ezy-main--wide{margin-left:0}
.ezy-top--wide{left:0}
.ezy-top__brand img{height:38px;width:auto}
.ezy-side__brand img{height:auto;width:auto;max-height:42px;max-width:100%}
/* the sidebar scrolls when the menu is taller than the window; its scrollbar stays hidden until the pointer is over the sidebar */
.ezy-side__nav{overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}
.ezy-side:hover .ezy-side__nav{scrollbar-color:#cbd5e1 transparent}
a.ezy-side__link:hover{background:#f8fafc;color:var(--ezy-head)}
a.ezy-side__link.ezy-is-on:hover{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-btn{cursor:pointer;line-height:1}
a.ezy-btn:hover{border-color:#cbd5e1;color:var(--ezy-head)}
a.ezy-btn--primary:hover{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}

/* top bar controls that are real form elements here */
.ezy-top form{margin:0}
.ezy-search button{border:0;background:none;padding:0;color:inherit;display:grid;place-items:center}
.ezy-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ezy-body)}
.ezy-search input::placeholder{color:var(--ezy-faint)}
button.ezy-iconbtn{border:0;background:none;cursor:pointer;padding:0}
a.ezy-iconbtn:hover, button.ezy-iconbtn:hover{background:var(--ezy-page);color:var(--ezy-head)}
button.ezy-who{background:none;border:0;border-left:1px solid var(--ezy-line);cursor:pointer;text-align:left;font:inherit;padding-top:0;padding-bottom:0}
.ezy-who__n, .ezy-who__c{display:block}
.ezy-admin{color:#b45309;font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;margin-right:6px}

/* page footer inside the main column */

/* inherited pages keep their breadcrumb, restyled quietly */
.ezy-main .master-breadcrumb{background:none;margin:0 0 12px}
.ezy-main .master-breadcrumb .breadcrumb{background:none;padding:0;margin:0;font-size:12.5px}

/* cards that may be absent for users with limited permissions */
.ezy-grid--b{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.ezy-grid--one{grid-template-columns:minmax(0,1fr)}
.ezy-notes > .ezy-card__meta{padding:0 2px}
.ezy-row__m{color:var(--ezy-head)}

/* menu bar for visitors who are not signed in */
.ezy-guestnav{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:4px 14px;margin-bottom:18px}

/* mid-width windows: the services list needs the full width, so the attention card moves above it */
@media (max-width: 1500px){
    .ezy-grid--a{grid-template-columns:minmax(0,1fr)}
    .ezy-grid--a > .ezy-card:last-child{order:-1}
}

/* small screens: the sidebar slides in over the page */
.ezy-menu{display:none}
.ezy-side__shade{display:none}
@media (max-width: 991px){
    .ezy-side{transform:translateX(-100%);transition:transform .2s ease;z-index:1040}
    .ezy-nav-open .ezy-side{transform:none}
    .ezy-nav-open .ezy-side__shade{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:1039}
    .ezy-top{left:0;padding:0 16px}
    .ezy-main{margin-left:0;padding:84px 16px 28px}
    .ezy-menu{display:grid}
    .ezy-search{width:auto;flex:1}
    .ezy-who__n, .ezy-who__c, .ezy-top .ezy-btn--primary span{display:none}
    .ezy-tiles{grid-template-columns:repeat(2,1fr)}
    .ezy-grid--a, .ezy-grid--b{grid-template-columns:minmax(0,1fr)}
    .ezy-band{flex-wrap:wrap}
    .ezy-band__pills{margin-left:0;flex-wrap:wrap}
    .ezy-svc{grid-template-columns:40px minmax(0,1fr) auto;row-gap:10px}
    .ezy-svc > :nth-child(2), .ezy-svc > :nth-child(3), .ezy-svc > :nth-child(4){grid-column:2 / -1}
    .ezy-svc > :nth-child(5){grid-column:2;justify-self:start}
    .ezy-svc > :nth-child(6){grid-column:3}
    .ezy-card__head{flex-wrap:wrap;row-gap:2px}
    .ezy-card__head .ezy-card__meta{display:none}
    .ezy-tools{flex-wrap:wrap}
    .ezy-minisearch{margin-left:0;width:100%}
}
@media (max-width: 575px){
    .ezy-tiles{grid-template-columns:minmax(0,1fr)}
    .ezy-search{display:none}
}

/* components that are links here */
a.ezy-tile{display:block;color:inherit}
a.ezy-tile:hover{border-color:#cbd5e1;color:inherit}
a.ezy-row{color:inherit}
a.ezy-row:hover{background:#f8fafc;color:inherit}
/* "go further" links (View all services, All invoices, Visit website, ...) are in the corporate green; buttons and the
   current selection stay blue. The darker green is used because the pure #90C404 is too faint for small text. */
.ezy-link, .ezy-body a.ezy-link{color:var(--ezy-green-text)}
a.ezy-link:hover, .ezy-body a.ezy-link:hover{color:#3a5200}
.ezy-note a.ezy-btn:hover{color:inherit}

/* ---- service details page: real markup ---- */
.ezy-tab.active{color:var(--ezy-blue);border-bottom-color:var(--ezy-blue)}
a.ezy-tab:hover{color:var(--ezy-head)}
a.ezy-tab.active:hover{color:var(--ezy-blue)}
.ezy-tab.disabled{opacity:.5;pointer-events:none}
a.ezy-navrow:hover{background:#f8fafc;color:var(--ezy-head)}
.ezy-navrow.disabled{opacity:.5;pointer-events:none}
.ezy-navrow i.sidebar-menu-item-icon{width:18px;text-align:center;color:var(--ezy-muted)}
.ezy-navrow .ezy-side__count{margin-left:0}
.ezy-crumbs a{color:var(--ezy-muted)}
.ezy-crumbs a:hover{color:var(--ezy-blue)}
.ezy-kv__i .ezy-btn{flex:0 0 auto}
.ezy-line b{min-width:0;overflow-wrap:anywhere}
.ezy-module-output{overflow-x:auto}
.ezy-hook-output:empty{display:none}
.ezy-body .tab-content > .tab-pane > .ezy-stack > .alert{margin:0}
@media (max-width: 991px){
    .ezy-meters, .ezy-kv{grid-template-columns:minmax(0,1fr)}
    .ezy-kv__i:nth-child(odd){border-right:0}
    .ezy-kv__i:nth-last-child(2){border-bottom:1px solid var(--ezy-line)}
    .ezy-tabs{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
    .ezy-band__actions{margin-left:0}
}

/* ---- site footer (markup in includes/ezy-footer.tpl, one per brand) ----
   Reproduces the footer of www.ezycloud.com.au / www.ezyreseller.com.au. The values are the
   computed styles measured on those sites: #212121 band, Open Sans 14px/27px weight 300,
   16px bold #d6d6d6 headings, white links, 1170px centred container with 100px above and below,
   three equal columns with 15px gutters, 20px spacers, and the 12px letter-spaced copyright strip. */
/* the footer sits at the bottom of the window on short pages, and bleeds to the edges of the main column */
.ezy-main{min-height:100vh;display:flex;flex-direction:column}
.ezy-main > #main-body{flex:1 0 auto;margin-bottom:36px}
/* a short page (an empty list, a small tool) still fills the window, so the footer starts below the fold and
   never fills the screen (Kerry, 8 Nov 2026): the window less the top bar and the main column's padding */
.ezy-main > #main-body{min-height:calc(100vh - 92px - 36px)}
@media (max-width:991px){.ezy-main > #main-body{min-height:calc(100vh - 84px - 28px)}}
.ezy-foot{display:block;margin:auto -28px -36px;padding:0;border:0}
.ezy-sitefoot{background:#212121;color:#a9a9a9;font-family:"Open Sans",sans-serif;font-size:14px;font-weight:300;line-height:27px;letter-spacing:.2px;text-align:left}
.ezy-sitefoot__inner{max-width:1170px;margin:0 auto;padding:100px 15px}
.ezy-sitefoot__row{display:flex;flex-wrap:wrap}
.ezy-sitefoot__col{flex:0 0 33.3333%;max-width:33.3333%;padding:0 15px}
.ezy-sitefoot h5{font-family:"Open Sans",sans-serif;font-size:16px;font-weight:700;line-height:22px;letter-spacing:.2px;color:#d6d6d6;text-transform:none;margin:0 0 10px}
.ezy-sitefoot h5.ezy-sitefoot__payhead{margin-top:54px;margin-bottom:16px}
.ezy-sitefoot p{margin:0 0 10px;color:#a9a9a9}
.ezy-sitefoot a, .ezy-sitefoot a:hover{color:#fff;font-weight:300;text-decoration:none}
.ezy-sitefoot a b{font-weight:600}
.ezy-sitefoot p > b, .ezy-sitefoot p > strong{font-weight:600}
.ezy-sitefoot p > b{color:#fff}
.ezy-sitefoot hr{display:block;height:20px;margin:0;border:0;background:none}
.ezy-sitefoot img{width:265px;height:36px;max-width:100%}
.ezy-sitefoot__copy{background:#212121;border-top:1px solid rgba(255,255,255,.08);padding:17px 30px 15px;text-align:center;font-size:12px;line-height:20px;letter-spacing:2px;color:#a9a9a9}
.ezy-sitefoot__copy em{font-style:italic}
.ezy-foot__row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;background:#212121;padding:0 30px 15px;font-size:12px}
.ezy-foot__row a, .ezy-foot__row button{color:#a9a9a9;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ezy-foot__row a:hover, .ezy-foot__row button:hover{color:#fff}
@media (max-width: 1100px){
    .ezy-sitefoot__col{flex:0 0 100%;max-width:100%}
    .ezy-sitefoot__inner{padding:60px 15px}
}
@media (max-width: 991px){
    .ezy-foot{margin:auto -16px -28px}
}
.ezy-kv__i:last-child:nth-child(odd){grid-column:1 / -1;border-right:0}

/* ---- My Services list ---- */
a.ezy-chip:hover{border-color:#cbd5e1;color:var(--ezy-head)}
a.ezy-chip.ezy-is-on:hover{border-color:var(--ezy-blue);color:#fff}
label.ezy-minisearch{margin-bottom:0;cursor:text}
.ezy-minisearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ezy-body)}
.ezy-minisearch input::placeholder{color:var(--ezy-faint)}
.ezy-minisearch:focus-within{border-color:var(--ezy-blue)}
.ezy-svc--list{grid-template-columns:40px minmax(0,1.6fr) minmax(0,1.1fr) 190px 110px 76px}
.ezy-svc--ended{border-left-color:#cbd5e1}
.ezy-svc--ended .ezy-svc__name, .ezy-svc--ended .ezy-svc__due b{color:var(--ezy-muted)}
.ezy-pager button{width:28px;height:28px;border-radius:7px;border:1px solid var(--ezy-line);background:#fff;color:var(--ezy-body);font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;padding:0}
.ezy-pager button:hover{border-color:#cbd5e1}
.ezy-pager button.ezy-is-on{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
@media (max-width: 991px){
    .ezy-svc--list{grid-template-columns:40px minmax(0,1fr) auto}
}

/* ---- invoice and ticket lists ---- */
.ezy-lrow{display:grid;grid-template-columns:20px minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr) 140px 112px;align-items:center;gap:18px;padding:13px 20px;border-bottom:1px solid var(--ezy-line);color:inherit}
.ezy-lrow--ticket{grid-template-columns:40px minmax(0,2.4fr) minmax(0,1fr) 170px 112px}
a.ezy-lrow:hover{background:#f8fafc;color:inherit}
.ezy-lrow .ezy-row__m{flex:none}
.ezy-lrow__c span{display:block;font-size:12.5px;color:var(--ezy-muted)}
.ezy-lrow__c b{display:block;font-weight:600;color:var(--ezy-head);white-space:nowrap}
.ezy-lrow .ezy-pill{justify-self:start}
.ezy-lrow .ezy-btn{justify-content:center}
.ezy-lrow:hover .ezy-btn{border-color:#cbd5e1}
.ezy-ring--mute{border-color:#cbd5e1}
.ezy-is-unread .ezy-row__t::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ezy-blue);margin-right:8px;vertical-align:1px}
@media (max-width: 991px){
    .ezy-lrow, .ezy-lrow--ticket{grid-template-columns:auto minmax(0,1fr) auto;row-gap:8px}
    .ezy-lrow > .ezy-lrow__c{grid-column:2 / -1}
    .ezy-lrow > .ezy-pill{grid-column:2}
    .ezy-lrow > .ezy-btn{grid-column:3}
}
.ezy-pager span{align-self:center;width:auto;height:auto;border:0;background:none;color:var(--ezy-faint);padding:0 2px;font-weight:400}

/* keyboard focus: a quiet blue ring inside the item, and none at all after a mouse click */
.ezy-body a.ezy-lrow:focus, .ezy-body a.ezy-row:focus, .ezy-body a.ezy-tile:focus, .ezy-body a.ezy-side__link:focus,
.ezy-body a.ezy-navrow:focus, .ezy-body a.ezy-chip:focus, .ezy-body a.ezy-tab:focus, .ezy-body .ezy-btn:focus, .ezy-body .ezy-pager button:focus{outline:none}
.ezy-body a.ezy-lrow:focus-visible, .ezy-body a.ezy-row:focus-visible, .ezy-body a.ezy-tile:focus-visible, .ezy-body a.ezy-side__link:focus-visible,
.ezy-body a.ezy-navrow:focus-visible, .ezy-body a.ezy-chip:focus-visible, .ezy-body a.ezy-tab:focus-visible, .ezy-body .ezy-btn:focus-visible, .ezy-body .ezy-pager button:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}

/* ---- dashboard: the BPAY tile is the customer's panel alone, as large as the tile allows ---- */
.ezy-tile--bpay{display:flex;align-items:center;justify-content:center;padding:16px 20px}
.ezy-tile--bpay img{display:block;width:90%;max-width:270px;height:auto;max-height:76px;object-fit:contain}

/* ---- module pages: the full trail, and the way back to the service or domain the customer came from ---- */
.ezy-trail{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 12px}
.ezy-trail .ezy-crumbs{flex:1 1 auto;min-width:0;margin:0;flex-wrap:wrap;row-gap:2px}
.ezy-trail__back{flex:0 0 auto;margin-left:auto;max-width:100%}
.ezy-trail__back span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezy-trail-merged .zm-crumbs{display:none}
/* the sign-in challenge of the MFA module is not a place to wander off from */
.ezy-body:has(#ezymfa-fallback) .ezy-trail{display:none}

/* ---- tile icons in the corporate green (a tile that needs attention keeps its amber) ---- */
.ezy-tile__ico{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-link svg{color:var(--ezy-green)}


/* ==== 00-base.css ==== */
/* ---- Base layer: the parent theme's Bootstrap 4 components, restyled to the portal ----
   Everything here is scoped to .ezy-body and uses only Bootstrap's own class names, so it reaches
   pages this theme has no template for: addon and server module pages, the store, and anything
   WHMCS adds later. Page-specific rules belong in the other files in this folder. */

/* type */
.ezy-body h1, .ezy-body h2, .ezy-body h3, .ezy-body h4, .ezy-body h5, .ezy-body h6,
.ezy-body .h1, .ezy-body .h2, .ezy-body .h3, .ezy-body .h4, .ezy-body .h5, .ezy-body .h6{font-family:inherit;color:var(--ezy-head);font-weight:700;letter-spacing:-.01em}
.ezy-main h1, .ezy-main .h1{font-size:26px;line-height:1.25;margin:0 0 6px}
.ezy-main h2, .ezy-main .h2{font-size:20px;margin:0 0 10px}
.ezy-main h3, .ezy-main .h3{font-size:16px;margin:0 0 8px}
.ezy-main h4, .ezy-main .h4{font-size:15px;margin:0 0 8px}
.ezy-main h5, .ezy-main .h5, .ezy-main h6, .ezy-main .h6{font-size:14px;margin:0 0 6px}
.ezy-main p{margin:0 0 12px}
.ezy-body .text-muted{color:var(--ezy-muted) !important}
.ezy-body small, .ezy-body .small{font-size:12.5px}
.ezy-body hr{border-top-color:var(--ezy-line)}
.ezy-main .primary-content > h1:first-child, .ezy-main .primary-content > .header-lined:first-child{margin-top:0}
.ezy-main .header-lined{border:0;padding:0;margin:0 0 18px}
.ezy-main .header-lined h1{border:0;padding:0}

/* buttons */
.ezy-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border-radius:9px;border:1px solid var(--ezy-line);background:#fff;color:var(--ezy-body);font:inherit;font-weight:600;font-size:13px;line-height:1.2;box-shadow:none;text-shadow:none;background-image:none;transition:background-color .12s,border-color .12s,color .12s}
.ezy-body .btn:hover{border-color:#cbd5e1;color:var(--ezy-head);background:#fff}
.ezy-body .btn:focus, .ezy-body .btn.focus{outline:none;box-shadow:none}
.ezy-body .btn:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}
.ezy-body .btn-sm, .ezy-body .btn-xs, .ezy-body .btn-group-sm > .btn{min-height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.ezy-body .btn-lg{min-height:44px;padding:0 20px;font-size:14px;border-radius:10px}
.ezy-body .btn-block{display:flex;width:100%}
.ezy-body .btn-primary, .ezy-body .btn-primary:not(:disabled):not(.disabled):active{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .btn-primary:hover, .ezy-body .btn-primary:focus{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-body .btn-success{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}
.ezy-body .btn-success:hover, .ezy-body .btn-success:focus{background:#eaf4cf;border-color:#c3dc82;color:var(--ezy-green-text)}
.ezy-body .btn-danger{background:#fff;border-color:#f3c5c2;color:#b42318}
.ezy-body .btn-danger:hover, .ezy-body .btn-danger:focus{background:#fef3f2;border-color:#e9a29d;color:#912018}
.ezy-body .btn-warning{background:var(--ezy-amber-bg);border-color:var(--ezy-amber-line);color:var(--ezy-amber-text)}
.ezy-body .btn-warning:hover, .ezy-body .btn-warning:focus{background:#fef3c7;border-color:#fcd34d;color:var(--ezy-amber-text)}
.ezy-body .btn-info{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:var(--ezy-blue)}
.ezy-body .btn-info:hover, .ezy-body .btn-info:focus{background:#e3f0fb;border-color:#a9d0ef;color:var(--ezy-blue-dark)}
.ezy-body .btn-secondary, .ezy-body .btn-default, .ezy-body .btn-light, .ezy-body .btn-outline-secondary, .ezy-body .btn-outline-primary{background:#fff;border-color:var(--ezy-line);color:var(--ezy-body)}
.ezy-body .btn-outline-primary{color:var(--ezy-blue);border-color:var(--ezy-blue-line)}
.ezy-body .btn-outline-primary:hover{background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);border-color:#a9d0ef}
.ezy-body .btn-link{border-color:transparent;background:none;color:var(--ezy-blue);padding:0 6px}
.ezy-body .btn-link:hover{border-color:transparent;background:none;color:var(--ezy-blue-dark)}
.ezy-body .btn.disabled, .ezy-body .btn:disabled{opacity:.55;cursor:not-allowed}
.ezy-body .btn-group > .btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}
.ezy-body .btn-group > .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}

/* forms */
.ezy-body label, .ezy-body .col-form-label{font-weight:600;font-size:13px;color:var(--ezy-head);margin-bottom:6px;padding-top:0;padding-bottom:0}
.ezy-body .form-check-label, .ezy-body label.radio-inline, .ezy-body label.checkbox-inline, .ezy-body .custom-control-label{font-weight:500;color:var(--ezy-body);margin-bottom:0}
.ezy-body label.radio-inline, .ezy-body label.checkbox-inline{margin-right:16px}
.ezy-body .form-group{margin-bottom:18px}
.ezy-body .form-control, .ezy-body .custom-select{height:40px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:9px;background-color:#fff;color:var(--ezy-head);font:inherit;font-size:14px;box-shadow:none;transition:border-color .12s,box-shadow .12s}
.ezy-body textarea.form-control{height:auto;min-height:96px;padding:10px 12px;line-height:1.5}
.ezy-body select.form-control[multiple], .ezy-body select.form-control[size]{height:auto;padding:6px}
.ezy-body .form-control::placeholder{color:var(--ezy-faint)}
.ezy-body .form-control:focus, .ezy-body .custom-select:focus{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12);outline:0}
.ezy-body .form-control:disabled, .ezy-body .form-control[readonly]{background:var(--ezy-page);color:var(--ezy-muted)}
.ezy-body .form-control-sm, .ezy-body .input-sm{height:32px;font-size:13px;border-radius:8px}
.ezy-body .form-control-lg, .ezy-body .input-lg{height:46px;font-size:15px;border-radius:10px}
.ezy-body .form-control.is-invalid, .ezy-body .has-error .form-control{border-color:#e9a29d}
.ezy-body .form-control.is-invalid:focus{box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.ezy-body .invalid-feedback, .ezy-body .has-error .help-block{color:#b42318;font-size:12.5px;margin-top:6px}
.ezy-body .form-text, .ezy-body .help-block{color:var(--ezy-muted);font-size:12.5px;margin-top:6px}
.ezy-body .input-group-text{border:1px solid var(--ezy-line);background:var(--ezy-page);color:var(--ezy-muted);border-radius:9px;font-size:13px;padding:0 12px}
.ezy-body .input-group > .form-control:not(:first-child), .ezy-body .input-group > .custom-select:not(:first-child), .ezy-body .input-group-append > .btn, .ezy-body .input-group-append > .input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}
.ezy-body .input-group > .form-control:not(:last-child), .ezy-body .input-group > .custom-select:not(:last-child), .ezy-body .input-group-prepend > .btn, .ezy-body .input-group-prepend > .input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}
.ezy-body .input-group .btn{min-height:40px}
.ezy-body input[type=checkbox], .ezy-body input[type=radio]{accent-color:var(--ezy-blue)}
.ezy-body .form-check{margin-bottom:8px}
.ezy-body fieldset{margin:0;padding:0;border:0}
.ezy-body legend{font-size:15px;font-weight:700;color:var(--ezy-head);margin-bottom:12px}

/* cards and panels */
.ezy-main .card, .ezy-main .panel{background:var(--ezy-card);border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);margin-bottom:18px;overflow:hidden}
.ezy-main .card-header, .ezy-main .panel-heading{background:#fff;border-bottom:1px solid var(--ezy-line);padding:16px 20px;font-weight:700;color:var(--ezy-head)}
.ezy-main .card-header .card-title, .ezy-main .panel-title, .ezy-main .card-body > .card-title{font-size:15px;font-weight:700;color:var(--ezy-head);margin:0}
.ezy-main .card-body > .card-title{margin-bottom:14px}
.ezy-main .card-body, .ezy-main .panel-body{padding:20px}
.ezy-main .card-footer, .ezy-main .panel-footer{background:#fff;border-top:1px solid var(--ezy-line);padding:14px 20px}
.ezy-main .card-footer .btn + .btn{margin-left:4px}
.ezy-main .card .card{box-shadow:none}
.ezy-main .card > .list-group, .ezy-main .card > .table, .ezy-main .card > .table-container{margin:0;border:0}
.ezy-main .card-accent-blue, .ezy-main .card-accent-green, .ezy-main .card-accent-red, .ezy-main .card-accent-gold, .ezy-main [class*="card-accent-"]{border-top:1px solid var(--ezy-line)}
.ezy-main .well{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:20px;box-shadow:none}
.ezy-main .jumbotron{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:32px}

/* WHMCS side panels (pages that keep the parent layout) */
.ezy-main .sidebar .card{margin-bottom:18px}
.ezy-main .sidebar .card-header{padding:14px 18px}
.ezy-main .sidebar .card-header .card-title{font-size:14px}
.ezy-main .sidebar .card-header .card-minimise{color:var(--ezy-faint)}
.ezy-main .sidebar .card-header i:first-child{color:var(--ezy-faint);margin-right:6px}
.ezy-main .sidebar .card-body{padding:16px 18px;font-size:13.5px}
.ezy-main .sidebar .list-group-item{border:0;border-radius:0;padding:10px 18px;font-size:13.5px;font-weight:500;color:var(--ezy-body);background:#fff}
.ezy-main .sidebar .list-group-item + .list-group-item{border-top:1px solid var(--ezy-line)}
.ezy-main .sidebar a.list-group-item:hover{background:#f8fafc;color:var(--ezy-head)}
.ezy-main .sidebar .list-group-item.active{background:var(--ezy-blue-tint);color:var(--ezy-blue);font-weight:600;box-shadow:inset 3px 0 0 var(--ezy-blue)}
.ezy-main .sidebar .list-group-item.disabled{opacity:.5}

/* list groups */
.ezy-main .list-group{border-radius:var(--ezy-r)}
.ezy-main .list-group-item{border-color:var(--ezy-line);padding:12px 18px;color:var(--ezy-body)}
.ezy-main a.list-group-item:hover, .ezy-main .list-group-item-action:hover{background:#f8fafc;color:var(--ezy-head)}
.ezy-main .list-group-item.active{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:var(--ezy-blue);font-weight:600}
.ezy-main .list-group-item .badge{background:#f1f5f9;color:var(--ezy-muted)}

/* alerts */
.ezy-body .alert{border:1px solid var(--ezy-line);border-radius:10px;padding:13px 16px;font-size:13.5px;margin-bottom:18px;background:#fff;color:var(--ezy-body);text-shadow:none}
.ezy-body .alert-success{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}
.ezy-body .alert-info, .ezy-body .alert-primary{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:#0b4f85}
.ezy-body .alert-warning{background:var(--ezy-amber-bg);border-color:var(--ezy-amber-line);color:var(--ezy-amber-text)}
.ezy-body .alert-danger, .ezy-body .alert-error{background:#fef3f2;border-color:#f3c5c2;color:#912018}
.ezy-body .alert a, .ezy-body .alert .alert-link{color:inherit;font-weight:700;text-decoration:underline}
.ezy-body .alert > :last-child{margin-bottom:0}
.ezy-body .alert a.btn{text-decoration:none;font-weight:600}

/* tables */
.ezy-main .table{color:var(--ezy-body);margin-bottom:18px;font-size:13.5px;background:#fff;border-collapse:separate;border-spacing:0}
.ezy-main .table th, .ezy-main .table td{border:0;border-bottom:1px solid var(--ezy-line);padding:12px 16px;vertical-align:middle}
.ezy-main .table thead th{background:#f8fafc;border-top:1px solid var(--ezy-line);border-bottom:1px solid var(--ezy-line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);text-align:left;white-space:nowrap}
.ezy-main .table tbody tr:last-child > td{border-bottom:0}
.ezy-main .table-striped tbody tr:nth-of-type(odd), .ezy-main .table-striped tbody tr:nth-of-type(even){background:#fff}
.ezy-main .table-hover tbody tr:hover, .ezy-main .table-list tbody tr:hover{background:#f8fafc}
.ezy-main .table-bordered{border:1px solid var(--ezy-line);border-radius:var(--ezy-r);overflow:hidden}
.ezy-main .table-bordered th, .ezy-main .table-bordered td{border-left:0;border-right:0}
.ezy-main .table-bordered thead th{border-top:0}
.ezy-main .table-sm th, .ezy-main .table-sm td{padding:8px 12px}
.ezy-main .table-container{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden;margin-bottom:18px}
.ezy-main .table-container .table{margin:0}
.ezy-main .table-container thead th{border-top:0}
.ezy-main .table-responsive{border:0}
.ezy-main .table a{font-weight:600}
/* DataTables (the parent's client-area lists and many module pages) */
.ezy-main .dataTables_wrapper .dataTables_info{background:#fff;border-top:1px solid var(--ezy-line);border-radius:0;color:var(--ezy-muted);font-size:12.5px;padding:14px 16px;float:left}
.ezy-main .dataTables_wrapper .dataTables_filter{padding:12px 16px;float:none;text-align:right;border-bottom:1px solid var(--ezy-line)}
.ezy-main .dataTables_wrapper .dataTables_filter label{margin:0}
.ezy-main .dataTables_wrapper .dataTables_filter input{height:34px;border:1px solid var(--ezy-line);border-radius:8px;padding:0 12px;font:inherit;font-size:13px;background:#fff;box-shadow:none;width:220px}
.ezy-main .dataTables_wrapper .dataTables_length{padding:12px 16px;color:var(--ezy-muted);font-size:12.5px}
.ezy-main .dataTables_wrapper .dataTables_length select{height:30px;border:1px solid var(--ezy-line);border-radius:8px;padding:0 6px;font:inherit;background:#fff}
.ezy-main .dataTables_wrapper .dataTables_paginate{padding:10px 16px;border-top:1px solid var(--ezy-line)}
.ezy-main .dataTables_wrapper .dataTables_paginate .pagination{margin:0;justify-content:flex-end}
.ezy-main table.dataTable thead th.sorting, .ezy-main table.dataTable thead th.sorting_asc, .ezy-main table.dataTable thead th.sorting_desc{cursor:pointer}
.ezy-main table.dataTable{margin:0 !important}

/* status labels and badges */
.ezy-body .badge, .ezy-body .label{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;background:#f1f5f9;color:var(--ezy-muted);border:0;text-shadow:none}
.ezy-body .badge-primary, .ezy-body .label-primary, .ezy-body .badge-info, .ezy-body .label-info{background:var(--ezy-blue-tint);color:var(--ezy-blue);box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}
.ezy-body .badge-success, .ezy-body .label-success, .ezy-body .status-active, .ezy-body .status-open, .ezy-body .status-completed, .ezy-body .status-paid, .ezy-body .status-accepted, .ezy-body .status-delivered{background:var(--ezy-green-tint);color:var(--ezy-green-text);box-shadow:inset 0 0 0 1px #d5e8a3}
.ezy-body .badge-warning, .ezy-body .label-warning, .ezy-body .status-pending, .ezy-body .status-suspended, .ezy-body .status-unpaid, .ezy-body .status-grace, .ezy-body .status-redemption, .ezy-body .status-customer-reply, .ezy-body .status-onhold, .ezy-body .status-inprogress, .ezy-body .status-pending-transfer, .ezy-body .status-pending-registration{background:var(--ezy-amber-bg);color:var(--ezy-amber-text);box-shadow:inset 0 0 0 1px var(--ezy-amber-line)}
.ezy-body .badge-danger, .ezy-body .label-danger, .ezy-body .status-expired, .ezy-body .status-fraud, .ezy-body .status-overdue, .ezy-body .status-collections, .ezy-body .status-dead, .ezy-body .status-lost{background:#fef3f2;color:#b42318;box-shadow:inset 0 0 0 1px #f3c5c2}
.ezy-body .badge-secondary, .ezy-body .label-default, .ezy-body .status-cancelled, .ezy-body .status-terminated, .ezy-body .status-closed, .ezy-body .status-refunded, .ezy-body .status-transferred-away, .ezy-body .status-answered, .ezy-body .status-draft{background:#f1f5f9;color:var(--ezy-muted);box-shadow:inset 0 0 0 1px var(--ezy-line)}
.ezy-body .label.status, .ezy-body span.status{display:inline-flex}

/* tabs and pills */
.ezy-main .nav-tabs{border-bottom:1px solid var(--ezy-line);margin-bottom:18px;gap:4px}
.ezy-main .nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;border-radius:0;margin:0 0 -1px;padding:10px 14px;color:var(--ezy-muted);font-weight:600;font-size:13.5px;background:none}
.ezy-main .nav-tabs .nav-link:hover{color:var(--ezy-head);border-bottom-color:transparent}
.ezy-main .nav-tabs .nav-link.active, .ezy-main .nav-tabs .nav-item.show .nav-link{color:var(--ezy-blue);border-bottom-color:var(--ezy-blue);background:none}
.ezy-main .nav-tabs .nav-link.disabled{opacity:.5}
.ezy-main .nav-pills .nav-link{border-radius:999px;color:var(--ezy-body);font-weight:600;font-size:13px;padding:6px 14px}
.ezy-main .nav-pills .nav-link.active{background:var(--ezy-blue);color:#fff}

/* pagination */
.ezy-body .pagination{gap:4px;margin:0 0 18px}
.ezy-body .page-link{min-width:28px;height:28px;display:grid;place-items:center;padding:0 9px;border:1px solid var(--ezy-line);border-radius:7px !important;background:#fff;color:var(--ezy-body);font-weight:600;font-size:12.5px;margin:0}
.ezy-body .page-link:hover{border-color:#cbd5e1;background:#fff;color:var(--ezy-head)}
.ezy-body .page-item.active .page-link{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .page-item.disabled .page-link{color:var(--ezy-faint);background:#fff;border-color:var(--ezy-line)}

/* progress */
.ezy-body .progress{height:8px;border-radius:999px;background:#eef2f6;box-shadow:none;margin-bottom:18px}
.ezy-body .progress-bar{background:var(--ezy-blue);border-radius:999px;font-size:0;box-shadow:none}
.ezy-body .progress-bar-success, .ezy-body .progress-bar.bg-success{background-color:var(--ezy-green) !important}
.ezy-body .progress-bar-warning, .ezy-body .progress-bar.bg-warning{background-color:var(--ezy-orange) !important}
.ezy-body .progress-bar-danger, .ezy-body .progress-bar.bg-danger{background-color:#d64541 !important}

/* dropdowns, popovers, tooltips, modals */
.ezy-body .dropdown-menu{border:1px solid var(--ezy-line);border-radius:10px;box-shadow:0 8px 28px rgba(15,23,42,.12);padding:6px;font-size:13.5px;min-width:200px}
.ezy-body .dropdown-item{border-radius:7px;padding:8px 12px;color:var(--ezy-body);font-weight:500}
.ezy-body .dropdown-item:hover, .ezy-body .dropdown-item:focus{background:#f8fafc;color:var(--ezy-head)}
.ezy-body .dropdown-item.active, .ezy-body .dropdown-item:active{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-body .dropdown-divider{border-top-color:var(--ezy-line);margin:6px 0}
.ezy-body .popover{border:1px solid var(--ezy-line);border-radius:10px;box-shadow:0 8px 28px rgba(15,23,42,.12);font-family:inherit;font-size:13.5px}
.ezy-body .popover-header{background:#fff;border-bottom:1px solid var(--ezy-line);font-size:14px;font-weight:700;color:var(--ezy-head)}
.ezy-body .tooltip-inner{background:var(--ezy-head);border-radius:7px;font-size:12px;padding:6px 10px}
.ezy-body .modal-content{border:0;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.25);overflow:hidden}
.ezy-body .modal-dialog .modal-content{border:1px solid var(--ezy-line)}
.ezy-body .modal-header{background:#fff;border-bottom:1px solid var(--ezy-line);padding:16px 20px;align-items:center}
.ezy-body .modal-title{font-size:16px;font-weight:700;color:var(--ezy-head)}
.ezy-body .modal-header .close{color:var(--ezy-faint);opacity:1;text-shadow:none;font-weight:400}
.ezy-body .modal-body{padding:20px;color:var(--ezy-body)}
.ezy-body .modal-footer{background:#fff;border-top:1px solid var(--ezy-line);padding:14px 20px}
.ezy-body .modal-backdrop{background:#0f172a}

/* breadcrumb on pages that keep the parent layout */
.ezy-main .breadcrumb-item, .ezy-main .breadcrumb-item.active{color:var(--ezy-muted)}
.ezy-main .breadcrumb-item a{color:var(--ezy-muted)}
.ezy-main .breadcrumb-item a:hover{color:var(--ezy-blue)}
.ezy-main .master-breadcrumb{margin-bottom:16px}

/* helpers many WHMCS pages use */
.ezy-body .bg-primary{background-color:var(--ezy-blue) !important}
.ezy-body .text-primary{color:var(--ezy-blue) !important}
.ezy-body .text-success{color:var(--ezy-green-text) !important}
.ezy-body .text-danger{color:#b42318 !important}
.ezy-body .text-warning{color:#b45309 !important}
.ezy-body .text-info{color:var(--ezy-blue) !important}
.ezy-body .border, .ezy-body .border-top, .ezy-body .border-bottom{border-color:var(--ezy-line) !important}

/* found while building the page groups */
.ezy-body .btn.w-hidden, .ezy-body .btn.hidden, .ezy-body .btn[hidden]{display:none}
.ezy-body .label{margin-bottom:0}
.ezy-body select.form-control:not([multiple]):not([size]):not(.custom-select){appearance:none;-webkit-appearance:none;padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px 16px}
.ezy-body .custom-file{height:40px}
.ezy-body .custom-file-label{height:40px;padding:0 12px;line-height:38px;border:1px solid var(--ezy-line);border-radius:9px;color:var(--ezy-muted);font-weight:500;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ezy-body .custom-file-label::after{height:38px;line-height:38px;padding:0 12px;background:var(--ezy-page);border-left:1px solid var(--ezy-line);color:var(--ezy-body);font-weight:600;font-size:13px;border-radius:0 8px 8px 0}

/* the site footer sits inside the main column: keep its measured type (see overrides.css) clear of the rules above */
.ezy-body .ezy-sitefoot h5{font-family:"Open Sans",sans-serif;font-size:16px;font-weight:700;line-height:22px;letter-spacing:.2px;color:#d6d6d6;text-transform:none;margin:0 0 10px}
.ezy-body .ezy-sitefoot h5.ezy-sitefoot__payhead{margin-top:54px;margin-bottom:16px}
.ezy-body .ezy-sitefoot p{margin:0 0 10px}

/* ==== 05-lists.css ==== */
/* ---- sortable list headings (js/portal.js, data-ezy-sortbar) ----
   The strip carries the same classes as the rows beneath it (ezy-lrow ezy-lrow--x, or ezy-svc ezy-svc--list),
   so it has their grid, gap and side padding and each heading sits over its column. This file comes before
   the stylesheets that define those row variants, so its selectors are written to outweigh them. */
.ezy-card .ezy-lhead{height:38px;padding-top:0;padding-bottom:0;border-left-color:transparent;background:none;cursor:default;font-size:12.5px;color:var(--ezy-muted)}
.ezy-card .ezy-lhead:hover{background:none}
/* each cell reaches 6px past its column on both sides, the room a heading needs for its focus ring; the
   heading text itself starts on the column edge. A cell too narrow for its headings clips them. */
.ezy-lhead > span{display:flex;align-items:center;gap:6px;min-width:0;height:24px;margin:0 -6px;overflow:hidden;white-space:nowrap}
.ezy-body .ezy-sortbtn{position:relative;display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;margin:0;padding:0 6px;border:0;border-radius:6px;background:none;font:inherit;font-weight:600;line-height:1;color:var(--ezy-muted);white-space:nowrap;cursor:pointer}
.ezy-body .ezy-sortbtn:hover{color:var(--ezy-head)}
.ezy-body .ezy-sortbtn.ezy-is-on{color:var(--ezy-blue)}
/* the caret: two small triangles, the one in use in brand blue */
.ezy-sortbtn i{position:relative;flex:none;width:8px;height:12px}
.ezy-sortbtn i::before, .ezy-sortbtn i::after{content:"";position:absolute;left:0;border-left:4px solid transparent;border-right:4px solid transparent}
.ezy-sortbtn i::before{top:0;border-bottom:5px solid #cbd5e1}
.ezy-sortbtn i::after{bottom:0;border-top:5px solid #cbd5e1}
.ezy-sortbtn:hover i::before{border-bottom-color:var(--ezy-faint)}
.ezy-sortbtn:hover i::after{border-top-color:var(--ezy-faint)}
.ezy-sortbtn[data-dir="asc"] i::before{border-bottom-color:var(--ezy-blue)}
.ezy-sortbtn[data-dir="asc"] i::after{border-top-color:#cbd5e1}
.ezy-sortbtn[data-dir="desc"] i::after{border-top-color:var(--ezy-blue)}
.ezy-sortbtn[data-dir="desc"] i::before{border-bottom-color:#cbd5e1}
/* the state in words, for screen readers */
.ezy-sortbtn__state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* the same choice as a menu; only narrow screens show it */
.ezy-body label.ezy-sortsel{display:none;align-items:center;gap:12px;margin:0;font-size:12.5px;font-weight:600;color:var(--ezy-muted)}
.ezy-sortsel select{flex:1;min-width:0;height:36px;padding:0 34px 0 12px;border:1px solid var(--ezy-line);border-radius:9px;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px 16px;font:inherit;font-weight:400;font-size:14px;color:var(--ezy-head);cursor:pointer}

/* beside "Showing 1 to 10 of 23": the order in use, and the way back to the usual one */
.ezy-sortnote::before{content:"\00b7";margin:0 8px;color:var(--ezy-faint)}
.ezy-body .ezy-sortnote button{height:24px;margin:-6px -6px -6px 6px;padding:0 6px;border:0;border-radius:6px;background:none;font:inherit;font-weight:600;color:var(--ezy-blue);cursor:pointer}
.ezy-body .ezy-sortnote button:hover{color:var(--ezy-blue-dark)}

/* keyboard focus, as elsewhere in the portal: a blue ring inside the item, none after a mouse click */
.ezy-body .ezy-sortbtn:focus, .ezy-body .ezy-sortnote button:focus, .ezy-body .ezy-sortsel select:focus{outline:none}
.ezy-body .ezy-sortbtn:focus-visible, .ezy-body .ezy-sortnote button:focus-visible, .ezy-body .ezy-sortsel select:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}

/* with headings above them, the rows need not repeat each column's label */
@media (min-width: 992px){
    /* the small labels inside each row stay visible beside the sortable headings (owner's choice, 11 October 2026) */
}
/* where the rows stack, there are no columns to head: the strip becomes the Sort menu */
@media (max-width: 991px){
    .ezy-card .ezy-lhead{display:block;height:auto;padding-top:10px;padding-bottom:10px}
    .ezy-lhead > span{display:none}
    .ezy-body label.ezy-sortsel{display:flex}
    .ezy-sortnote{display:none}
}

/* ==== 10-domains.css ==== */
/* ---- Domains: My Domains, domain details and its sub-pages, bulk management, domain pricing ---- */

/* My Domains list: a list row with a tick box in front */
.ezy-lrow--domain{grid-template-columns:16px 40px minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) 150px 96px;cursor:pointer}
.ezy-lrow--domain:hover{background:#f8fafc}
.ezy-body label.ezy-check{display:grid;place-items:center;width:32px;height:32px;margin:-8px;cursor:pointer}
.ezy-check input, .ezy-bulk__all input{width:16px;height:16px;margin:0;cursor:pointer}
.ezy-domname{display:flex;align-items:center;gap:8px;overflow:visible}
.ezy-domname > a:first-child{color:var(--ezy-head);min-width:0;overflow:hidden;text-overflow:ellipsis}
.ezy-domname > a:first-child:hover{color:var(--ezy-blue)}
.ezy-domname .ssl-info{display:inline-flex;flex:0 0 auto}
.ezy-domname .ssl-info:empty{display:none}
.ezy-domname .ssl-info img{width:16px;height:16px}
.ezy-domname__ext{display:inline-flex;flex:0 0 auto;color:var(--ezy-faint)}
.ezy-domname__ext:hover{color:var(--ezy-blue)}
.ezy-domname__ext svg{width:14px;height:14px}
.ezy-bulk{display:flex;align-items:center;gap:12px 18px;padding:10px 20px;border-bottom:1px solid var(--ezy-line);background:#fafbfc}
.ezy-body label.ezy-bulk__all{display:inline-flex;align-items:center;gap:18px;margin:0;font-size:12.5px;font-weight:600;color:var(--ezy-muted);cursor:pointer;white-space:nowrap}
.ezy-bulk__acts{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ezy-bulk .ezy-btn svg{width:15px;height:15px;color:var(--ezy-muted)}
.ezy-bulk button.ezy-btn:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body a.ezy-btn.disabled{opacity:.55;pointer-events:none}

/* the "Domain Details Management" menu as a card */
.ezy-domnav .ezy-navrow.active{color:var(--ezy-blue);background:var(--ezy-blue-tint);box-shadow:inset 3px 0 0 var(--ezy-blue)}
.ezy-domnav a.ezy-navrow.active:hover{color:var(--ezy-blue);background:var(--ezy-blue-tint)}
.ezy-domnav .ezy-navrow.active .ezy-go{color:var(--ezy-blue)}
.ezy-domnav > div:last-child > .ezy-navrow:last-child{border-radius:0 0 var(--ezy-r) var(--ezy-r)}

/* domain details */
.ezy-kv__v a{color:var(--ezy-head)}
.ezy-kv__v a:hover{color:var(--ezy-blue)}
.ezy-kv__v img{vertical-align:-3px;margin-right:4px}
.ezy-acts--domain{grid-template-columns:repeat(2,minmax(0,1fr))}
.ezy-acts--domain .ezy-act{white-space:normal;line-height:1.3}
a.ezy-act:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .tab-content > .tab-pane > .ezy-stack > .alert, .ezy-stack > .alert{margin:0}
.ezy-setting{display:flex;align-items:center;gap:18px;margin:18px 0 0;padding:16px 18px;border:1px solid var(--ezy-line);border-radius:10px}
.ezy-setting__m{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.ezy-setting__l{font-weight:600;color:var(--ezy-head)}
.ezy-pad > p:last-child, .ezy-pad > form:last-child, .ezy-pad > form > .form-group:last-child{margin-bottom:0}
.ezy-pad > .alert:last-child{margin-bottom:0}
.ezy-form{max-width:760px}
.ezy-form .form-group.row > .col-form-label{padding-top:10px}
.ezy-form .form-check{padding-left:0}
.ezy-form .form-check label{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ezy-body);margin:0}
.ezy-form .form-check .form-check-input{position:static;margin:0;flex:0 0 auto}
.ezy-form .form-check > .form-check-input{float:left;margin:3px 10px 0 0}
.ezy-pad--lead{border-bottom:1px solid var(--ezy-line);color:var(--ezy-muted)}
.ezy-addon{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-addon:last-child{border-bottom:0}
.ezy-addon__m{flex:1;min-width:0}
.ezy-addon__t{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ezy-head)}
.ezy-addon__s{font-size:13px;color:var(--ezy-muted);margin-top:2px}
.ezy-addon form{display:flex;gap:8px;flex:0 0 auto;margin:0}

/* forms that are tables (DNS records, email forwarders) and the pricing table */
.ezy-tablewrap{overflow-x:auto}
.ezy-main .ezy-card .ezy-tablewrap > .table{margin:0}
.ezy-main .ezy-card .ezy-tablewrap > .table thead th{border-top:0}
.ezy-main .ezy-card .ezy-tablewrap > .table th:first-child, .ezy-main .ezy-card .ezy-tablewrap > .table td:first-child{padding-left:20px}
.ezy-main .ezy-card .ezy-tablewrap > .table th:last-child, .ezy-main .ezy-card .ezy-tablewrap > .table td:last-child{padding-right:20px}
.ezy-dnstable{min-width:620px}
.ezy-dnstable th:nth-child(1){width:24%}
.ezy-dnstable th:nth-child(2){width:25%}
.ezy-dnstable th:nth-child(4){width:15%}
.ezy-main .ezy-dnstable td, .ezy-main .ezy-fwdtable td{padding-top:9px;padding-bottom:9px}
.ezy-fwdtable{min-width:520px}
.ezy-fwdtable th:nth-child(1), .ezy-fwdtable th:nth-child(3){width:36%}
.ezy-fwdtable__at{color:var(--ezy-muted);white-space:nowrap;text-align:center}
.ezy-fwdtable__at svg{width:15px;height:15px;vertical-align:-3px;margin-left:8px;color:var(--ezy-faint)}
.ezy-formfoot{justify-content:space-between;gap:12px;margin-top:0}
.ezy-formfoot__btns{display:flex;gap:8px;margin-left:auto}
.ezy-confirm{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

/* EPP code */
.ezy-epp{display:flex;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--ezy-blue-line);background:var(--ezy-blue-tint);border-radius:10px}
.ezy-epp__m{flex:1;min-width:0}
.ezy-epp__l{font-size:12.5px;color:var(--ezy-muted)}
.ezy-epp__v{font:600 18px/1.4 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:var(--ezy-head);overflow-wrap:anywhere;user-select:all}
.ezy-epp .btn svg{width:15px;height:15px}

/* WHOIS contact forms (contact information, bulk contact change) */
.ezy-whois{padding-top:2px}
.ezy-whois .form-check{padding-left:0;margin-bottom:12px}
.ezy-whois .form-check label{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ezy-head);margin:0}
.ezy-whois .form-check .form-check-input{position:static;margin:0;flex:0 0 auto}
.ezy-whois__pick{padding-left:26px;max-width:486px}
.ezy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-left:26px}
.ezy-fields .form-group:nth-last-child(-n+2){margin-bottom:0}
.ezy-fields .form-group:nth-last-child(2):nth-child(even){margin-bottom:18px}

/* bulk management: the domains a change applies to */
.ezy-domtags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0}
.ezy-domtags li{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#f1f5f9;color:var(--ezy-head);font-size:12.5px;font-weight:600}

/* domain pricing */
.ezy-main--wide .ezy-pricing{max-width:1240px;margin:0 auto}
.ezy-tldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.ezy-tldgrid .ezy-tile__line{color:var(--ezy-body);font-weight:600}
.ezy-band__actions form{margin:0}
.ezy-band__actions .currency-selector{min-width:220px}
.ezy-tools--wrap{flex-wrap:wrap}
.ezy-main .ezy-pricetable td{white-space:nowrap}
.ezy-main .ezy-pricetable tbody tr:last-child > td{border-bottom:1px solid var(--ezy-line)}
.ezy-pricetable b{color:var(--ezy-head);font-weight:600}
.ezy-pricetable small{color:var(--ezy-muted)}
.ezy-pricetable__tld{font-weight:600;color:var(--ezy-head)}
.ezy-pricetable__tld .ezy-pill{margin-left:8px;text-transform:capitalize}
.ezy-pricetable th:nth-child(1){width:20%}
.ezy-tablewrap ~ .ezy-card__foot{border-top:0}
.ezy-tablewrap ~ .ezy-formfoot{border-top:1px solid var(--ezy-line)}

@media (max-width: 991px){
    .ezy-lrow--domain{grid-template-columns:16px minmax(0,1fr) auto}
    .ezy-lrow--domain > .ezy-svc__ico{display:none}
    .ezy-lrow--domain > .ezy-row__m{grid-column:2 / -1}
    .ezy-crumbs{flex-wrap:wrap;row-gap:2px}
    .ezy-crumbs a, .ezy-crumbs b{white-space:nowrap}
    .ezy-titleline--domain{flex-wrap:wrap;gap:6px 12px}
    .ezy-titleline--domain .ezy-band__title{min-width:0;overflow-wrap:anywhere}
    .ezy-bulk{flex-wrap:wrap}
    .ezy-bulk__acts{margin-left:0;justify-content:flex-start}
    .ezy-setting{flex-wrap:wrap}
    .ezy-addon{flex-wrap:wrap}
    .ezy-addon form{width:100%;padding-left:48px}
    .ezy-epp{flex-wrap:wrap}
    .ezy-fields{grid-template-columns:minmax(0,1fr);padding-left:0}
    .ezy-fields .form-group:nth-last-child(2){margin-bottom:18px}
    .ezy-whois__pick{padding-left:0}
    .ezy-formfoot{flex-wrap:wrap}
    .ezy-band__actions{flex-wrap:wrap}
    .ezy-tldgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ezy-main .ezy-pricetable td, .ezy-main .ezy-pricetable th{padding-left:12px;padding-right:12px}
}
@media (max-width: 575px){
    .ezy-tldgrid{grid-template-columns:minmax(0,1fr)}
    .ezy-acts--domain{grid-template-columns:minmax(0,1fr)}
}

/* ==== 20-support.css ==== */
/* ---- Support pages: tickets, knowledgebase, announcements, downloads, network status, contact ----
   Every template in this group wraps its content in .ezy-sup. Signed-in pages fill the main column
   as the other portal pages do; for visitors (no sidebar) the page is centred at a comfortable width. */
.ezy-sup{min-width:0}
.ezy-sup--narrow{max-width:880px}
.ezy-main--wide .ezy-sup{max-width:1180px;margin-left:auto;margin-right:auto}
.ezy-main--wide .ezy-sup--narrow{max-width:880px}
/* the visitor menu bar lines up with the centred page beneath it (support pages only) */
.ezy-main--wide:has(.ezy-sup) .ezy-guestnav{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.ezy-sup > .alert{margin:18px 0 0}
.ezy-sup > .alert:first-child{margin:0 0 18px}
.ezy-sup button.ezy-btn{font-family:inherit}
.ezy-sup button.ezy-btn:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-sup button.ezy-btn--primary:hover{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-sup .ezy-btn:disabled{opacity:.55;cursor:not-allowed}
.ezy-sup .ezy-btn svg{width:15px;height:15px}
.ezy-band__title{overflow-wrap:anywhere}

/* main column with an optional side column */
.ezy-sgrid{display:flex;align-items:flex-start;gap:18px;margin-top:18px}
.ezy-sgrid__main{flex:1 1 0;min-width:0}
.ezy-sgrid__side{flex:0 0 340px;min-width:0}
.ezy-sgrid__main--form{max-width:880px}
.ezy-sup .ezy-card{min-width:0}
.ezy-sup .ezy-card__head .ezy-pill, .ezy-sup .ezy-card__head .badge{flex:0 0 auto}
.ezy-sup-foot{display:flex;align-items:center;gap:8px;margin-top:18px}
.ezy-sup-foot .ezy-sp{margin-left:auto}
.ezy-sup .pagination{margin:18px 0 0}

/* rows that are links (articles, downloads) */
.ezy-sup .ezy-row{gap:14px;padding:13px 20px}
.ezy-sup a.ezy-row:hover, .ezy-sup a.ezy-row.kb-article-item:hover{background:#f8fafc;color:inherit}
.ezy-sup .ezy-row__i{color:var(--ezy-faint)}
.ezy-sup .ezy-row__i img{display:block;max-width:18px;max-height:18px;padding:0 !important}
.ezy-sup .ezy-row .ezy-go{width:14px;height:14px;color:var(--ezy-faint)}
.ezy-sup .ezy-row__s--wrap{white-space:normal}
.ezy-sup .ezy-row .show-on-card-hover{margin-left:8px}
.ezy-sup .ezy-row:last-child{border-bottom:0}
.ezy-sup .ezy-empty{padding:16px 20px;color:var(--ezy-muted)}

/* large search box (knowledgebase, downloads) */
.ezy-ksearch{display:flex;gap:8px;margin:18px 0 0}
.ezy-body label.ezy-ksearch__box{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;margin:0;border:1px solid var(--ezy-line);border-radius:10px;background:#fff;color:var(--ezy-faint);cursor:text;box-shadow:var(--ezy-shadow)}
.ezy-body label.ezy-ksearch__box:focus-within{border-color:var(--ezy-blue)}
.ezy-ksearch__box input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:inherit;font-size:15px;font-weight:400;color:var(--ezy-head)}
.ezy-ksearch__box input::placeholder{color:var(--ezy-faint)}
.ezy-ksearch .ezy-btn{height:46px;padding:0 22px;border-radius:10px;font-size:14px}

/* category and department cards */
.ezy-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ezy-main a.ezy-cat{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);color:inherit;min-width:0;transition:border-color .12s}
.ezy-main a.ezy-cat:hover{border-color:#a9d0ef;background:#fff;color:inherit}
.ezy-main a.ezy-cat:focus{outline:none}
.ezy-main a.ezy-cat:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}
.ezy-cat__i{width:40px;height:40px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;flex:0 0 auto}
.ezy-cat__m{flex:1;min-width:0}
.ezy-cat__t{font-size:15px;font-weight:650;color:var(--ezy-head);line-height:1.35}
.ezy-cat__s{font-size:13px;color:var(--ezy-muted);margin-top:3px}
.ezy-cat__n{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--ezy-muted);background:#f1f5f9;border-radius:999px;padding:2px 10px;white-space:nowrap}
.ezy-cat .ezy-go{flex:0 0 auto;width:14px;height:14px;color:var(--ezy-faint);align-self:center}
.ezy-cats--one{grid-template-columns:minmax(0,1fr)}

/* tag cloud and other free HTML that WHMCS puts in a side panel */
.ezy-sgrid__side .ezy-pad{overflow-wrap:anywhere}
.ezy-sgrid__side .ezy-pad a{display:inline-block;margin:0 6px 4px 0}

/* ---- ticket conversation ---- */
.ezy-msg{display:flex;gap:14px;padding:20px 20px 20px 17px;border-bottom:1px solid var(--ezy-line);border-left:3px solid transparent}
.ezy-msg:last-child{border-bottom:0;border-radius:0 0 var(--ezy-r) var(--ezy-r)}
.ezy-msg.staff{border-left-color:var(--ezy-blue);background:linear-gradient(90deg,#f6fafe,#fff 45%)}
.ezy-msg__av{width:36px;height:36px;border-radius:50%;background:#f1f5f9;color:var(--ezy-muted);font-weight:700;font-size:12.5px;display:grid;place-items:center;flex:0 0 auto;text-transform:uppercase}
.ezy-msg.staff .ezy-msg__av{background:var(--ezy-blue);color:#fff}
.ezy-msg__m{flex:1;min-width:0}
/* WHMCS supplies "Posted by <name> on <date> <badge>" as one sentence; only the three parts are shown */
.ezy-msg__by{display:flex;align-items:center;flex-wrap:wrap;row-gap:2px;min-height:36px;font-size:0;color:var(--ezy-muted)}
.ezy-msg__by .posted-by-name{order:1;font-size:14px;font-weight:650;color:var(--ezy-head)}
.ezy-body .ezy-msg__by .requestor-badge{order:2;float:none !important;margin-left:10px;font-size:12px;padding:3px 10px;background:#f1f5f9;color:var(--ezy-muted)}
.ezy-body .ezy-msg__by .requestor-type-operator{background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}
.ezy-msg__by .posted-on{order:3;margin-left:auto;padding-left:12px;font-size:12.5px;color:var(--ezy-muted);white-space:nowrap}
.ezy-msg__body{margin-top:6px;font-size:14px;line-height:1.6;color:var(--ezy-body);overflow-wrap:anywhere}
.ezy-msg__body p{margin:0 0 12px}
.ezy-msg__body > :last-child, .ezy-msg__body p:last-child{margin-bottom:0}
.ezy-msg__body hr{margin:14px 0 10px}
.ezy-msg__ip{font-size:12.5px;color:var(--ezy-muted)}
.ezy-msg__body img{max-width:100%;height:auto}
.ezy-msg__body pre, .ezy-article pre{padding:12px 14px;margin:0 0 12px;background:#f8fafc;border:1px solid var(--ezy-line);border-radius:8px;color:var(--ezy-head);font-size:12.5px;line-height:1.55;overflow-x:auto}
.ezy-msg__body blockquote, .ezy-article blockquote{margin:0 0 12px;padding:2px 0 2px 14px;border-left:3px solid var(--ezy-line);color:var(--ezy-muted);font-size:inherit}
.ezy-msg__body h1, .ezy-msg__body h2, .ezy-msg__body h3, .ezy-msg__body h4{font-size:15px;margin:0 0 8px;color:var(--ezy-head)}
.ezy-msg__body ul, .ezy-msg__body ol{margin:0 0 12px;padding-left:22px}
.ezy-msg__body table{margin:0 0 12px;border:1px solid var(--ezy-line)}
.ezy-msg__body table > thead > tr > th, .ezy-msg__body table > tbody > tr > td{border:1px solid var(--ezy-line);padding:6px 10px}
.ezy-msg__body table > thead > tr > th{background:#f8fafc;text-align:left}
.ezy-msg .rating, .ezy-msg .rating-done{float:none;padding:0;margin-top:12px;font-size:18px;line-height:1;text-align:right}
.ezy-msg .rating-done .rated{font-size:12.5px;color:var(--ezy-muted);margin-right:8px;direction:ltr}
.ezy-msg .rating span.star:before, .ezy-msg .rating-done span.star:before{color:#cbd5e1}
.ezy-msg .rating span.star:hover:before, .ezy-msg .rating span.star:hover ~ span.star:before, .ezy-msg .rating-done span.star.active:before{color:var(--ezy-orange)}
.ezy-msg .attachments{margin-top:14px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-msg .attachments strong{font-weight:600;color:var(--ezy-body)}
.ezy-msg .attachments strong svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.ezy-msg .attachment-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ezy-msg .attachment-list li{min-width:0;max-width:100%}
.ezy-att{display:inline-flex;align-items:center;gap:8px;max-width:100%;height:34px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-head);font-size:13px;font-weight:600}
a.ezy-att:hover{border-color:#cbd5e1;color:var(--ezy-blue)}
.ezy-att svg{width:15px;height:15px;color:var(--ezy-faint)}
.ezy-att .caption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezy-att--gone{color:var(--ezy-faint);border-style:dashed;font-weight:500}

/* ticket side panels: WHMCS's own panel markup (scripts look for .list-group inside #sidebarTicketCc) */
.ezy-tpanel .list-group{border-radius:0;margin:0}
.ezy-main .ezy-tpanel .list-group-item{border:0;border-bottom:1px solid var(--ezy-line);border-radius:0;padding:11px 20px;background:#fff;color:var(--ezy-head);font-weight:600;overflow-wrap:anywhere}
.ezy-main .ezy-tpanel .list-group-item:last-child{border-bottom:0}
.ezy-main .ezy-tpanel a.list-group-item:hover{background:#f8fafc}
.ezy-tpanel .list-group-item .title{display:block;font-size:12.5px;font-weight:400;color:var(--ezy-muted)}
.ezy-tpanel .list-group-item .title + br{display:none}
.ezy-tpanel .sidebar-menu-item-wrapper{display:flex;align-items:center;gap:10px}
.ezy-tpanel .sidebar-menu-item-icon-wrapper{color:var(--ezy-muted);width:18px;text-align:center}
.ezy-tpanel .sidebar-menu-item-label{flex:1;min-width:0}
.ezy-tpanel .ticket-cc-email{display:flex;align-items:center;gap:8px;font-weight:500}
.ezy-tpanel .ticket-cc-email .email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ezy-tpanel .ticket-cc-email .btn{min-height:26px;padding:0 6px;color:var(--ezy-muted)}
.ezy-tpanel__foot{padding:14px 20px;border-top:1px solid var(--ezy-line)}
.ezy-tpanel__foot::after{content:"";display:table;clear:both}
.ezy-tpanel__foot [class*="col-"]{float:left;width:50%;max-width:none;flex:none;padding:0 4px}
.ezy-tpanel__foot [class*="col-"]:first-child{padding-left:0}
.ezy-tpanel__foot [class*="col-"]:last-child{padding-right:0}
.ezy-tpanel__foot .alert{margin:10px 0 0;padding:8px 12px;font-size:12.5px}
.ezy-tpanel__foot form{margin:0}
/* scroll target for "Reply": the padding clears the fixed top bar; clicks pass through it */
.ezy-reply-anchor{margin-top:-86px;padding-top:86px;pointer-events:none}
.ezy-reply-anchor > *{pointer-events:auto}

/* ---- forms in this group ---- */
/* markdown editor (bootstrap-markdown wraps the textarea in .md-editor) */
.ezy-sup .md-editor, .ezy-sup div.md-editor.active{border:1px solid var(--ezy-line);border-radius:9px;overflow:hidden;background:#fff}
.ezy-sup div.md-editor.active{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-sup .md-editor > .btn-toolbar, .ezy-sup .md-editor > .md-header{padding:8px 8px 4px;margin:0;background:#fff !important}
.ezy-sup .md-editor .btn-toolbar .btn-group{margin:0 6px 4px 0}
.ezy-sup .md-editor .btn-toolbar .btn{min-height:30px;min-width:32px;padding:0 9px;font-size:12.5px;border-radius:7px;color:var(--ezy-muted)}
.ezy-sup .md-editor .btn-toolbar .btn-group > .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.ezy-sup .md-editor .btn-toolbar .btn-group > .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}
.ezy-sup .md-editor > textarea.markdown-editor, .ezy-sup .md-editor > .md-preview{padding:12px 14px !important;border:0 !important;border-top:1px solid var(--ezy-line) !important;border-bottom:1px solid var(--ezy-line) !important;border-radius:0;box-shadow:none;min-height:220px}
.ezy-sup .markdown-editor-status{padding:6px 12px;font-size:12px;color:var(--ezy-faint);text-align:right}
/* file pickers */
.ezy-sup .custom-file{height:40px}
.ezy-sup .custom-file-input{height:40px}
.ezy-body .ezy-sup .custom-file-label{height:40px;padding:0 12px;margin:0;line-height:38px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-muted);font-weight:400;font-size:14px}
.ezy-body .ezy-sup .custom-file-label::after{height:38px;padding:0 14px;line-height:38px;background:var(--ezy-page);border-left:1px solid var(--ezy-line);color:var(--ezy-body);font-weight:600;font-size:13px;border-radius:0 8px 8px 0}
.ezy-body .ezy-sup .input-group > .custom-file:not(:last-child) .custom-file-label, .ezy-body .ezy-sup .input-group > .custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}
.ezy-sup .attachment-group{margin-bottom:8px !important}
.ezy-sup .custom-file-input:focus ~ .custom-file-label{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-sup-form > :last-child, .ezy-sup-form form > :last-child{margin-bottom:0}
.ezy-sup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ezy-sup-form #default-captcha-domainchecker{margin:0}
.ezy-sup-form #default-captcha-domainchecker p{width:100%}
/* knowledgebase suggestions shown while a ticket is written */
#autoAnswerSuggestions.ezy-suggest, .ezy-suggest{margin:0 0 18px;border:1px solid var(--ezy-blue-line);border-radius:10px;background:var(--ezy-blue-tint);padding:14px 16px}
.ezy-suggest .card-title{font-size:14px;font-weight:650;color:#0b4a7a;margin:0 0 2px}
.ezy-suggest > p{font-size:13px;color:#0b4a7a;margin:0 0 10px}
.ezy-main .ezy-suggest .list-group{margin:0 !important;border-radius:8px;background:#fff}
.ezy-main .ezy-suggest .list-group-item{padding:0;border-color:var(--ezy-blue-line)}
.ezy-suggest .list-group-item a{display:block;padding:10px 14px;color:var(--ezy-head);font-weight:600}
.ezy-suggest .list-group-item a:hover{color:var(--ezy-blue)}
.ezy-suggest .list-group-item small{display:block;padding:0;margin-top:2px;font-weight:400;color:var(--ezy-muted)}

/* success panel (ticket created, feedback received) */
.ezy-done{display:flex;gap:16px;align-items:flex-start;padding:24px}
.ezy-done__i{width:44px;height:44px;border-radius:50%;background:var(--ezy-green-tint);color:var(--ezy-green-text);display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 0 0 1px #d5e8a3}
.ezy-done__i--warn{background:var(--ezy-amber-bg);color:#b45309;box-shadow:inset 0 0 0 1px var(--ezy-amber-line)}
.ezy-done__i--info{background:var(--ezy-blue-tint);color:var(--ezy-blue);box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}
.ezy-done__m{flex:1;min-width:0}
.ezy-done__t{font-size:17px;font-weight:650;color:var(--ezy-head);line-height:1.35}
.ezy-done__t a{color:var(--ezy-blue)}
.ezy-done__b{margin-top:6px;color:var(--ezy-body)}
.ezy-done__b p:last-child{margin-bottom:0}
.ezy-done__a{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}

/* ticket feedback: a 1 to 10 scale made of the parent's radio buttons */
.ezy-fb{padding:18px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-fb:last-of-type{border-bottom:0}
.ezy-fb p{margin:0 0 10px;color:var(--ezy-body)}
.ezy-scale{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 18px}
.ezy-scale__end{font-size:12.5px;color:var(--ezy-muted);padding:0 6px}
.ezy-body .ezy-scale label{position:relative;margin:0;cursor:pointer}
.ezy-scale input[type=radio]{position:absolute;opacity:0;margin:0;left:0;top:0;width:100%;height:100%;cursor:pointer}
.ezy-scale label span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;font-weight:600;font-size:13px;color:var(--ezy-body)}
.ezy-scale label:hover span{border-color:#cbd5e1}
.ezy-scale input:checked + span{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-scale input:focus-visible + span{outline:2px solid var(--ezy-blue);outline-offset:2px}

/* ---- knowledgebase article, announcement ---- */
.ezy-read{padding:28px 32px 30px}
.ezy-read__head{display:flex;align-items:flex-start;gap:16px}
.ezy-main .ezy-read__head h1{flex:1;min-width:0;font-size:26px;font-weight:650;line-height:1.25;letter-spacing:-.01em;margin:0;overflow-wrap:anywhere}
.ezy-read__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-read__meta span{display:inline-flex;align-items:center;gap:6px}
.ezy-read__meta svg{width:14px;height:14px;color:var(--ezy-faint)}
.ezy-read__meta .ezy-pill::before{display:none}
.ezy-article{max-width:740px;margin-top:22px;padding-top:22px;border-top:1px solid var(--ezy-line);font-size:15px;line-height:1.7;color:var(--ezy-body);overflow-wrap:anywhere}
.ezy-main .ezy-article p{margin:0 0 16px}
.ezy-main .ezy-article h1, .ezy-main .ezy-article h2{font-size:20px;font-weight:650;line-height:1.3;margin:28px 0 10px}
.ezy-main .ezy-article h3{font-size:17px;font-weight:650;margin:24px 0 8px}
.ezy-main .ezy-article h4, .ezy-main .ezy-article h5, .ezy-main .ezy-article h6{font-size:15px;font-weight:650;margin:20px 0 6px}
.ezy-article > :first-child{margin-top:0 !important}
.ezy-article > :last-child{margin-bottom:0 !important}
.ezy-article ul, .ezy-article ol{margin:0 0 16px;padding-left:24px}
.ezy-article li{margin-bottom:6px}
.ezy-article img{max-width:100%;height:auto;border-radius:8px}
.ezy-article a{text-decoration:underline;text-underline-offset:2px}
.ezy-article code{font-size:13px;color:var(--ezy-head);background:#f1f5f9;border-radius:5px;padding:1px 5px}
.ezy-article pre code{background:none;padding:0}
.ezy-main .ezy-article pre, .ezy-main .ezy-article blockquote{margin-bottom:16px}
.ezy-article table{max-width:100%;margin:0 0 16px;border-collapse:collapse;font-size:14px}
.ezy-article table th, .ezy-article table td{border:1px solid var(--ezy-line);padding:8px 12px;text-align:left;vertical-align:top}
.ezy-article table th{background:#f8fafc;color:var(--ezy-head);font-weight:600}
.ezy-vote{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;max-width:740px;margin-top:28px;padding:16px 18px;border:1px solid var(--ezy-line);border-radius:10px;background:#f8fafc}
.ezy-main .ezy-vote h4{flex:1;min-width:180px;font-size:14px;font-weight:650;margin:0}
.ezy-vote form{margin:0;display:flex;gap:8px}
.ezy-read__extra{max-width:740px;margin-top:22px}
.ezy-ann{padding:22px 24px;border-bottom:1px solid var(--ezy-line)}
.ezy-ann:last-child{border-bottom:0}
.ezy-ann__date{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-ann__date svg{width:14px;height:14px;color:var(--ezy-faint)}
.ezy-main .ezy-ann h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;line-height:1.35;letter-spacing:-.01em;margin:4px 0 8px}
.ezy-ann h2 > a:first-child{color:var(--ezy-head)}
.ezy-ann h2 > a:first-child:hover{color:var(--ezy-blue)}
.ezy-ann__x{max-width:740px;color:var(--ezy-body);overflow-wrap:anywhere}
.ezy-main .ezy-ann__x p{margin:0 0 10px}
.ezy-ann__x > :last-child{margin-bottom:0 !important}
.ezy-ann__x img{max-width:100%;height:auto}
.ezy-ann__more{display:inline-flex;align-items:center;gap:6px;margin-top:12px}
.ezy-ann__more svg{width:14px;height:14px}

/* ---- network status ---- */
.ezy-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ezy-chips .ezy-sp{margin-left:auto}
.ezy-issue__meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12.5px;color:var(--ezy-muted)}
.ezy-issue__meta span{display:inline-flex;align-items:center;gap:6px}
.ezy-issue__meta svg{width:14px;height:14px;color:var(--ezy-faint)}
.ezy-issue__aff{font-weight:600;color:var(--ezy-head);margin:0 0 6px}
.ezy-issue__aff span{font-weight:400;color:var(--ezy-body)}
.ezy-issue .alert{margin:14px 0 0}
.ezy-issue__d{margin-top:14px;max-width:820px;color:var(--ezy-body);overflow-wrap:anywhere}
.ezy-issue__d p:last-child{margin-bottom:0}
.ezy-sup .ezy-card > .table-responsive > .table{margin:0}
.ezy-sup .ezy-card > .table-responsive > .table thead th{border-top:0}
.ezy-sup .ezy-card > .table-responsive > .table th:first-child, .ezy-sup .ezy-card > .table-responsive > .table td:first-child{padding-left:20px}
.ezy-sup .ezy-card > .table-responsive{border-radius:0 0 var(--ezy-r) var(--ezy-r)}
.ezy-sup .ezy-card > .table-responsive > .table td .fa-spinner{color:var(--ezy-faint)}

/* markdown guide (shown in a pop-up from the editor's help button) */
.ezy-mdguide h4{font-size:14px;font-weight:650;color:var(--ezy-head);margin:18px 0 8px}
.ezy-mdguide h4:first-child{margin-top:0}
.ezy-mdguide pre{margin:0;padding:12px 14px;background:#f8fafc;border:1px solid var(--ezy-line);border-radius:8px;color:var(--ezy-head);font-size:12.5px;line-height:1.55;overflow-x:auto}

@media (max-width: 1199px){
    .ezy-sgrid{flex-direction:column;align-items:stretch}
    .ezy-sgrid__main, .ezy-sgrid__side{flex:none}
    .ezy-sgrid__main--form{max-width:none}
}
@media (max-width: 991px){
    .ezy-sup .ezy-band__actions{width:100%}
}
@media (max-width: 575px){
    .ezy-cats{grid-template-columns:minmax(0,1fr)}
    .ezy-read{padding:20px}
    .ezy-main .ezy-read__head h1{font-size:22px}
    .ezy-read__head{flex-wrap:wrap}
    .ezy-ann{padding:18px 20px}
    .ezy-msg{gap:12px;padding:16px 16px 16px 13px}
    .ezy-msg__by .posted-on{margin-left:0;padding-left:0;width:100%;order:4}
    .ezy-ksearch .ezy-btn{padding:0 14px}
    .ezy-done{padding:20px;flex-direction:column}
    .ezy-scale label span{width:34px;height:34px}
    .ezy-scale__end{width:100%;padding:0}
    .ezy-sup-form .col-6{flex:0 0 100%;max-width:100%}
}
@media print{
    .ezy-sgrid__side, .ezy-ksearch, .ezy-sup-foot, .ezy-vote, .ezy-sup .ezy-band__actions, .ezy-crumbs, .ezy-noprint{display:none !important}
    .ezy-sgrid{display:block}
    .ezy-read{padding:0}
    .ezy-sup .ezy-card{box-shadow:none;border:0}
}

/* late fixes */
.ezy-main .ezy-tpanel .list-group-item.w-hidden{display:none}
.ezy-body .ezy-sup .md-editor .btn-toolbar .btn, .ezy-body .ezy-sup .md-editor .btn-toolbar .btn-primary{background:#fff;border-color:var(--ezy-line);color:var(--ezy-muted)}
.ezy-body .ezy-sup .md-editor .btn-toolbar .btn:hover, .ezy-body .ezy-sup .md-editor .btn-toolbar .btn.active{border-color:#cbd5e1;color:var(--ezy-head);background:#f8fafc}
.ezy-sup .md-editor .md-footer, .ezy-sup .md-editor > .md-footer{background:#fff;border:0}
.ezy-fb + .ezy-card__foot{border-top:0}
.ezy-main--wide .ezy-sgrid__main--form{max-width:none}
.ezy-sgrid__side a.ezy-navrow.active{color:var(--ezy-blue);background:var(--ezy-blue-tint);box-shadow:inset 3px 0 0 var(--ezy-blue)}
.ezy-article blockquote p:last-child, .ezy-msg__body blockquote p:last-child{margin-bottom:0}
.ezy-sup .ezy-card > .table-responsive > .table td:first-child{white-space:nowrap}
@media (max-width: 575px){
    .ezy-sup .ezy-row--dl{flex-wrap:wrap}
    .ezy-sup .ezy-row--dl .ezy-row__m{flex:1 1 calc(100% - 40px)}
    .ezy-sup .ezy-row--dl .ezy-row__r{margin-left:32px;margin-right:auto;text-align:left}
}

/* ---- knowledgebase: the help centre ---- */
/* hero: the search is the page's one confident object */
.ezy-kbhero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 0 12px}
.ezy-kbhero__kicker{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue)}
.ezy-main .ezy-kbhero__title{font-size:34px;font-weight:650;line-height:1.2;letter-spacing:-.02em;color:var(--ezy-head);margin:8px 0 0}
.ezy-main .ezy-kbhero__sub{font-size:15px;line-height:1.5;color:var(--ezy-muted);margin:8px 0 0}
.ezy-kbhero .ezy-kbsearch{margin-top:28px}
.ezy-kbsearch{display:flex;align-items:center;gap:8px;width:100%;max-width:680px;height:56px;margin:0;padding:0 8px 0 18px;background:#fff;border:1px solid var(--ezy-line);border-radius:14px;box-shadow:var(--ezy-shadow);transition:border-color .12s, box-shadow .12s}
.ezy-kbsearch:focus-within{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body label.ezy-kbsearch__box{flex:1;min-width:0;display:flex;align-items:center;gap:12px;height:100%;margin:0;padding:0;color:var(--ezy-faint);cursor:text;font-weight:400}
.ezy-kbsearch__box input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;box-shadow:none;font:inherit;font-size:15px;font-weight:400;color:var(--ezy-head);text-overflow:ellipsis}
.ezy-kbsearch__box input::placeholder{color:var(--ezy-faint)}
.ezy-kbsearch .ezy-btn{flex:0 0 auto;height:40px;padding:0 20px;border-radius:10px;font-size:14px}
.ezy-kbsearch--bar{max-width:none;height:48px;padding:0 6px 0 16px;border-radius:var(--ezy-r)}
.ezy-kbsearch--bar .ezy-btn{height:36px;padding:0 16px;border-radius:8px;font-size:13px}

/* a section of the front page: a plain heading, then its content */
.ezy-kbsec{margin-top:44px}
.ezy-kbsec--first{margin-top:36px}
.ezy-kb > .alert{margin-top:36px}
.ezy-kbsec__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 2px 14px}
.ezy-main .ezy-kbsec__title{font-size:18px;font-weight:650;line-height:1.3;letter-spacing:-.01em;color:var(--ezy-head);margin:0}
.ezy-kbsec__meta{font-size:13px;color:var(--ezy-muted)}

/* category cards: what the topic is, what is inside it, and the way in */
.ezy-kbcats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ezy-kbcats--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ezy-kbcat{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 22px 18px;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);transition:border-color .12s}
.ezy-kbcat:hover{border-color:#a9d0ef}
.ezy-main a.ezy-kbcat__head{display:flex;flex:0 0 auto;align-items:flex-start;gap:14px;padding:0;color:inherit;background:none}
.ezy-main a.ezy-kbcat__head:focus{outline:none}
/* the whole card is the category link; the article links sit above it */
.ezy-kbcat__head::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--ezy-r)}
.ezy-main a.ezy-kbcat__head:focus-visible::after{outline:2px solid var(--ezy-blue);outline-offset:-2px}
.ezy-kbcat__i{width:40px;height:40px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;flex:0 0 auto}
.ezy-kbcat__i svg{width:20px;height:20px}
.ezy-kbcat__m{flex:1;min-width:0;display:block;padding-top:1px}
.ezy-kbcat__t{display:block;font-size:16px;font-weight:650;line-height:1.3;color:var(--ezy-head);overflow-wrap:anywhere}
.ezy-kbcat__s{display:block;margin-top:3px;font-size:13px;line-height:20px;color:var(--ezy-muted)}
/* with a list beneath, two lines are kept for the description so the lists of a row start level */
.ezy-kbcat--list .ezy-kbcat__s{min-height:40px}
.ezy-body .ezy-kb .show-on-card-hover{position:relative;z-index:1;height:22px;min-height:0;margin:-4px 0 -4px 8px;padding:0 8px;font-size:11.5px;line-height:20px;vertical-align:1px;opacity:0;transition:opacity .2s}
.ezy-body .ezy-kbcat:hover .show-on-card-hover, .ezy-body .ezy-kb .ezy-row:hover .show-on-card-hover, .ezy-body .ezy-kb .show-on-card-hover:focus{opacity:1}
.ezy-kbcat__list{list-style:none;margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--ezy-line)}
.ezy-kbcat__list li{margin:0}
.ezy-main .ezy-kbcat__list a{position:relative;z-index:1;display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:14px;line-height:1.45;color:var(--ezy-body)}
.ezy-main .ezy-kbcat__list a:hover{color:var(--ezy-blue)}
.ezy-kbcat__list svg{width:14px;height:14px;margin-top:3px;color:var(--ezy-faint)}
.ezy-kbcat__list a:hover svg{color:var(--ezy-blue)}
.ezy-kbcat__list span{min-width:0;overflow-wrap:anywhere}
.ezy-main a.ezy-kbcat__all{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;font-size:13px;font-weight:600;color:var(--ezy-blue)}
.ezy-kbcat__all svg{width:13px;height:13px;transition:transform .12s}
.ezy-kbcat:hover .ezy-kbcat__all svg{transform:translateX(2px)}

/* most viewed answers: two columns of links in one card */
.ezy-kbpop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--ezy-r);overflow:hidden}
.ezy-sup .ezy-kbpop .ezy-row{padding:15px 20px;border-bottom:0;border-top:1px solid var(--ezy-line)}
.ezy-sup .ezy-kbpop .ezy-row:nth-child(-n+2){border-top:0}
.ezy-sup .ezy-kbpop .ezy-row:nth-child(odd){border-right:1px solid var(--ezy-line)}

/* tags: every tag WHMCS lists, as quiet chips of one size */
.ezy-kbtags, .ezy-kb [menuItemName="Support Knowledgebase Tag Cloud"] .ezy-pad{display:flex;flex-wrap:wrap;gap:8px}
.ezy-main .ezy-kbtags a, .ezy-main .ezy-kb [menuItemName="Support Knowledgebase Tag Cloud"] .ezy-pad a{display:inline-flex;align-items:center;min-height:30px;margin:0;padding:4px 12px;border:1px solid var(--ezy-line);border-radius:999px;background:#fff;color:var(--ezy-body);font-size:13px !important;font-weight:500;line-height:1.3;overflow-wrap:anywhere}
.ezy-main .ezy-kbtags a:hover, .ezy-main .ezy-kb [menuItemName="Support Knowledgebase Tag Cloud"] .ezy-pad a:hover{border-color:#a9d0ef;color:var(--ezy-blue)}

/* the ways to reach a person */
.ezy-kbpaths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ezy-main a.ezy-kbpath{display:flex;align-items:center;gap:14px;min-width:0;padding:18px 20px;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);color:inherit;transition:border-color .12s}
.ezy-main a.ezy-kbpath:hover{border-color:#a9d0ef;color:inherit}
.ezy-main a.ezy-kbpath:focus{outline:none}
.ezy-main a.ezy-kbpath:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}
.ezy-kbpath__i{width:40px;height:40px;border-radius:50%;background:#f1f5f9;color:var(--ezy-muted);display:grid;place-items:center;flex:0 0 auto}
.ezy-kbpath--main .ezy-kbpath__i{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-kbpath__m{flex:1;min-width:0;display:block}
.ezy-kbpath__t{display:block;font-size:15px;font-weight:650;line-height:1.35;color:var(--ezy-head)}
.ezy-kbpath__s{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--ezy-muted)}
.ezy-kbpath .ezy-go{flex:0 0 auto;width:14px;height:14px;color:var(--ezy-faint)}
/* the tag row: a small label, then the chips */
.ezy-kbsec--tags{display:flex;align-items:flex-start;gap:16px;padding-left:2px}
.ezy-kbsec--tags .ezy-kbsec__label{flex:0 0 auto;padding-top:7px;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:16px;text-transform:uppercase;color:var(--ezy-faint)}
.ezy-kbextra{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;align-items:start}

/* category and search results: roomier article rows, the excerpt on up to two lines */
.ezy-sup .ezy-row.ezy-kbrow{align-items:flex-start;padding:16px 20px}
.ezy-kbrow .ezy-row__i{margin-top:2px}
.ezy-kbrow .ezy-row__t{font-size:15px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.ezy-kbrow .ezy-row__s, .ezy-kbrel .ezy-row__s{margin-top:3px;font-size:13px;line-height:1.5;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ezy-sup .ezy-kbrow .ezy-go{align-self:center}
.ezy-kbnone{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px 44px}
.ezy-kbnone__i{width:44px;height:44px;border-radius:50%;background:#f1f5f9;color:var(--ezy-muted);display:grid;place-items:center}
.ezy-kbnone__t{margin-top:14px;font-size:16px;font-weight:650;color:var(--ezy-head)}
.ezy-kbnone__s{margin-top:4px;font-size:13px;color:var(--ezy-muted)}
.ezy-kbnone .ezy-btn{margin-top:18px}
.ezy-sup .ezy-card.ezy-kbhelp{padding:20px;align-items:flex-start}
.ezy-kbhelp__i{width:40px;height:40px;border-radius:50%;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center}
.ezy-kbhelp__t{margin-top:12px;font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-kbhelp__s{margin-top:2px;font-size:13px;line-height:1.5;color:var(--ezy-muted)}
.ezy-kbhelp .ezy-btn{margin-top:14px}

/* article: one centred reading column */
.ezy-kbread{width:100%;max-width:824px;margin:0 auto;padding:40px 32px 36px}
.ezy-main .ezy-kbread .ezy-read__head h1{font-size:30px;line-height:1.2;letter-spacing:-.02em}
.ezy-kbread .ezy-read__meta{margin-top:12px}
.ezy-kbread .ezy-article{max-width:none;margin-top:24px;padding-top:28px}
.ezy-kbend{margin-top:36px;border:1px solid var(--ezy-line);border-radius:10px;background:#f8fafc}
.ezy-kbend__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 18px}
.ezy-kbend__row + .ezy-kbend__row{border-top:1px solid var(--ezy-line)}
.ezy-kbend__m{flex:1;min-width:200px}
.ezy-main .ezy-kbend h4{font-size:14px;font-weight:650;line-height:1.4;color:var(--ezy-head);margin:0}
.ezy-main .ezy-kbend p{font-size:13px;line-height:1.45;color:var(--ezy-muted);margin:1px 0 0}
.ezy-kbend form{display:flex;gap:8px;margin:0}
.ezy-sup .ezy-row.ezy-kbrel{align-items:flex-start;padding:14px 20px}
.ezy-kbrel .ezy-row__i{margin-top:2px}
.ezy-kbrel .ezy-row__t{white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.4}
.ezy-kbrel .ezy-row__s{font-size:12.5px}

@media (max-width: 1399px){
    .ezy-kbcats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 1199px){
    .ezy-kbpaths{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media (max-width: 767px){
    .ezy-kbcats, .ezy-kbcats--two, .ezy-kbpop{grid-template-columns:minmax(0,1fr)}
    .ezy-sup .ezy-kbpop .ezy-row:nth-child(-n+2){border-top:1px solid var(--ezy-line)}
    .ezy-sup .ezy-kbpop .ezy-row:first-child{border-top:0}
    .ezy-sup .ezy-kbpop .ezy-row:nth-child(odd){border-right:0}
    .ezy-kbhero{padding:20px 0 4px}
    .ezy-kbcat--list .ezy-kbcat__s{min-height:0}
    .ezy-main .ezy-kbhero__title{font-size:28px}
    .ezy-kbsec{margin-top:36px}
    .ezy-kbsec--first{margin-top:28px}
}
@media (max-width: 575px){
    .ezy-kbsearch{height:52px;padding:0 6px 0 14px}
    .ezy-kbsearch .ezy-btn{padding:0 14px}
    .ezy-kbread{padding:24px 20px}
    .ezy-main .ezy-kbread .ezy-read__head h1{font-size:24px}
    .ezy-kbend form{width:100%}
}
@media print{
    .ezy-kbsearch, .ezy-kbend{display:none !important}
    .ezy-kbread{max-width:none;padding:0}
}

/* ---- ticket: the reply form above the conversation ---- */
/* open by default; .ezy-reply--folded (set by the page's script) leaves a one-line bar */
.ezy-reply__bar{display:none}
.ezy-reply--folded .ezy-reply__open{display:none}
.ezy-body .ezy-reply--folded button.ezy-reply__bar{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:12px 14px 12px 20px;border:0;border-radius:var(--ezy-r);background:none;font:inherit;text-align:left;color:var(--ezy-muted);cursor:pointer}
.ezy-body button.ezy-reply__bar:focus{outline:none}
.ezy-body button.ezy-reply__bar:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}
.ezy-reply__bari{width:36px;height:36px;border-radius:50%;background:#f1f5f9;color:var(--ezy-muted);display:grid;place-items:center;flex:0 0 auto}
.ezy-reply__bari svg{width:16px;height:16px}
.ezy-reply__bart{flex:1;min-width:0;font-size:14px;color:var(--ezy-muted)}
.ezy-reply__barb{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-body);font-size:13px;font-weight:600;flex:0 0 auto}
.ezy-reply__barb svg{width:15px;height:15px}
.ezy-reply__bar:hover .ezy-reply__barb{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-reply__bar:hover .ezy-reply__bart{color:var(--ezy-body)}
/* signed in, the name and email are fixed (disabled fields): they are shown in the card heading instead */
.ezy-reply--signedin #frmReply > .row:first-child{display:none}
.ezy-reply .ezy-card__meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezy-sup .ezy-reply textarea.markdown-editor, .ezy-sup .ezy-reply .md-editor > textarea.markdown-editor, .ezy-sup .ezy-reply .md-editor > .md-preview{height:168px;min-height:120px}

/* knowledgebase category cards headed by the service's logo */
.ezy-main a.ezy-kbcat__head{flex-direction:column;gap:14px}
.ezy-kbcat__logo{display:block;height:48px}
.ezy-kbcat__logo img{display:block;height:48px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
/* the head is the parent's a.card-body (its admin script needs that class): it must never scroll, whatever the parent sets */
.ezy-main a.ezy-kbcat__head{overflow:visible;max-height:none;height:auto;min-height:0}
.ezy-kbcat__m:empty{display:none}
.ezy-body .ezy-kb .ezy-kbcat .show-on-card-hover, .ezy-body .ezy-kbcat .show-on-card-hover{position:absolute;top:14px;right:14px;z-index:2;margin:0}
/* nothing in view under the logo (name hidden, no description): no gap is kept for it */
.ezy-kbcat__m--bare{margin-top:-14px;height:0;overflow:hidden;padding:0}
/* the link to all of a category's guides is in the corporate green: the words in the darker green that reads on white
   (the pure #90C404 is too light for 13px text), the arrow in the corporate green itself */
.ezy-main a.ezy-kbcat__all{color:var(--ezy-green-text)}
.ezy-main a.ezy-kbcat__all:hover{color:#3a5200}
.ezy-kbcat__all svg{color:var(--ezy-green);stroke-width:2.4}
/* the "Still need a hand?" tiles (and the same card beside category and article pages) carry their icons in the corporate green */
.ezy-kbpath .ezy-kbpath__i, .ezy-kbpath--main .ezy-kbpath__i, .ezy-kbhelp__i{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-kbpath__i svg, .ezy-kbhelp__i svg{stroke-width:1.9}

/* ==== 30-account.css ==== */
/* ---- Account and user pages ----
   Account details, contacts, user management, profile, password, security, email history,
   and the small pages around signing in (switch account, invitations, email verification,
   two-factor). Also the email popup (viewemail.tpl), which loads this stylesheet by itself. */

/* page furniture shared by these pages */
.ezy-alerts{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.ezy-body .ezy-alerts > .alert{margin:0}
.ezy-grid--form{grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);align-items:start}
.ezy-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ezy-span{grid-column:1 / -1}
.ezy-narrow{max-width:880px}
form.ezy-card{margin:0}
.ezy-card__foot--actions{gap:8px}
.ezy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.ezy-actions .ezy-sp{margin-left:auto}

/* fields inside a card: 18px between columns, and the last row's own margin completes the padding */
.ezy-cardform{padding:20px 20px 2px}
.ezy-cardform .row{margin-left:-9px;margin-right:-9px}
.ezy-cardform .row > [class*="col-"]{padding-left:9px;padding-right:9px}
.ezy-cardform .intl-tel-input, .ezy-cardform .iti{display:block;width:100%}
.ezy-cardform .control .form-control{width:100%}

/* a tick box or radio button with a title and an optional second line */
.ezy-picks{display:flex;flex-direction:column}
.ezy-body label.ezy-pick{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:14px;font-weight:500;color:var(--ezy-body);cursor:pointer}
.ezy-picks > .ezy-pick{padding:12px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-picks > .ezy-pick:last-child{border-bottom:0}
.ezy-body .ezy-pick .form-check-input{position:static;flex:0 0 auto;width:16px;height:16px;margin:3px 0 0}
.ezy-pick__m{flex:1;min-width:0}
.ezy-pick__t{display:block;font-weight:600;color:var(--ezy-head)}
.ezy-pick__s{display:block;font-size:12.5px;font-weight:400;color:var(--ezy-muted)}
.ezy-body label.ezy-pick--inline{display:inline-flex;margin-right:18px}
.ezy-pick--inline .ezy-pick__m{flex:0 1 auto}
.ezy-radios{display:flex;flex-wrap:wrap;gap:8px 0}
.ezy-perms{border:1px solid var(--ezy-line);border-radius:10px}
.ezy-perms > .ezy-pick{padding:10px 14px;border-bottom:1px solid var(--ezy-line)}
.ezy-perms > .ezy-pick:last-child{border-bottom:0}

/* on/off switches (bootstrap-switch), quietened to the portal's palette */
.ezy-body .bootstrap-switch{border:1px solid var(--ezy-line);border-radius:999px;box-shadow:none;vertical-align:middle}
.ezy-body .bootstrap-switch.bootstrap-switch-focused{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body .bootstrap-switch .bootstrap-switch-handle-on, .ezy-body .bootstrap-switch .bootstrap-switch-handle-off, .ezy-body .bootstrap-switch .bootstrap-switch-label{font-size:12.5px;font-weight:600;line-height:18px;padding:4px 10px}
.ezy-body .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success, .ezy-body .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-body .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default, .ezy-body .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{background:#f1f5f9;color:var(--ezy-muted)}
.ezy-body .bootstrap-switch .bootstrap-switch-label{background:#fff}
.ezy-switchrow p{margin:0 0 14px}
.ezy-sso > .alert{margin-bottom:18px}
.ezy-sso form{margin:0}
.ezy-sso__row{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-weight:600;color:var(--ezy-head)}
.ezy-main .ezy-sso__note{margin:0;font-size:13px;color:var(--ezy-muted)}

/* contacts: the contact chooser */
.ezy-chooser{display:flex;align-items:center;gap:12px;padding:14px 20px;margin:0}
.ezy-body .ezy-chooser label{margin:0;white-space:nowrap}
.ezy-chooser select{flex:1;min-width:0;max-width:460px}

/* user management: one person or one invitation per row */
.ezy-person{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-person + .ezy-card__foot{border-top:0}
.ezy-person .ezy-usr__av{flex:0 0 auto}
.ezy-usr__av svg{width:16px;height:16px}
.ezy-person__t{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-weight:600;color:var(--ezy-head)}
.ezy-person__t > span:first-child{min-width:0;overflow-wrap:anywhere}
.ezy-person__2fa{display:inline-flex}
.ezy-person__2fa svg{width:16px;height:16px}
.ezy-body .text-grey{color:var(--ezy-faint)}
.ezy-person__a{display:flex;flex:0 0 auto;gap:8px;margin:0}

/* password form: the strength bar and the tips sit tidily under the field */
.ezy-pwform > .alert{margin-bottom:18px}
.ezy-pwform form{margin:0}
.ezy-pwform br{display:none}
.ezy-pwform #passwordStrengthBar{margin:10px 0 12px}
.ezy-pwform .col-xl-5 > .alert{margin:0;padding:10px 12px}
.ezy-pwform .col-xl-5 > .alert br{display:inline}
.ezy-pwform__actions{display:flex;gap:8px;margin-top:2px}

/* security: two-factor and linked accounts */
.ezy-twofa > p{margin:0 0 14px}
.ezy-twofa > .alert{margin-bottom:16px}
.ezy-linked > p{margin:0 0 12px;color:var(--ezy-muted)}
.ezy-linked .social-signin-btns{display:flex;flex-wrap:wrap;gap:8px}
.ezy-linked__table{border-top:1px solid var(--ezy-line);overflow-x:auto}
.ezy-main .ezy-linked__table .table{margin:0}
.ezy-main .ezy-linked__table .table thead th{border-top:0}

/* email history */
.ezy-lrow--email{grid-template-columns:40px minmax(0,1fr) 170px 132px}
.ezy-lrow--email .ezy-row__s i{margin-right:2px}

/* switch account */
.ezy-main .select-account.ezy-accounts{margin:0;padding:0;border:0}
.ezy-main .ezy-accounts a.ezy-navrow{display:flex;margin:0;padding:12px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-main .ezy-accounts a.ezy-navrow:last-child{border-bottom:0}
.ezy-main .ezy-accounts a.ezy-navrow:hover{background:#f8fafc}
.ezy-accounts__n{min-width:0;overflow-wrap:anywhere}

/* centred card, for the pages around signing in */
.ezy-centre{width:100%;max-width:440px;margin:32px auto 24px;display:flex;flex-direction:column;gap:18px}
.ezy-centre--wide{max-width:880px}
.ezy-centre > .ezy-grid{margin-top:0}
.ezy-hero{align-items:center;padding:36px;text-align:center}
.ezy-hero__ico{width:52px;height:52px;border-radius:14px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;margin-bottom:16px;flex:0 0 auto}
.ezy-hero__ico svg{width:24px;height:24px}
.ezy-hero__ico--ok{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-hero__ico--warn{background:var(--ezy-amber-bg);color:#b45309}
.ezy-hero__ico--bad{background:#fef3f2;color:#b42318}
.ezy-main .ezy-hero__title{font-size:22px;font-weight:650;line-height:1.25;margin:0 0 8px}
.ezy-main .ezy-hero__lead{font-size:13.5px;margin:0 0 6px;color:var(--ezy-muted)}
.ezy-main .ezy-hero__lead strong{color:var(--ezy-head)}
.ezy-main .ezy-hero__label{margin:6px 0 10px;color:var(--ezy-muted);font-weight:600}
.ezy-hero__body{align-self:stretch;margin-top:12px}
.ezy-hero--form .ezy-hero__body{text-align:left}
.ezy-hero__body form{margin:0}
.ezy-hero__body .margin-bottom br{display:none}
.ezy-hero__body .margin-bottom .form-control{margin-bottom:12px}
.ezy-main .ezy-hero__body p.text-center{margin:0}
.ezy-hero > form{align-self:stretch;margin:0}
.ezy-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}
.ezy-hero__who{align-self:stretch;display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:14px 18px;border:1px solid var(--ezy-line);border-radius:10px;background:#f8fafc}
.ezy-hero__who strong{color:var(--ezy-head);font-weight:600}
.ezy-hero__who span{font-size:13px;color:var(--ezy-muted);overflow-wrap:anywhere}
.ezy-hero__foot{align-self:stretch;margin:24px -36px -36px;padding:16px 36px;font-size:13px;text-align:center;border-top:1px solid var(--ezy-line);color:var(--ezy-muted)}
.ezy-code{margin:0 0 16px;padding:16px;border:1px dashed var(--ezy-blue-line);border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-head);font:600 22px/1.3 Consolas,"SFMono-Regular",Menlo,monospace;letter-spacing:.08em;text-align:center;overflow-wrap:anywhere;user-select:all}

/* invitation: sign in or register */
.ezy-main .invite-box{margin:0;padding:0;background:#fff;border:1px solid var(--ezy-line)}
.ezy-main .invite-box h2.ezy-card__title{font-size:15px;margin:0}
.ezy-main .invite-box form{margin:0}
.ezy-invite__go{display:flex;justify-content:flex-start}
.ezy-main .invite-box .password-strength-meter .progress{margin-bottom:8px}
.ezy-main .invite-box .password-strength-meter p{margin:0}

/* the email popup: one sheet that fills the window, the message scrolling inside it */
body#popup-backdrop.ezy-mailbody{height:100vh;margin:0;padding:16px;background:var(--ezy-page)}
.ezy-mail{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden}
.ezy-mail__head{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-mail__m{flex:1;min-width:0}
.ezy-body .ezy-mail__subject{font-size:18px;line-height:1.3;margin:2px 0 0;overflow-wrap:anywhere}
.ezy-mail__files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ezy-mail__files .ezy-bpill{height:28px;font-weight:500}
.ezy-mail__body{flex:1;min-height:0;display:flex}
.ezy-mail__body iframe{flex:1;width:100%;height:100%;border:0;display:block}
.ezy-mail__foot{display:flex;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--ezy-line)}

@media (max-width: 1199px){
    .ezy-grid--form{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 991px){
    .ezy-grid--two{grid-template-columns:minmax(0,1fr)}
    .ezy-lrow--email{grid-template-columns:40px minmax(0,1fr)}
    .ezy-lrow--email > .ezy-lrow__c, .ezy-lrow--email > .ezy-btn{grid-column:2;justify-self:start}
}
@media (max-width: 767px){
    .ezy-person{flex-wrap:wrap}
    .ezy-person__a{flex:1 0 100%;flex-wrap:wrap;padding-left:50px}
}
@media (max-width: 575px){
    .ezy-chooser{flex-wrap:wrap}
    .ezy-chooser select{flex:1 0 100%;max-width:none;order:2}
    .ezy-chooser .btn{order:3}
    .ezy-hero{padding:28px 20px}
    .ezy-hero__foot{margin:20px -20px -28px;padding:14px 20px}
    .ezy-code{font-size:18px}
    .ezy-actions .ezy-sp{margin-left:0}
    body#popup-backdrop.ezy-mailbody{padding:0}
    .ezy-mail{border:0;border-radius:0}
}

/* selects that WHMCS writes itself (country, and the state list StatesDropdown.js adds) match the theme's other selects */
.ezy-body .ezy-cardform select.form-control:not(.custom-select){-webkit-appearance:none;appearance:none;padding-right:32px;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 12px center/8px 10px}
.ezy-body .ezy-cardform select.form-control:not(.custom-select):disabled{background-color:var(--ezy-page)}

/* a button WHMCS has hidden stays hidden (the base layer's display on .btn would otherwise show it) */
.ezy-body .btn.w-hidden{display:none}

/* card headings line up across a row whether or not one carries a pill */
.ezy-grid--two > .ezy-card > .ezy-card__head, .ezy-grid--form .ezy-card > .ezy-card__head{min-height:57px}

/* small adjustments found in the screenshots */
.ezy-person__t .label, .ezy-accounts .label{margin:0}
.ezy-body .bootstrap-switch{background:#f1f5f9}
.ezy-body .bootstrap-switch .bootstrap-switch-label{border-radius:999px;box-shadow:0 0 0 1px var(--ezy-line), 0 1px 2px rgba(15,23,42,.12)}
.ezy-pwform .col-form-label{padding-top:10px}
@media (max-width: 1199px){
    .ezy-pwform .col-form-label{padding-top:0}
    .ezy-pwform .col-xl-3{margin-top:10px}
}

/* ---- The account menu as a side card (includes/ezy-account-nav.tpl, style 'side') ----
   The include prints one <aside class="ezy-accountside"> between the page heading and the page body.
   From 1200px wide, the element holding them becomes a two-column grid: whatever comes before the
   aside (the heading) spans both columns, the aside takes a 240px column and stays in view under the
   68px top bar, and everything after the aside goes in the column to its right. No page template needs
   a wrapper, and a page with no aside is untouched. Below 1200px the menu is a row of pills above the
   page and any other panels move to the end of the page.
   The tab presentation (style 'tabs') uses .ezy-tabs and needs nothing here. */
.ezy-accountside{display:flex;flex-direction:column;gap:18px;min-width:0}
.ezy-accountside__list{position:relative}
.ezy-accountside__more{display:flex;flex-direction:column;gap:18px;min-width:0}
.ezy-accountside__nav .ezy-navrow .ezy-side__count{margin-left:auto}
.ezy-accountside__nav .ezy-navrow.active{color:var(--ezy-blue);background:var(--ezy-blue-tint);box-shadow:inset 3px 0 0 var(--ezy-blue)}
.ezy-accountside__nav a.ezy-navrow.active:hover{color:var(--ezy-blue);background:var(--ezy-blue-tint)}

@media (min-width: 1200px){
    :has(> .ezy-accountside){display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:18px}
    :has(> .ezy-accountside) > *{grid-column:1 / -1}
    .ezy-accountside ~ *{grid-column:2;min-width:0}
    .ezy-accountside{grid-column:1;grid-row:span 60;align-self:start;position:sticky;top:86px;margin-top:18px}
    .ezy-accountside__nav .ezy-navrow:last-child{border-radius:0 0 11px 11px}
    /* the menu card's heading and the first content card's heading are the same height, so their rules line up */
    .ezy-accountside__nav > .ezy-card__head, .ezy-accountside ~ .ezy-grid > .ezy-card > .ezy-card__head, .ezy-accountside ~ .ezy-grid > .ezy-stack > .ezy-card > .ezy-card__head{min-height:57px}

    /* two-column pages keep a comfortable second column beside the side card */
    .ezy-accountside ~ .ezy-grid--form, .ezy-accountside ~ * .ezy-grid--form,
    .ezy-accountside ~ .ezy-grid--a, .ezy-accountside ~ * .ezy-grid--a{grid-template-columns:minmax(0,1fr) 320px}
}
@media (min-width: 1200px) and (max-width: 1499px){
    .ezy-accountside ~ .ezy-grid--form, .ezy-accountside ~ * .ezy-grid--form,
    .ezy-accountside ~ .ezy-grid--a, .ezy-accountside ~ * .ezy-grid--a,
    .ezy-accountside ~ .ezy-grid--two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 1199px){
    :has(> .ezy-accountside){display:flex;flex-direction:column}
    .ezy-accountside{display:contents}
    .ezy-accountside__more{order:1;margin-top:18px}
    .ezy-accountside__nav{margin-top:14px;background:none;border:0;border-radius:0;box-shadow:none}
    .ezy-accountside__nav > .ezy-card__head{display:none}
    .ezy-accountside__list{display:flex;flex-wrap:wrap;gap:8px}
    .ezy-accountside__nav .ezy-navrow, .ezy-accountside__nav .ezy-navrow:last-child{flex:0 0 auto;gap:8px;height:34px;padding:0 14px;border:1px solid var(--ezy-line);border-radius:999px;background:#fff;font-size:13px;white-space:nowrap}
    .ezy-accountside__nav a.ezy-navrow:hover{background:#f8fafc}
    .ezy-accountside__nav .ezy-navrow.active, .ezy-accountside__nav a.ezy-navrow.active:hover{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);box-shadow:none}
}
@media (max-width: 575px){
    /* phones: one row of pills that scrolls sideways, running to the screen edges */
    .ezy-accountside__list{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px;scrollbar-width:none}
    .ezy-accountside__list::-webkit-scrollbar{display:none}
}

/* The switch's script sizes its three parts from measurements taken when the page loads, and those can
   come out too narrow for the parts to sit on one line. The sizes are fixed here instead: each side 52px,
   the knob 28px, and the strip slides by one side's width. */
.ezy-body .bootstrap-switch{width:82px !important;overflow:hidden;line-height:18px}
.ezy-body .bootstrap-switch .bootstrap-switch-container{display:flex !important;flex-wrap:nowrap;width:132px !important;margin-left:0 !important;transition:margin-left .2s}
.ezy-body .bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container{margin-left:-52px !important}
.ezy-body .bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-container{margin-left:-26px !important}
.ezy-body .bootstrap-switch .bootstrap-switch-handle-on, .ezy-body .bootstrap-switch .bootstrap-switch-handle-off{display:block !important;flex:0 0 52px;width:52px !important;padding:4px 0;text-align:center;white-space:nowrap;overflow:hidden;box-sizing:border-box;margin:0}
.ezy-body .bootstrap-switch .bootstrap-switch-label{display:block !important;flex:0 0 28px;width:28px !important;padding:4px 0;box-sizing:border-box;margin:0;font-size:12.5px;line-height:18px}

/* ==== 40-billing.css ==== */
/* ---- Billing pages ----
   Quotes, add funds, mass payment, paying an invoice on site, payment methods, cancellation,
   upgrades, usage metrics, the payment interstitials and affiliates.
   Classes here are prefixed ezy-bill-, apart from three small components other pages may
   reuse: ezy-calm (a centred card), ezy-usage (the metrics table) and two ezy-lrow variants. */

/* messages under the page heading; the wrapper takes no room when it is empty */
.ezy-bill-alerts > .alert{margin:18px 0 0}
.ezy-bill-after{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ezy-stack > .alert{margin-bottom:0}

/* a parent form inside a portal card */
.ezy-body .ezy-bill-form{padding:20px}
form.ezy-bill-form, .ezy-bill-form form{margin:0}
.ezy-bill-form > .form-group:last-child, .ezy-bill-form > fieldset > .form-group:last-child, .ezy-bill-form > form > .form-group:last-child{margin-bottom:0}
.ezy-bill-form--narrow .form-group, .ezy-bill-form__narrow{max-width:420px}
.ezy-body .ezy-bill-form--ruled{border-top:1px solid var(--ezy-line)}
.ezy-bill-form__acts{display:flex;flex-wrap:wrap;gap:8px}
.ezy-bill-form .alert{margin-bottom:18px}
.ezy-main p.ezy-bill-hint{font-size:12.5px;color:var(--ezy-muted);margin:12px 0 0}
.ezy-body label.ezy-bill-check{display:flex;align-items:flex-start;gap:8px;padding-left:0;margin:0;font-weight:500;color:inherit}
.ezy-bill-check input{position:static;margin:3px 0 0;flex:0 0 auto}
.ezy-bill-foot form{margin:0}
.ezy-bill-foot--end{justify-content:flex-end}
.ezy-main .btn > svg.ezy-i{width:15px;height:15px}

/* lines of an invoice or order, grouped under small headings */
.ezy-bill-lines__h{padding:14px 20px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint)}
.ezy-bill-lines__i{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:11px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-bill-lines__i:last-child{border-bottom:0}
.ezy-bill-lines__i span{min-width:0;overflow-wrap:anywhere}
.ezy-bill-lines__i b{font-weight:600;color:var(--ezy-head);white-space:nowrap}
.ezy-bill-lines__i--main{padding-top:16px;padding-bottom:16px}
.ezy-bill-lines__i--main span{font-weight:600;color:var(--ezy-head)}
.ezy-bill-arrow{width:14px;height:14px;vertical-align:-2px;color:var(--ezy-faint);margin:0 4px}
.ezy-bill-totals{border-top:1px solid var(--ezy-line)}
.ezy-line.ezy-bill-due span{color:var(--ezy-head);font-weight:600}
.ezy-line.ezy-bill-due b{font-size:20px;font-weight:650;letter-spacing:-.01em}

/* ---- My Quotes ---- */
.ezy-lrow--quote{grid-template-columns:20px minmax(0,1.8fr) minmax(0,.8fr) minmax(0,.8fr) 120px 236px}
div.ezy-lrow:hover{background:#f8fafc}
.ezy-lrow a.ezy-row__t{display:block}
.ezy-lrow a.ezy-row__t:hover{color:var(--ezy-blue)}
.ezy-lrow__acts{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ezy-lrow__acts form{margin:0}

/* ---- paying an invoice on site, and the payment method form: the parent's markup, restyled ---- */
.ezy-bill-payform .control-label, .ezy-bill-payform .col-form-label{padding-top:10px}
.ezy-main div.three-column-grid, .ezy-main div.two-column-grid{display:grid;grid-template-columns:repeat(3,auto) minmax(0,1fr) auto;column-gap:10px;align-items:center;font-weight:500;font-size:13.5px}
.ezy-main div.two-column-grid{grid-template-columns:repeat(3,auto) minmax(0,1fr)}
.ezy-main div.three-column-grid > div, .ezy-main div.two-column-grid > div{margin:0;padding:6px 0}
.ezy-main #frmPayment .paymethod-info{margin:0;padding:6px 0}
.ezy-main #frmPayment .paymethod-info label{font-weight:500;color:var(--ezy-body);margin:0}
.ezy-main #frmPayment .paymethod-info i{color:var(--ezy-muted);font-size:18px;vertical-align:-2px}
.ezy-main .form-group .field-error-msg{color:#b42318;font-size:12.5px;margin-top:6px}
.ezy-main #cvvWhereLink{vertical-align:baseline}
.ezy-bill-payform #billingAddressChoice label, .ezy-bill-payform #innerBillingContactsContainer label{font-weight:500;color:var(--ezy-body);margin:0 0 6px}
.ezy-bill-payform #billingAddressChoice label{display:block}
.ezy-bill-payform #billingAddressChoice br, .ezy-bill-payform #innerBillingContactsContainer br{display:none}
.ezy-bill-payform #innerBillingContactsContainer label.form-check{display:block;min-height:0;padding-left:0;margin-right:0}
.ezy-bill-payform #billingAddressChoice strong, .ezy-bill-payform #innerBillingContactsContainer strong{color:var(--ezy-head);font-weight:600;margin-right:4px}
.ezy-bill-payform label.form-check-inline{padding-left:0;margin-right:18px}
.ezy-bill-payform .submit-container{margin-top:24px;margin-bottom:0}
.ezy-body .ezy-bill-payform label.form-check-inline{display:inline-flex;align-items:center;min-height:40px;margin-bottom:0}
.ezy-bill-payform #billingAddressChoice > div, .ezy-bill-payform #billingContactsContainer{padding-top:8px}
.ezy-bill-payform .form-group.row{align-items:flex-start}
.ezy-bill-payform .form-group.row > label{text-align:left !important}
.ezy-bill-payform .bootstrap-switch{margin-right:6px}
.ezy-bill-payform .fieldgroup-remoteinput iframe, .ezy-bill-remote iframe{width:100%;border:1px solid var(--ezy-line);border-radius:8px}
.ezy-bill-secure{gap:8px}
.ezy-bill-secure svg{width:15px;height:15px;color:var(--ezy-faint)}

/* the invoice summary beside the payment form (payment/invoice-summary.tpl) */
.ezy-main #invoiceIdSummary{margin:0}
.ezy-main #invoiceIdSummary .card-body{padding:0}
.ezy-main #invoiceIdSummary h2{font-size:15px;font-weight:650;line-height:1.5;letter-spacing:0;text-align:left !important;margin:0;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-main #invoiceIdSummary .invoice-summary-table{margin:0;max-height:none;overflow:visible}
.ezy-main #invoiceIdSummary .table{margin:0}
.ezy-main #invoiceIdSummary .table td{padding:11px 20px;border-bottom:1px solid var(--ezy-line);font-size:13.5px;text-align:left !important;vertical-align:top}
.ezy-main #invoiceIdSummary .table td:last-child{text-align:right !important;white-space:nowrap;color:var(--ezy-head);font-weight:600;width:1%}
.ezy-main #invoiceIdSummary .table tr:first-child td{background:#f8fafc;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);font-weight:700}
.ezy-main #invoiceIdSummary .table tr:first-child td strong{font-weight:700}
.ezy-main #invoiceIdSummary .table td.total-row{background:none}
.ezy-main #invoiceIdSummary .table td.total-row:first-child{color:var(--ezy-muted);font-weight:400}
.ezy-main #invoiceIdSummary .table tr:last-child > td{border-bottom:1px solid var(--ezy-line)}
.ezy-main #invoiceIdSummary .invoice-summary > .mb-2{display:flex;justify-content:space-between;gap:12px;margin:0 !important;padding:11px 20px;color:var(--ezy-muted)}
.ezy-main #invoiceIdSummary .invoice-summary > .mb-2 strong{color:var(--ezy-head);font-weight:600}
.ezy-main #invoiceIdSummary .invoice-summary > .alert{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:5px 20px 20px !important;text-align:left !important;font-weight:600}
.ezy-main #invoiceIdSummary .invoice-summary > .alert strong{font-size:18px;font-weight:650}

/* ---- payment methods list ---- */
.ezy-bill-pm{display:grid;grid-template-columns:40px minmax(0,1fr) 200px auto;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-bill-pm:last-child{border-bottom:0}
.ezy-bill-pm .ezy-svc__ico i{font-size:18px}
.ezy-bill-pm__state{display:flex;flex-wrap:wrap;gap:8px}
.ezy-bill-pm__acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}

/* ---- upgrade: package list, configurable options, product cards ---- */
.ezy-bill-pkg{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-bill-pkg:last-child{border-bottom:0}
.ezy-bill-pkg__t{font-weight:600;color:var(--ezy-head)}
.ezy-bill-pkg__d{font-size:13px;color:var(--ezy-muted);margin-top:2px}
.ezy-bill-pkg__f{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0}
.ezy-bill-pkg__f .form-group{margin:0}
.ezy-bill-pkg__f select{width:230px}
.ezy-bill-pkg__price{font-weight:600;color:var(--ezy-head);white-space:nowrap}
.ezy-main .table.ezy-bill-opts{margin:0}
.ezy-main .ezy-bill-opts thead th{border-top:0}
.ezy-main .ezy-bill-opts th:first-child, .ezy-main .ezy-bill-opts td:first-child{padding-left:20px}
.ezy-main .ezy-bill-opts th:last-child, .ezy-main .ezy-bill-opts td:last-child{padding-right:20px;width:38%}
.ezy-main .ezy-bill-opts tbody tr:last-child > td{border-bottom:1px solid var(--ezy-line)}
.ezy-bill-opts .form-group{margin:0}
.ezy-bill-opts__n{font-weight:600;color:var(--ezy-head)}
.ezy-bill-opts__to{width:40px;color:var(--ezy-faint)}
.ezy-bill-opts .form-inline .form-control{width:90px}
.ezy-bill-opts + .ezy-card__foot{border-top:0}

.ezy-bill-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:18px}
.ezy-bill-plan__head{padding:20px 20px 18px}
.ezy-bill-plan__marks{display:flex;gap:8px;min-height:24px;margin-bottom:10px}
.ezy-bill-plan__name{font-size:18px;font-weight:650;color:var(--ezy-head);line-height:1.25}
.ezy-bill-plan__desc{font-size:13px;color:var(--ezy-muted);margin-top:4px}
.ezy-bill-plan__feats{border-top:1px solid var(--ezy-line)}
.ezy-bill-yes{width:16px;height:16px;color:var(--ezy-green-text);stroke-width:2.2;vertical-align:-3px}
.ezy-bill-no{color:var(--ezy-faint)}
.ezy-bill-plan__foot{margin-top:auto;padding:16px 20px 20px;border-top:1px solid var(--ezy-line)}
.ezy-bill-plan__foot form{display:flex;flex-direction:column;gap:12px;margin:0}
.ezy-bill-plan__qty{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ezy-body .ezy-bill-plan__qty label{margin:0}

/* ---- usage metrics (a fragment inside the service page's Metrics card) ---- */
.ezy-main p.ezy-usage__intro{color:var(--ezy-muted);font-size:13px;margin:0 0 14px}
.ezy-usage{overflow-x:auto}
.ezy-pad > .ezy-usage{margin:0 -20px -16px;border-top:1px solid var(--ezy-line)}
.ezy-main .table.ezy-usage__table{margin:0;background:transparent}
.ezy-main .ezy-usage__table thead th{border-top:0}
.ezy-main .ezy-usage__table th:first-child, .ezy-main .ezy-usage__table td:first-child{padding-left:20px}
.ezy-main .ezy-usage__table th:last-child, .ezy-main .ezy-usage__table td:last-child{padding-right:20px}
.ezy-usage__name, .ezy-usage__value{font-weight:600;color:var(--ezy-head)}
.ezy-usage__more{margin-left:8px}
.ezy-usage__when{color:var(--ezy-muted);white-space:nowrap}
.ezy-main p.ezy-usage__included{color:var(--ezy-muted);font-size:12.5px;margin:12px 0 0}
.ezy-main .table.ezy-usage__brackets{margin:0}
.ezy-main .modal-metric-pricing{text-align:left;white-space:normal}

/* ---- a calm centred card: redirects, card verification, mailing list results ---- */
.ezy-calm{display:flex;justify-content:center;padding:48px 0 30px}
.ezy-calm__card{width:100%;max-width:540px}
.ezy-calm--wide .ezy-calm__card{max-width:720px}
.ezy-calm__body{padding:36px 36px 32px;text-align:center}
.ezy-calm__ico{width:48px;height:48px;border-radius:12px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;margin:0 auto 16px}
.ezy-calm__ico svg{width:24px;height:24px}
.ezy-calm__ico--ok{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-calm__ico--warn{background:var(--ezy-amber-bg);color:#b45309}
.ezy-calm__title{font-size:18px;font-weight:650;color:var(--ezy-head);line-height:1.3;margin-bottom:8px}
.ezy-main .ezy-calm__body p{margin:0 0 8px}
.ezy-main .ezy-calm__body p:last-of-type{margin-bottom:0}
.ezy-calm__body .alert{margin:0}
.ezy-calm__acts{margin-top:24px}
.ezy-body .ezy-calm__bar{width:220px;max-width:100%;margin:22px auto 0}
.ezy-calm__form{margin-top:18px}
.ezy-calm__form form{margin:0}
.ezy-calm__frame{border-top:1px solid var(--ezy-line);padding:20px}
.ezy-calm__frame iframe{display:block;width:100%;border:1px solid var(--ezy-line);border-radius:8px}

/* ---- affiliates ---- */
.ezy-lrow--ref{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) 110px}
.ezy-bill-tiles .ezy-tile__label{padding-right:50px}
.ezy-body .ezy-bill-reflink{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;background:var(--ezy-page);color:var(--ezy-head)}
.ezy-bill-linkcode{overflow-x:auto;text-align:center}
.ezy-main p.ezy-bill-signup__lead{font-size:15px;color:var(--ezy-head);margin:0 0 16px}
.ezy-bill-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ezy-bill-points li{display:flex;align-items:flex-start;gap:10px}
.ezy-bill-points svg{width:16px;height:16px;margin-top:3px;color:var(--ezy-green-text);stroke-width:2.2}

/* ---- small screens ---- */
@media (max-width: 991px){
    .ezy-lrow--quote{grid-template-columns:auto minmax(0,1fr) auto}
    .ezy-lrow > .ezy-lrow__acts{grid-column:2 / -1;justify-content:flex-start;flex-wrap:wrap}
    .ezy-lrow--ref{grid-template-columns:minmax(0,1fr) auto}
    .ezy-lrow--ref > .ezy-row__m{grid-column:1 / -1}
    .ezy-lrow--ref > .ezy-lrow__c{grid-column:auto}
    .ezy-lrow--ref > .ezy-pill{grid-column:1 / -1}
    .ezy-bill-pm{grid-template-columns:40px minmax(0,1fr);row-gap:10px}
    .ezy-bill-pm__state, .ezy-bill-pm__acts{grid-column:2;justify-content:flex-start}
    .ezy-bill-pkg{grid-template-columns:minmax(0,1fr);gap:14px}
    .ezy-bill-pkg__f{justify-content:flex-start;flex-wrap:wrap}
    .ezy-bill-pkg__f select{width:100%}
    .ezy-bill-pkg__f .form-group{flex:1 1 180px}
    .ezy-bill-payform .control-label, .ezy-bill-payform .col-form-label{padding-top:0}
    .ezy-main div.three-column-grid, .ezy-main div.two-column-grid{column-gap:8px}
    .ezy-calm{padding:18px 0}
    .ezy-calm__body{padding:28px 20px 24px}
    .ezy-main .ezy-bill-opts th, .ezy-main .ezy-bill-opts td{padding-left:12px;padding-right:12px}
    .ezy-bill-opts__to{display:none}
}
@media (max-width: 575px){
    /* configurable options: one option per block, each value under its own label */
    .ezy-main .ezy-bill-opts, .ezy-bill-opts tbody, .ezy-bill-opts tr, .ezy-main .ezy-bill-opts td{display:block;width:auto}
    .ezy-bill-opts thead{display:none}
    .ezy-main .ezy-bill-opts td{border:0;padding:0 20px 10px}
    .ezy-main .ezy-bill-opts td:first-child{padding-top:16px}
    .ezy-main .ezy-bill-opts td.ezy-bill-opts__to{display:none}
    .ezy-main .ezy-bill-opts td:last-child{width:auto;padding-bottom:16px}
    .ezy-main .ezy-bill-opts tbody tr, .ezy-main .ezy-bill-opts tbody tr:last-child{border-bottom:1px solid var(--ezy-line)}
    .ezy-main .ezy-bill-opts tbody tr:last-child > td{border-bottom:0}
    .ezy-bill-opts td[data-label]::before{content:attr(data-label);display:block;font-size:12.5px;color:var(--ezy-muted);margin-bottom:4px}
}
@media (min-width: 992px) and (max-width: 1300px){
    .ezy-lrow--quote{grid-template-columns:20px minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.9fr) 110px 236px;gap:14px}
}
@media (max-width: 575px){
    .ezy-main .ezy-usage__table td:nth-child(3){min-width:170px}
    .ezy-body .ezy-usage__more{display:flex;margin:6px 0 0}
}

/* ==== 50-guest.css ==== */
/* ---- Sign-in, guest pages and shared partials ----
   The guest shell (top bar with the logo, a menu bar, no sidebar) is opened in header.tpl when
   nobody is signed in or the visitor is in the cart. Its markup is the parent's; everything here
   is done from CSS. */

/* guest top bar */
.ezy-top--wide .ezy-top__brand{display:flex;align-items:center;margin-right:14px;color:var(--ezy-head);font-weight:700;font-size:18px}

/* guest menu bar: a white strip under the top bar, edge to edge.
   The parent's script moves items into "More" as soon as #nav is 30px tall or more, so the list
   itself stays one 21px line and the height of the bar comes from the padding of the wrapper. */
.ezy-main > .ezy-guestnav{margin:-24px -28px 24px;padding:14px 28px 13px;background:#fff;border:0;border-bottom:1px solid var(--ezy-line);border-radius:0;align-items:center;flex-wrap:nowrap}
.ezy-guestnav .navbar-nav{align-items:center;line-height:21px}
.ezy-guestnav .navbar-nav > li{position:relative}
.ezy-guestnav .navbar-nav > li > a{display:block;font-size:13.5px;font-weight:600;line-height:21px;color:var(--ezy-body);white-space:nowrap}
.ezy-guestnav .navbar-nav > li > a:hover, .ezy-guestnav .navbar-nav > li.show > a{color:var(--ezy-blue)}
.ezy-guestnav .navbar-nav > li > a.dropdown-toggle::after{margin-left:6px;vertical-align:2px;border-top-width:4px;border-left-width:4px;border-right-width:4px;color:var(--ezy-faint)}
.ezy-guestnav .navbar-nav > li > a .badge{margin-left:4px}
.ezy-guestnav .dropdown-menu{margin-top:14px}
.ezy-guestnav .dropdown-menu > li.dropdown-item{padding:0;background:none}
.ezy-guestnav .dropdown-menu > li > a, .ezy-guestnav .dropdown-menu > li.dropdown-item > a.dropdown-item{display:block;padding:8px 12px !important;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--ezy-body);white-space:nowrap}
.ezy-guestnav .dropdown-menu > li > a:hover{background:#f8fafc;color:var(--ezy-head)}
.ezy-guestnav .ml-auto > li > a{padding-right:0}
@media (max-width: 991px){
    .ezy-main > .ezy-guestnav{margin:-16px -16px 18px;padding:14px 16px 13px}
}

/* width of pages in the guest shell: without the sidebar the column would run the full window */
.ezy-main--wide .ezy-guest, .ezy-main--wide > #frmDomainHomepage{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.ezy-main--wide .ezy-guest--form{max-width:880px}
.ezy-guest > .ezy-band:first-child{margin-top:8px}

/* ---- sign-in card (login, password reset, OAuth) ---- */
.ezy-auth{width:100%;max-width:440px;margin:32px auto 24px}
.ezy-auth > .alert{margin-bottom:18px}
.ezy-auth__body{padding:36px 36px 30px}
.ezy-auth__logo{display:flex;justify-content:center;align-items:center;min-height:44px;margin-bottom:24px;font-size:20px;font-weight:700;color:var(--ezy-head)}
.ezy-auth__logo img{height:44px;width:auto;max-width:100%}
.ezy-main .ezy-auth__title, .ezy-auth__title{font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.01em;color:var(--ezy-head);text-align:center;margin:0}
.ezy-main .ezy-auth__sub, .ezy-auth__sub{font-size:13.5px;color:var(--ezy-muted);text-align:center;margin:6px 0 24px}
.ezy-auth__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;font-size:13px}
.ezy-auth__row label{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500;color:var(--ezy-body);cursor:pointer}
.ezy-auth__row .form-check-input{position:static;margin:0;width:15px;height:15px}
.ezy-auth__row a{font-weight:600}
.ezy-auth__foot{border-top:1px solid var(--ezy-line);padding:16px 36px;text-align:center;font-size:13px;color:var(--ezy-muted)}
.ezy-auth__foot a{font-weight:600;margin-left:4px}
.ezy-auth__actions{display:flex;flex-direction:column;gap:8px}
.ezy-auth .form-group:last-child{margin-bottom:0}
.ezy-auth .btn-reveal-pw{border-left:0;color:var(--ezy-muted);padding:0 12px}
.ezy-auth .recaptcha-container{margin-bottom:18px}
.ezy-auth__social{margin-top:18px;padding:20px 36px;text-align:center}
.ezy-auth__social-t{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint);margin-bottom:12px}
.ezy-auth .providerLinkingFeedback:empty{display:none}
.ezy-auth .providerLinkingFeedback{margin-bottom:18px}
@media (max-width: 575px){
    .ezy-auth{margin-top:8px}
    .ezy-auth__body{padding:28px 20px 24px}
    .ezy-auth__foot, .ezy-auth__social{padding-left:20px;padding-right:20px}
}

/* ---- registration ---- */
.ezy-reg, .ezy-reg-wrap{display:flex;flex-direction:column;gap:18px}
.ezy-reg-wrap{margin-top:18px}
.ezy-reg #containerNewUserSignup, .ezy-reg #containerNewUserSecurity{display:flex;flex-direction:column;gap:18px}
.ezy-reg #containerNewUserSecurity.w-hidden{display:none}
.ezy-reg .ezy-pad{padding:20px 20px 2px}
.ezy-reg .row{margin-left:-9px;margin-right:-9px}
.ezy-reg .row > [class*="col-"]{padding-left:9px;padding-right:9px}
/* the parent sizes these fields through #registration, which outranks the base layer */
.ezy-body #registration .field, .ezy-body #registration .form-control{display:block;width:100%;height:40px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-head);font-size:14px}
.ezy-body #registration .field:focus, .ezy-body #registration .form-control:focus{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12);outline:0}
.ezy-body #registration textarea.field, .ezy-body #registration textarea.form-control{height:auto;padding:10px 12px}
.ezy-body #registration .iti{display:block;width:100%}
.ezy-body #registration .iti .form-control{padding-left:52px}
.ezy-reg label .ezy-reg__opt{font-weight:400;color:var(--ezy-faint);margin-left:4px}
.ezy-reg .field-help-text{display:block;font-size:12.5px;color:var(--ezy-muted);margin-top:6px}
.ezy-reg .password-strength-meter .progress{margin:16px 0 8px}
.ezy-reg .password-strength-meter p{margin:0 0 18px}
.ezy-reg #passwdFeedback{margin:0 9px 18px;flex:1 1 100%;max-width:none}
.ezy-reg__optin{display:flex;align-items:center;gap:16px;padding:16px 20px}
.ezy-reg__optin p{margin:0;flex:1;font-size:13.5px}
.ezy-reg__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:2px}
.ezy-reg__foot label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;font-weight:500;color:var(--ezy-body)}
.ezy-reg__foot .form-check-input{position:static;margin:0;width:15px;height:15px}
.ezy-reg__foot .btn{margin-left:auto}
.ezy-reg .sub-heading, .ezy-auth__social .sub-heading, .ezy-body #registration .sub-heading{height:auto;border:0;margin:0 0 12px;text-align:center}
.ezy-reg .sub-heading span, .ezy-auth__social .sub-heading span, .ezy-body #registration .sub-heading span{position:static;padding:0;background:none;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint)}
.ezy-reg__social{padding:20px;text-align:center}
.ezy-reg__social:empty{display:none}

/* ---- public landing page ---- */
.ezy-body .home-domain-search{background:var(--ezy-card) !important;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);margin-bottom:6px}
.ezy-body .home-domain-search > .container > div{padding:36px 28px 24px !important;max-width:760px;margin:0 auto}
.ezy-body .home-domain-search h2{font-size:24px;font-weight:650;letter-spacing:-.01em;margin:0 0 4px}
.ezy-body .home-domain-search .input-group-wrapper{margin:18px 0 12px;padding:5px;border:1px solid var(--ezy-line);border-radius:12px;background:#fff;transition:border-color .12s,box-shadow .12s}
.ezy-body .home-domain-search .input-group-wrapper:focus-within{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body .home-domain-search .input-group-wrapper .form-control{height:42px;border:0;box-shadow:none;font-size:15px;background:transparent}
.ezy-body .home-domain-search .input-group-wrapper .btn{min-height:42px;margin:0 0 0 6px !important;border-radius:9px !important;padding:0 18px}
.ezy-body .home-domain-search .row.d-sm-none{margin:0 -6px 12px}
.ezy-body .home-domain-search .row.d-sm-none > div{padding:0 6px}
.ezy-body .home-domain-search .tld-logos{display:flex;flex-wrap:wrap;gap:8px 24px;float:left;margin:4px 0 0;padding:0;font-size:14px;font-weight:600;color:var(--ezy-head)}
.ezy-body .home-domain-search .tld-logos li{float:none;padding:0;display:flex;align-items:center;gap:8px}
.ezy-body .home-domain-search .tld-logos img{width:44px}
.ezy-body .home-domain-search .btn-link{min-height:30px;font-weight:600}
.ezy-body .domainchecker-homepage-captcha{margin:6px 0 12px}
.ezy-main .ezy-home__h{font-size:16px;font-weight:650;color:var(--ezy-head);margin:30px 2px 12px}

.ezy-home-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
a.ezy-home-prod{display:flex;flex-direction:column;gap:4px;padding:20px;color:inherit}
a.ezy-home-prod:hover{border-color:#cbd5e1;color:inherit}
.ezy-home-prod .ezy-act__i{margin-bottom:10px}
.ezy-home-prod__t{font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-home-prod__s{font-size:13px;color:var(--ezy-muted);flex:1}
.ezy-home-prod .ezy-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:600}
.ezy-home-prod .ezy-link svg{width:14px;height:14px}
.ezy-home-acts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.ezy-home-acts a.ezy-act{padding:14px 16px;border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);white-space:normal;line-height:1.3}
.ezy-home-acts a.ezy-act:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-home-acts a.ezy-act:focus-visible, a.ezy-home-prod:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}
@media (max-width: 1199px){
    .ezy-home-acts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 991px){
    .ezy-home-prods{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 575px){
    .ezy-home-prods, .ezy-home-acts{grid-template-columns:minmax(0,1fr)}
    .ezy-body .home-domain-search > .container > div{padding:24px 16px 16px !important}
    .ezy-body .home-domain-search h2{font-size:20px}
}

/* ---- single-message pages: access denied, banned, not found, invalid links ---- */
.ezy-state{width:100%;max-width:560px;margin:32px auto 24px}
.ezy-state__card{padding:36px 36px 30px;text-align:center;align-items:center}
.ezy-state__ico{width:52px;height:52px;border-radius:14px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;margin-bottom:18px}
.ezy-state__ico svg{width:24px;height:24px}
.ezy-state__ico--warn{background:var(--ezy-amber-bg);color:#b45309}
.ezy-state__ico--stop{background:#fef3f2;color:#b42318}
.ezy-main .ezy-state__title, .ezy-state__title{font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.01em;color:var(--ezy-head);margin:0}
.ezy-state__code{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue);margin-bottom:4px}
.ezy-state__text{font-size:14px;color:var(--ezy-body);margin:8px 0 0}
.ezy-state__text--muted{font-size:13px;color:var(--ezy-muted)}
.ezy-state__list{width:100%;margin:16px 0 4px;border:1px solid var(--ezy-line);border-radius:10px;text-align:left;overflow:hidden}
.ezy-state__list-h{padding:10px 16px;background:#f8fafc;border-bottom:1px solid var(--ezy-line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-state__list .list-group-item{border:0;border-radius:0;padding:10px 16px;font-size:13.5px}
.ezy-state__list .list-group-item + .list-group-item{border-top:1px solid var(--ezy-line)}
.ezy-state__kv{width:100%;margin:18px 0 0;border:1px solid var(--ezy-line);border-radius:10px;text-align:left}
.ezy-state__kv .ezy-line{padding:11px 16px}
.ezy-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}
.ezy-state > .alert{margin-top:18px}
@media (max-width: 575px){
    .ezy-state{margin-top:8px}
    .ezy-state__card{padding:28px 20px 24px}
}

/* ---- SSL certificate pages ---- */
.ezy-ssl{display:flex;flex-direction:column;gap:18px;margin-top:18px}
.ezy-ssl > .alert{margin:0}
.ezy-ssl .ezy-pad{padding:20px 20px 2px}
.ezy-ssl .ezy-pad > .alert{margin-bottom:20px}
.ezy-ssl .row{margin-left:-9px;margin-right:-9px}
.ezy-ssl .row > [class*="col-"]{padding-left:9px;padding-right:9px}
.ezy-ssl textarea#inputCsr{font-family:Consolas,"Cascadia Mono","Courier New",monospace;font-size:13px}
.ezy-ssl__sub{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint);margin:4px 0 12px}
.ezy-ssl__foot{display:flex;justify-content:flex-end;gap:8px}
.ezy-ssl__methods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ezy-ssl__methods label.form-check{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;cursor:pointer}
.ezy-ssl__methods label.form-check strong{font-weight:600;color:var(--ezy-head)}
.ezy-ssl__methods label.form-check:hover{border-color:#cbd5e1}
.ezy-ssl .tab-content .list-group{margin-bottom:18px}
.ezy-ssl .tab-content .list-group-item label{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ezy-head);cursor:pointer}
.ezy-ssl .tab-content .alert{margin-bottom:16px}
.ezy-ssl .tab-content .w-hidden .alert{margin-bottom:18px}
.ezy-ssl__next{font-size:15px;font-weight:650;color:var(--ezy-head);margin:0 0 12px}
.ezy-ssl .copy-to-clipboard{min-height:40px}
.ezy-ssl-list td form{display:inline-block;margin:0}
.ezy-ssl-list td .btn + .btn, .ezy-ssl-list td .btn + form, .ezy-ssl-list td form + .btn{margin-left:4px}
.ezy-ssl-list .label{margin-left:6px}
.ezy-body .alert-table-ssl-manage.w-hidden{display:none}

/* ---- shared partials (the parent's markup, restyled) ---- */
/* alert.tpl: title and error list */
.ezy-body .alert h2{font-size:15px;margin:0 0 4px;color:inherit}
.ezy-body .alert ul{margin:6px 0 0;padding-left:18px}
.ezy-body .alert-secondary{background:#f8fafc;border-color:var(--ezy-line);color:var(--ezy-body)}
/* panel.tpl: the coloured title strip becomes a plain card heading */
.ezy-main .card > .card-title[class*="bg-"]{background:#fff !important;color:var(--ezy-head) !important;padding:16px 20px !important;margin:0;border-bottom:1px solid var(--ezy-line);font-size:15px}
.ezy-main .card > .card-text{margin:0 !important;padding:20px}
.ezy-main .card > .card-text + .card-footer{margin:0 !important}
/* verifyemail.tpl and validateuser.tpl: a note above the page, not a grey strip */
.ezy-body .verification-banner{margin:0 0 18px;padding:10px 16px;background:var(--ezy-amber-bg);border:1px solid var(--ezy-amber-line);border-radius:10px;color:var(--ezy-amber-text);font-weight:400;font-size:13.5px}
.ezy-body .verification-banner .row{align-items:center}
.ezy-body .verification-banner .text{padding:0;display:inline}
.ezy-body .verification-banner .fas, .ezy-body .verification-banner .fal, .ezy-body .verification-banner .far{float:none;font-size:16px;padding:0 8px 0 0;color:#b45309;margin-left:0}
.ezy-body .verification-banner .btn.btn-action, .ezy-body .verification-banner.email-verification .btn.btn-action,
.ezy-body .verification-banner.email-verification .btn.btn-action:active, .ezy-body .verification-banner.email-verification .btn.btn-action[disabled]:hover{margin:0;padding:0 11px;background:#fff;border-color:rgba(120,53,15,.25);color:var(--ezy-amber-text)}
.ezy-body .verification-banner .btn.close{min-height:30px;margin:0;padding:0 6px;border:0;background:none;color:var(--ezy-amber-text);font-size:20px;font-weight:400;opacity:.6;float:right}
.ezy-body .verification-banner .btn.close:hover{opacity:1;background:none}
@media (max-width: 575px){
    .ezy-body .verification-banner .btn.btn-action{margin-top:10px}
}
/* network-issues-notifications.tpl: sits above the page with the usual gap under it */
.ezy-main > .network-issue-alert{margin:0 0 18px !important}
.ezy-main > .network-issue-alert .alert-link{margin-left:8px}
/* generate-password.tpl: no blue block across the top of the dialog */
.ezy-body #modalGeneratePassword .modal-header{background:#fff !important;color:var(--ezy-head) !important}
.ezy-body #modalGeneratePassword .modal-header .close{color:var(--ezy-faint)}
.ezy-body #modalGeneratePassword .modal-body .btn + .btn{margin-left:4px}
.ezy-body #modalGeneratePassword .copy-to-clipboard img{opacity:.6}
/* pwstrength.tpl: the meter sits under the field without the parent's line break */
.ezy-body br:has(+ #passwordStrengthBar){display:none}
.ezy-body #passwordStrengthBar{margin:12px 0}
.ezy-body #passwordStrengthBar + .alert{padding:8px 12px;margin-bottom:0}
.ezy-body #inputNewPassword2Msg .form-text{color:#b42318 !important;margin-bottom:0}
.ezy-body .form-control.is-warning{border-color:var(--ezy-amber-line)}
.ezy-body .form-control.is-valid{border-color:#c3dc82;background-image:none}
/* captcha.tpl: the image captcha as a tidy pair */
.ezy-body #default-captcha-domainchecker{align-items:center;margin:0;padding:0 0 18px;text-align:left}
.ezy-body #default-captcha-domainchecker > p{flex:0 0 100%;font-size:12.5px;color:var(--ezy-muted);margin:0 0 10px;padding:0 15px}
.ezy-body .captchaimage{padding:0 15px;text-align:right}
.ezy-body .captchaimage img{min-width:100px;min-height:38px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff}
/* linkedaccounts.tpl: sign-in provider buttons */
.ezy-body .social-signin-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ezy-body .social-signin-btns .btn{margin:0}
.ezy-body .btn-social{position:relative;padding-left:14px;text-align:left}
.ezy-body .btn-social i.fab, .ezy-body .btn-social i.fas, .ezy-body .btn-social i.far{position:static;width:auto;line-height:1;font-size:15px;border:0;background:none}
.ezy-main #tableLinkedAccounts{margin:0}
/* tablelist.tpl: DataTables' own class for the box it builds around a list */
.ezy-main .dataTables_wrapper .listtable{overflow-x:auto}
.ezy-main .dataTables_wrapper .dataTables_empty{padding:28px 16px;text-align:center;color:var(--ezy-muted)}

/* ---- the store (MarketConnect landing pages), which keep the parent's templates ---- */
.ezy-main .landing-page, .ezy-main .store-order-container{font-size:14px}
.ezy-main .landing-page .hero{border-radius:var(--ezy-r);overflow:hidden}
.ezy-main .landing-page .container, .ezy-main .store-order-container .container{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* ---- OAuth: the standalone page shown when an application asks for access ---- */
body.ezy-oauth{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--ezy-page)}
.ezy-oauth section#header{margin:0;padding:0;background:#fff;border-bottom:1px solid var(--ezy-line);font-size:13px}
.ezy-oauth section#header .container{display:flex;align-items:center;gap:16px;max-width:none;min-height:68px;padding:10px 28px}
.ezy-oauth__brand{display:flex;align-items:center;font-size:18px;font-weight:700;color:var(--ezy-head)}
.ezy-oauth__brand img{height:38px;width:auto}
.ezy-oauth__who{margin-left:auto;display:flex;align-items:center;gap:14px;text-align:right;color:var(--ezy-muted)}
.ezy-oauth__who form{margin:0}
.ezy-oauth__who p{margin:0}
.ezy-oauth__who a{font-weight:600}
.ezy-oauth section#content{flex:1 0 auto;margin:0;padding:48px 16px 24px}
.ezy-oauth section#footer{margin:0;padding:20px 16px 28px;text-align:center;font-size:12.5px;color:var(--ezy-faint)}
.ezy-oauth .content-container{width:100%;max-width:440px;margin:0 auto;padding:0;background:var(--ezy-card);border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden}
.ezy-oauth .content-container > br{display:none}
.ezy-oauth .app-logo{margin:0;padding:36px 36px 0;text-align:center;max-height:none;overflow:visible}
.ezy-oauth .app-logo img{max-height:56px;max-width:200px;border-radius:10px}
.ezy-oauth .content-container > h2{font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.01em;color:var(--ezy-head);text-align:center;margin:0;padding:32px 36px 0}
.ezy-oauth .app-logo + h2{padding-top:18px}
.ezy-oauth .content-padded{margin:0;padding:24px 36px}
.ezy-oauth .content-padded > :last-child{margin-bottom:0}
.ezy-oauth .content-padded > br{display:none}
.ezy-oauth .content-padded > .form-control + br + .btn{margin-top:12px}
.ezy-oauth .permission-grants p{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);margin:0 0 8px}
.ezy-oauth .permission-grants ul{list-style:none;margin:0;padding:0;border:1px solid var(--ezy-line);border-radius:10px}
.ezy-oauth .permission-grants li{position:relative;padding:10px 14px 10px 38px;font-size:13.5px;color:var(--ezy-head);font-weight:500}
.ezy-oauth .permission-grants li + li{border-top:1px solid var(--ezy-line)}
.ezy-oauth .permission-grants li::before{content:"";position:absolute;left:15px;top:14px;width:11px;height:6px;border-left:2px solid var(--ezy-green);border-bottom:2px solid var(--ezy-green);transform:rotate(-45deg)}
.ezy-oauth .action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;padding:16px 36px;background:#fff;border-top:1px solid var(--ezy-line);border-radius:0;font-size:13px;text-align:right}
.ezy-oauth .action-buttons .float-left{float:none !important;margin-right:auto;text-align:left;color:var(--ezy-muted)}
.ezy-oauth .ezy-auth__row{margin-bottom:0}
.ezy-oauth .ezy-oauth__login .ezy-auth__row{margin-bottom:20px}
.ezy-oauth .ezy-oauth__login .ezy-auth__actions{padding:0 36px 30px}
.ezy-oauth .ezy-oauth__login .content-padded{padding-bottom:0}
.ezy-oauth #content > .container{max-width:440px;padding:0}
.ezy-oauth #content > .container > .alert{padding:18px 20px;line-height:1.6}
@media (max-width: 575px){
    .ezy-oauth section#header .container{padding:10px 16px;flex-wrap:wrap}
    .ezy-oauth__who{flex-wrap:wrap;justify-content:flex-end}
    .ezy-oauth section#content{padding-top:24px}
    .ezy-oauth .content-padded, .ezy-oauth .action-buttons{padding-left:20px;padding-right:20px}
    .ezy-oauth .content-container > h2{padding-left:20px;padding-right:20px}
    .ezy-oauth .ezy-oauth__login .ezy-auth__actions{padding:0 20px 24px}
}
.ezy-auth__done{width:44px;height:44px;border-radius:50%;background:var(--ezy-green-tint);color:var(--ezy-green-text);display:grid;place-items:center;margin:0 auto 14px}
.ezy-state--after{margin-top:-6px}
.ezy-state--after > .alert{margin-top:0}
.ezy-body #registration label{font-size:13px;font-weight:600;color:var(--ezy-head)}
.ezy-body #registration .ezy-reg__foot label{font-weight:500;color:var(--ezy-body)}
.ezy-auth #default-captcha-domainchecker{padding-bottom:20px}
.ezy-auth .row > .col-md-8{flex:0 0 100%;max-width:100%}
/* store landing pages: the portal's type and colours over the parent's layout (CSS only; the templates are the parent's) */
.ezy-main .landing-page{border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);overflow:hidden;margin-bottom:18px}
.ezy-main .landing-page h1, .ezy-main .landing-page h2, .ezy-main .landing-page h3, .ezy-main .landing-page h4, .ezy-main .landing-page h5, .ezy-main .landing-page h6{font-weight:650;color:var(--ezy-head)}
.ezy-main .landing-page .hero{padding:44px 0 36px;color:var(--ezy-body)}
.ezy-main .landing-page .hero h2{font-size:28px;font-weight:650;margin:0 0 8px}
.ezy-main .landing-page .hero h3{font-size:15px;font-weight:400;color:var(--ezy-muted);line-height:1.5}
.ezy-main .landing-page.ssl .standout, .ezy-main .landing-page .content-block{font-size:14px;font-weight:400}
.ezy-main .landing-page.ssl .validation-levels{background:var(--ezy-blue-tint);border-top:1px solid var(--ezy-blue-line);border-bottom:1px solid var(--ezy-blue-line)}
.ezy-main .landing-page.ssl .validation-levels h3{font-size:18px;font-weight:650;line-height:1.3;color:var(--ezy-head);padding:16px 0 4px}
.ezy-main .landing-page.ssl .validation-levels .item{color:var(--ezy-body);border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);padding:24px}
.ezy-main .landing-page.ssl .validation-levels .item h4{font-size:15px}
.ezy-main .landing-page.ssl .validation-levels .item .btn{width:auto;min-width:110px;padding:0 20px;background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff;font-size:13px;font-weight:600;border-radius:9px;justify-self:center}
.ezy-main .landing-page.ssl .validation-levels .item .btn:hover{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark)}
.ezy-main .landing-page.ssl p.help-me-choose{color:var(--ezy-faint);padding:20px 0 28px}
.ezy-main .landing-page.ssl p.help-me-choose a, .ezy-main .landing-page.ssl a.help-me-choose{color:var(--ezy-blue);text-decoration:none;font-weight:600}
.ezy-main .landing-page .navbar.bg-light{background:#fff !important;border-bottom:1px solid var(--ezy-line)}
.ezy-main .store-order-container h2{font-size:20px}
.ezy-main .store-order-container .payment-term select{min-width:220px}
.ezy-main .store-order-container .store-domain-tab-content{border:1px solid var(--ezy-line);border-radius:var(--ezy-r);padding:20px;margin-bottom:18px}
.ezy-main .store-order-container .domain-validation{font-size:14px;font-weight:500}

/* ==== 60-mod-dns.css ==== */
/* ---- Addon modules: Zone Manager and DNS Tools ----
   Both are addon modules whose pages arrive as one block of module-built HTML ($moduleoutput).
   Everything here is scoped to the modules' own wrappers, so nothing can reach another page:
     .zm-client / .zm-overlay   Zone Manager. These hooks exist only in the themed copies of its two
                                client templates (candidate-01\modules-themed\zonemanager). The module's
                                unchanged templates have no wrapper and simply get the base layer.
     .dt-page                   DNS Tools, unchanged module. It prints its own stylesheet inline in the
                                page body, after portal.css, so each rule here carries the extra
                                ".ezy-body" in front to outrank it.
   The modules' own class names are kept as they are (zm-, dt-, r-); no ezy- class is needed in
   module markup, so the same markup still works under a theme without this file. */

/* -- shell: these pages lay themselves out like the theme's own pages --
   Module pages keep the parent layout (breadcrumb bar, side panels). Zone Manager's sidebar hook adds
   a panel that is a title and nothing else ("DNS Manager": no link, no body), and that alone makes
   the shell give a third of the width to a side column. When that panel is the only thing in the
   side column the column is dropped; the breadcrumb bar is dropped on these pages because each has
   its own heading (and the zone page its own trail). Needs :has(); a browser without it shows the
   parent layout as before. Both rules do nothing once these pages are in $ezyOwnLayout. */
/* (the breadcrumb bar is no longer hidden here: the shell draws these pages' trail, see header.tpl) */
.ezy-main:has(.zm-client, .dt-page) #main-body .row > div:has(> .sidebar:only-child > .card[menuitemname="Zone Manager"]:only-child):not(:has(.list-group, .card-body)){display:none}
.ezy-main:has(.zm-client, .dt-page) #main-body .row > div:has(> .sidebar:only-child > .card[menuitemname="Zone Manager"]:only-child):not(:has(.list-group, .card-body)) + .primary-content{flex:0 0 100%;max-width:100%}

/* ==== Zone Manager ==== */
.ezy-body .zm-client{margin-bottom:0 !important}
.ezy-body .zm-client code{font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:12px;color:var(--ezy-head);background:#f1f5f9;padding:1px 5px;border-radius:4px}

/* trail on the zone page */
.ezy-body .zm-client .zm-crumbs{margin:0 0 12px !important}
.ezy-body .zm-client .zm-crumbs .breadcrumb{background:none;padding:0;margin:0;font-size:12.5px;border-radius:0}
.ezy-body .zm-client .zm-crumbs .breadcrumb-item.active{color:var(--ezy-body);font-weight:600}
.ezy-body .zm-client .zm-crumbs .breadcrumb-item + .breadcrumb-item::before{color:var(--ezy-faint)}

/* heading band */
.ezy-body .zm-client .zm-band{display:flex;align-items:flex-end;justify-content:flex-start;flex-wrap:nowrap;gap:20px;padding:2px 2px 4px;margin:0 0 18px}
.ezy-body .zm-client .zm-band__text{min-width:0}
.ezy-body .zm-client .zm-band__kicker{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue)}
.ezy-body .zm-client .zm-band__title{font-size:26px;font-weight:650;line-height:1.2;margin:2px 0 0;letter-spacing:-.01em;color:var(--ezy-head);overflow-wrap:anywhere}
.ezy-body .zm-client .zm-band__sub{font-size:13px;color:var(--ezy-muted);margin:2px 0 0}
.ezy-body .zm-client .zm-band__pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ezy-body .zm-client .zm-band__actions{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-bottom:2px}
.ezy-body .zm-client .zm-band__actions .btn{min-height:38px;padding:0 14px;font-size:13px;border-radius:9px;white-space:nowrap}
.ezy-body .zm-client .zm-band__actions .btn i{font-size:12px}

/* vertical rhythm: 18px between blocks, as on the theme's own pages */
.ezy-body .zm-client .card, .ezy-body .zm-client .alert, .ezy-body .zm-client .nav-tabs{margin-bottom:18px !important}
.ezy-body .zm-client .card:last-child{margin-bottom:0 !important}
.ezy-body .zm-client .alert{font-size:13.5px}

/* figures */
.ezy-body .zm-client .zm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 18px}
.ezy-body .zm-client .zm-stat.card{position:relative;padding:18px 20px;margin:0 !important}
.ezy-body .zm-client .zm-stat__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);padding-right:48px}
.ezy-body .zm-client .zm-stat__fig{font-size:32px;font-weight:650;color:var(--ezy-head);line-height:1.15;margin-top:6px;letter-spacing:-.02em}
.ezy-body .zm-client .zm-stat__ico{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center;font-size:16px}

/* tool row above a table: search, count, filter chips */
.ezy-body .zm-client .zm-tools{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;padding:12px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-body .zm-client .zm-tools__search{width:230px;max-width:100%;height:32px;border-radius:8px;font-size:13px;padding:0 10px}
.ezy-body .zm-client .zm-tools__help{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--ezy-muted)}
.ezy-body .zm-client .zm-chips{display:flex;flex-wrap:wrap;gap:8px}
.ezy-body .zm-client .zm-chips + .zm-tools__search{margin-left:auto}
.ezy-body .zm-client .zm-type-tab{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--ezy-line);background:#fff;color:var(--ezy-body);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s}
.ezy-body .zm-client .zm-type-tab:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .zm-client .zm-type-tab.active, .ezy-body .zm-client .zm-type-tab.active:hover{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .zm-client .zm-type-tab:focus{outline:none}
.ezy-body .zm-client .zm-type-tab:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}

/* tables: cells line up with the card's 20px gutter */
.ezy-body .zm-client .zm-table, .ezy-body .zm-client .zm-records-table{margin:0}
.ezy-body .zm-client .zm-table th, .ezy-body .zm-client .zm-table td{padding:13px 12px}
.ezy-body .zm-client .zm-records-table thead th{padding:12px !important;border-top:0;text-align:left}
.ezy-body .zm-client .zm-records-table tbody td{padding:13px 12px;text-align:left}
.ezy-body .zm-client .zm-table thead th{border-top:0;color:var(--ezy-muted) !important}
.ezy-body .zm-client .zm-table tr > :first-child, .ezy-body .zm-client .zm-records-table tr > :first-child{padding-left:20px !important}
.ezy-body .zm-client .zm-table tr > :last-child, .ezy-body .zm-client .zm-records-table tr > :last-child{padding-right:20px !important;text-align:right}
.ezy-body .zm-client .zm-col-check{width:44px;padding-right:0}
.ezy-body .zm-client .zm-col-check input{display:block;width:16px;height:16px;margin:0;cursor:pointer}
.ezy-body .zm-client .zm-zone-link{font-weight:600;color:var(--ezy-head)}
.ezy-body .zm-client .zm-zone-link:hover{color:var(--ezy-blue)}
.ezy-body .zm-client .zm-table td.small{font-size:13px}
.ezy-body .zm-client .zm-table th:nth-child(3){width:26%}
.ezy-body .zm-client .zm-table th:last-child{width:180px}
.ezy-body .zm-client .zm-btn-manage{background:#fff;border-color:var(--ezy-line);color:var(--ezy-body);min-width:76px}
.ezy-body .zm-client .zm-btn-manage:hover{background:#fff;border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .zm-client .zm-btn-manage i{display:none}
.ezy-body .zm-client .zm-btn-icon{width:30px;min-width:30px;min-height:30px;padding:0;color:var(--ezy-muted);margin-left:4px}
.ezy-body .zm-client .zm-btn-icon i{font-size:12px}
.ezy-body .zm-client .zm-btn-icon:hover{color:var(--ezy-head)}
.ezy-body .zm-client .zm-btn-icon.btn-outline-danger:hover{background:#fef3f2;border-color:#f3c5c2;color:#b42318}
.ezy-body .zm-client .zm-cust-head{background:#fff;font-size:15px}
.ezy-body .zm-client .zm-cust-head strong{font-weight:650}

/* DNS records */
.ezy-body .zm-client .r-name{font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:12.5px;color:var(--ezy-head);min-width:190px;word-break:break-all}
.ezy-body .zm-client .r-content{font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:12.5px;color:var(--ezy-body);max-width:520px;min-width:200px;word-break:break-all}
.ezy-body .zm-client .r-ttl{font-size:13px;color:var(--ezy-muted)}
.ezy-body .zm-client .zm-col-prio{width:auto}
.ezy-body .zm-client .r-type-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:0;border-radius:6px;background:#f1f5f9;color:var(--ezy-body);font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:11.5px;font-weight:600;letter-spacing:.02em}

/* pager under the zone table: "Showing" on the left, per-page and page buttons on the right */
.ezy-body .zm-client .zm-foot{padding:12px 20px !important}
.ezy-body .zm-client .zm-pagination{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0;font-size:12.5px;color:var(--ezy-muted)}
.ezy-body .zm-client .zm-pagination > span{order:1;font-size:12.5px}
.ezy-body .zm-client .zm-perpage{order:2;margin-left:auto;display:flex;align-items:center;gap:8px}
.ezy-body .zm-client .zm-perpage label{font-size:12.5px;font-weight:400;color:var(--ezy-muted) !important}
.ezy-body .zm-client .zm-perpage select{height:30px;padding:0 6px;font-size:12.5px;border-radius:8px}
.ezy-body .zm-client .zm-page-btns{order:3;display:flex;gap:6px}
.ezy-body .zm-client .zm-page-btn{min-width:28px;height:28px;padding:0 6px;border:1px solid var(--ezy-line);border-radius:7px;background:#fff;color:var(--ezy-body);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ezy-body .zm-client .zm-page-btn:hover{background:#fff;border-color:#cbd5e1}
.ezy-body .zm-client .zm-page-btn.active{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .zm-client .zm-page-btn:disabled{opacity:.45;cursor:not-allowed}
.ezy-body .zm-client .zm-list--bar{margin-bottom:0 !important}
.ezy-body .zm-client .zm-list--bar .zm-tools{border-bottom:0}
.ezy-body .zm-client .cust-card{margin-top:18px !important}

/* apply-template form, DNSSEC */
.ezy-body .zm-client .zm-apply .btn{min-height:40px}
.ezy-body .zm-client .zm-dnssec .card-header{display:flex;align-items:center;gap:10px}
.ezy-body .zm-client .zm-dnssec .card-header .badge{margin-left:0 !important}
.ezy-body .zm-client .zm-ds.card{border-radius:10px;box-shadow:none;margin-bottom:12px !important}
.ezy-body .zm-client .zm-ds.card:last-child{margin-bottom:0 !important}
.ezy-body .zm-client .zm-ds > .card-body{padding:14px 16px !important}
.ezy-body .zm-client .zm-ds__kv{font-size:13px;row-gap:4px;margin-bottom:12px !important}
.ezy-body .zm-client .zm-ds__kv .font-weight-bold{font-weight:400 !important}
.ezy-body .zm-client .zm-ds__digest{background:none;padding:0;color:var(--ezy-head);word-break:break-all}
.ezy-body .zm-client .zm-ds__raw{background:var(--ezy-page) !important;border-color:var(--ezy-line) !important;border-radius:8px !important;padding:7px 10px !important;color:var(--ezy-body);word-break:break-all}

/* nothing yet */
.ezy-body .zm-client .zm-empty__ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--ezy-blue-tint);color:var(--ezy-blue);font-size:20px}
.ezy-body .zm-client .zm-empty h5{font-size:16px}
.ezy-body .zm-client .zm-version{font-size:12px;color:var(--ezy-faint) !important;margin-top:18px !important}

/* the module's own dialogs (it shows them by adding .active to .zm-overlay) */
.ezy-body .zm-overlay{background:rgba(15,23,42,.45);overflow-y:auto;padding:16px}
.ezy-body .zm-overlay .modal-dialog{margin:auto}
.ezy-body .zm-overlay .modal-header{background:#fff;border-bottom:1px solid var(--ezy-line);padding:16px 20px}
.ezy-body .zm-overlay .modal-body{padding:20px}
.ezy-body .zm-overlay .modal-body > p:last-child, .ezy-body .zm-overlay .modal-body .form-group.mb-0{margin-bottom:0}
.ezy-body .zm-overlay .modal-footer{padding:14px 20px;gap:8px}
.ezy-body .zm-overlay .modal-footer > *{margin:0}
.ezy-body .zm-overlay .modal-footer .btn{min-height:38px;padding:0 14px;font-size:13px;border-radius:9px}
.ezy-body .zm-overlay code{font-size:12px;color:var(--ezy-head);background:#f1f5f9;padding:1px 5px;border-radius:4px}
.ezy-body .zm-overlay label .small{font-size:12.5px}

@media (max-width: 991px){
    .ezy-body .zm-client .zm-band{flex-wrap:wrap}
    .ezy-body .zm-client .zm-band__actions{margin-left:0;justify-content:flex-start}
    .ezy-body .zm-client .zm-tools__help{margin-left:0;width:100%;justify-content:space-between}
    .ezy-body .zm-client .zm-chips + .zm-tools__search{margin-left:0}
}
@media (max-width: 575px){
    .ezy-body .zm-client .zm-stats{grid-template-columns:minmax(0,1fr)}
    .ezy-body .zm-client .zm-tools__search{width:100%}
    .ezy-body .zm-client .zm-table th:nth-child(3), .ezy-body .zm-client .zm-table td:nth-child(3){display:none}
    .ezy-body .zm-client .zm-pagination{flex-wrap:wrap}
    .ezy-body .zm-client .zm-perpage{margin-left:0}
    .ezy-body .zm-client .zm-page-btns{margin-left:auto}
    .ezy-body .zm-client .zm-ds__kv > .col-3, .ezy-body .zm-client .zm-ds__kv > .col-9{flex:0 0 100%;max-width:100%}
    .ezy-body .zm-client .zm-ds__kv > .col-9{margin-bottom:6px}
}

/* ==== DNS Tools ==== */
.ezy-body .dt-page{max-width:none;margin:0;color:var(--ezy-body)}
.ezy-body .dt-page code{font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:12px;color:var(--ezy-head);background:#f1f5f9;padding:1px 5px;border-radius:4px}

/* heading band (the kicker is added here: the module's heading has none) */
.ezy-body .dt-page .dt-page-header{margin:0 0 18px;padding:2px 2px 4px}
.ezy-body .dt-page .dt-page-header::before{content:"Tools";display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue)}
.ezy-body .dt-page .dt-page-header h1{display:block;font-size:26px;font-weight:650;line-height:1.2;margin:2px 0 0;letter-spacing:-.01em;color:var(--ezy-head)}
.ezy-body .dt-page .dt-page-header h1 i{display:none}
.ezy-body .dt-page .dt-page-header .dt-subtitle{font-size:13px;color:var(--ezy-muted);margin:2px 0 0}

/* cards */
.ezy-body .dt-page .dt-card{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);margin-bottom:18px}
.ezy-body .dt-page .dt-card-body{padding:20px}
.ezy-body .dt-page .dt-card-header{padding:16px 20px;background:#fff;border-bottom:1px solid var(--ezy-line);font-size:13px;color:var(--ezy-muted);gap:10px}
.ezy-body .dt-page .dt-card-header strong{font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-body .dt-page .dt-card-header > i{color:var(--ezy-faint)}
.ezy-body .dt-page .dt-card-header.collapsible:hover{background:#f8fafc}
.ezy-body .dt-page .dt-card-header.collapsible:has(+ .dt-card-body.d-none){border-bottom-color:transparent}
.ezy-body .dt-page .dt-card-header .dt-collapse-hint{color:var(--ezy-faint);font-size:12.5px}
.ezy-body .dt-page .dt-card-footer{padding:12px 20px;background:#fff;border-top:1px solid var(--ezy-line);flex-wrap:wrap;gap:10px}
.ezy-body .dt-page .dt-section-title{font-size:15px;font-weight:650;color:var(--ezy-head);margin:0 0 4px;letter-spacing:0}
.ezy-body .dt-page .dt-section-subtitle{font-size:13px;color:var(--ezy-muted);margin:0 0 18px}
.ezy-body .dt-page .dt-card.dt-danger{border-color:#f3c5c2}
.ezy-body .dt-page .dt-card.dt-danger .dt-card-header{background:#fef3f2;border-bottom-color:#f3c5c2;color:#912018}
.ezy-body .dt-page .dt-card.dt-danger .dt-card-header strong, .ezy-body .dt-page .dt-card.dt-danger .dt-card-header > i, .ezy-body .dt-page .dt-card.dt-danger .dt-card-header span{color:#912018 !important}
.ezy-body .dt-page .dt-card.dt-danger .dt-card-footer{background:#fff;border-top-color:#f3c5c2}

/* how-to panel: the theme's blue note */
.ezy-body .dt-page .dt-howto{background:var(--ezy-blue-tint);border:1px solid var(--ezy-blue-line);border-radius:10px;padding:16px 20px;margin-bottom:18px;color:#0b4a7a}
.ezy-body .dt-page .dt-howto-title{font-size:14px;font-weight:650;color:#0b4a7a;margin-bottom:8px}
.ezy-body .dt-page .dt-howto-title i{color:var(--ezy-blue)}
.ezy-body .dt-page .dt-howto ol{font-size:13px;margin:0;padding-left:20px}
.ezy-body .dt-page .dt-howto p{font-size:13px;color:#0b4a7a;margin:10px 0 0;opacity:.92}
.ezy-body .dt-page .dt-howto code{background:rgba(0,114,198,.1);color:#0b4a7a}
.ezy-body .dt-page .dt-howto-close{top:12px;right:14px;color:#0b4a7a}

/* fields */
.ezy-body .dt-page .dt-field-label{font-size:13px;font-weight:600;color:var(--ezy-head);margin-bottom:6px}
.ezy-body .dt-page .dt-field-label .dt-required{color:#b42318}
.ezy-body .dt-page .dt-field-input{height:40px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:9px;background-color:#fff;color:var(--ezy-head);font:inherit;font-size:14px;line-height:1.5;transition:border-color .12s,box-shadow .12s}
.ezy-body .dt-page .dt-field-input::placeholder{color:var(--ezy-faint)}
.ezy-body .dt-page .dt-field-input:focus{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12);outline:0}
.ezy-body .dt-page .dt-field-input[disabled], .ezy-body .dt-page .dt-field-input[readonly]{background:var(--ezy-page);color:var(--ezy-muted)}
.ezy-body .dt-page .dt-field-help{font-size:12.5px;color:var(--ezy-muted);margin-top:6px}
.ezy-body .dt-page .dt-field-help code{font-size:12px;color:var(--ezy-head);background:#f1f5f9}
.ezy-body .dt-page .dt-field-section{margin-bottom:20px;padding-bottom:20px;border-bottom-color:var(--ezy-line)}
.ezy-body .dt-page .dt-field-section-title, .ezy-body .dt-page .dt-preview-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-faint)}
.ezy-body .dt-page .dt-field-section-title{margin:0 0 12px}
.ezy-body .dt-page .dt-preview-label{margin:20px 0 0}
.ezy-body .dt-page .dt-field-section label{font-weight:500;color:var(--ezy-body);margin-bottom:0}
.ezy-body .dt-page .dt-fieldgroup{gap:18px}

/* generated record, key blocks */
.ezy-body .dt-page .dt-preview{background:var(--ezy-page);border:1px solid var(--ezy-line);border-radius:10px;padding:13px 16px;margin-top:8px;font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:13px;color:var(--ezy-head)}
.ezy-body .dt-page .dt-preview-empty{color:var(--ezy-faint)}
.ezy-body .dt-page .dt-keybox{background:var(--ezy-page);border:1px solid var(--ezy-line);border-radius:10px;padding:13px 16px;font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:12px;color:var(--ezy-head)}
.ezy-body .dt-page .dt-keybox.dt-keybox-danger{background:#fffafa;border-color:#f3c5c2}
.ezy-body .dt-page .dt-validation-error{color:#b42318}
.ezy-body .dt-page .dt-validation-warning{color:#b45309}

/* buttons */
.ezy-body .dt-page .dt-btn{height:38px;padding:0 14px;gap:8px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-body);font:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background-color .12s,border-color .12s,color .12s}
.ezy-body .dt-page .dt-btn:hover{background:#fff;border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .dt-page .dt-btn:focus{outline:none}
.ezy-body .dt-page .dt-btn:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}
.ezy-body .dt-page .dt-btn i{font-size:12px}
.ezy-body .dt-page .dt-btn-primary{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .dt-page .dt-btn-primary:hover{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-body .dt-page .dt-btn-danger{background:#fff;border-color:#f3c5c2;color:#b42318}
.ezy-body .dt-page .dt-btn-danger:hover{background:#fef3f2;border-color:#e9a29d;color:#912018}
.ezy-body .dt-page .dt-btn-sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.ezy-body .dt-page .dt-btn-link{color:var(--ezy-blue);font-size:12.5px;font-weight:600}
.ezy-body .dt-page .dt-btn-link:hover{color:var(--ezy-blue-dark);text-decoration:none}
.ezy-body .dt-page .dt-copy-feedback{color:var(--ezy-green-text);font-size:12.5px;font-weight:600}

/* format switcher on the DKIM result: the theme's underline tabs */
.ezy-body .dt-page .dt-tabs{gap:28px;border-bottom:1px solid var(--ezy-line);margin-bottom:14px}
.ezy-body .dt-page .dt-tab{padding:10px 0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--ezy-muted);font:inherit;font-size:13.5px;font-weight:600}
.ezy-body .dt-page .dt-tab:hover{color:var(--ezy-head)}
.ezy-body .dt-page .dt-tab.dt-active, .ezy-body .dt-page .dt-tab.dt-active:hover{color:var(--ezy-blue);border-bottom-color:var(--ezy-blue);background:none;font-weight:600}
.ezy-body .dt-page .dt-tab:focus{outline:none}
.ezy-body .dt-page .dt-tab:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}
.ezy-body .dt-page .dt-tabs-content{border:0;border-radius:0;padding:0;background:none}

/* messages: same as the base layer's alerts */
.ezy-body .dt-page .dt-banner{border-radius:10px;padding:13px 16px;margin-bottom:18px;font-size:13.5px}
.ezy-body .dt-page .dt-banner-warning{background:var(--ezy-amber-bg);border-color:var(--ezy-amber-line);color:var(--ezy-amber-text)}
.ezy-body .dt-page .dt-banner-warning i{color:#b45309}
.ezy-body .dt-page .dt-banner-danger{background:#fef3f2;border-color:#f3c5c2;color:#912018}
.ezy-body .dt-page .dt-banner-danger i{color:#b42318}
.ezy-body .dt-page .dt-banner-info{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:#0b4f85}
.ezy-body .dt-page .dt-banner-info i{color:var(--ezy-blue)}
.ezy-body .dt-page .dt-banner-success{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}
.ezy-body .dt-page .dt-banner-success i{color:var(--ezy-green-text)}

/* reference text */
.ezy-body .dt-page .dnstools-docs{font-size:13.5px;color:var(--ezy-body);max-width:860px}
.ezy-body .dt-page .dnstools-docs h5{font-size:14px;font-weight:650;color:var(--ezy-head);margin:20px 0 8px}
.ezy-body .dt-page .dnstools-docs h5:first-child{margin-top:0}
.ezy-body .dt-page .dnstools-docs dt{font-family:inherit;color:var(--ezy-head);font-weight:600}
.ezy-body .dt-page .dnstools-docs dd{color:var(--ezy-body)}
.ezy-body .dt-page .dnstools-docs code{color:var(--ezy-head);background:#f1f5f9}
.ezy-body .dt-page .dnstools-docs strong{color:var(--ezy-head)}

/* landing tiles */
.ezy-body .dt-page .dt-tiles{gap:18px;margin-bottom:18px}
.ezy-body .dt-page .dt-tile{padding:20px;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);transition:border-color .12s}
.ezy-body .dt-page .dt-tile:hover{border-color:#cbd5e1;box-shadow:var(--ezy-shadow);transform:none}
.ezy-body .dt-page .dt-tile:focus{outline:none}
.ezy-body .dt-page .dt-tile:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:-2px}
.ezy-body .dt-page .dt-tile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);font-size:16px;margin-bottom:14px}
/* the module names a Font Awesome 6 icon here; Font Awesome 5 has no such glyph, so give it the envelope */
.ezy-body .dt-page .dt-tile-icon .fa-envelope-circle-check::before{content:"\f0e0"}
.ezy-body .dt-page .dt-tile h3{font-size:15px;font-weight:650;color:var(--ezy-head);margin:0 0 6px;letter-spacing:0}
.ezy-body .dt-page .dt-tile p{font-size:13px;color:var(--ezy-muted);margin:0}

/* SPF mechanism rows */
.ezy-body .dt-page .dt-mech-row{gap:8px;padding:6px;margin:0 -6px 6px;border-radius:10px}
.ezy-body .dt-page .dt-mech-row:hover{background:#f8fafc;border-color:var(--ezy-line)}
.ezy-body .dt-page .dt-mech-row.dragging{background:var(--ezy-blue-tint)}
.ezy-body .dt-page .dt-mech-row.drag-over{background:var(--ezy-blue-tint);border-color:var(--ezy-blue)}
.ezy-body .dt-page .dt-drag-handle{color:var(--ezy-faint)}
.ezy-body .dt-page .dt-drag-handle:hover{color:var(--ezy-body)}
.ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-qual{width:124px}
.ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-kind{width:164px}
.ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-value{font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;font-size:13px}
.ezy-body .dt-page .dt-mech-row .dt-mech-remove{width:30px;height:30px;padding:0;border-radius:8px;color:var(--ezy-faint)}
.ezy-body .dt-page .dt-mech-row .dt-mech-remove:hover{color:#b42318;background:#fef3f2}
.ezy-body .dt-page .dt-empty-state{padding:28px 16px;background:var(--ezy-page);border:1px dashed #cbd5e1;border-radius:10px;color:var(--ezy-muted);margin-bottom:14px}

.ezy-body .dt-page .dt-footer{margin-top:18px;padding-top:0;border-top:0;font-size:12px;color:var(--ezy-faint)}

@media (max-width: 575px){
    .ezy-body .dt-page .dt-mech-row{flex-wrap:wrap}
    .ezy-body .dt-page .dt-card-body > div[style*="space-between"]{flex-wrap:wrap}
    .ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-qual, .ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-kind{width:auto;flex:1 1 0;min-width:0}
    .ezy-body .dt-page .dt-mech-row .dt-field-input.dt-mech-value{flex:1 1 100%;order:5}
}

/* ==== DNS Tools: Check and test (health check, propagation, what's my IP) (DNS Tools 1.1.0) ==== */
.dt-page .dt-group-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);margin:6px 0 12px}
.dt-page .dt-tiles + .dt-group-title{margin-top:10px}
.dt-page .dt-check-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.dt-page .dt-check-form__field{flex:1 1 320px}
.dt-page .dt-check-form__field .dt-field-input{width:100%}
.dt-page .dt-check-form__type{flex:0 0 160px}
.dt-page .dt-check-form__type .dt-field-input{width:100%}
.dt-page .dt-check-form .dt-btn{height:40px}
.dt-page .dt-hc-summary{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,150px);gap:14px;margin:0 0 18px}
.dt-page .dt-hc-summary:has(.dt-hc-count--wide){grid-template-columns:minmax(0,1fr) 320px}
.dt-page .dt-hc-summary > div{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);padding:16px 20px}
.dt-page .dt-hc-summary__domain{display:flex;flex-direction:column;justify-content:center}
.dt-page .dt-hc-summary__domain strong{font-size:20px;font-weight:650;color:var(--ezy-head);overflow-wrap:anywhere}
.dt-page .dt-hc-summary__domain strong em{font-style:normal;font-size:13px;font-weight:700;color:var(--ezy-blue);background:var(--ezy-blue-tint);border-radius:6px;padding:2px 8px;margin-left:6px;vertical-align:3px}
.dt-page .dt-hc-summary__domain span{font-size:13px;color:var(--ezy-muted)}
.dt-page .dt-hc-count{display:flex;flex-direction:column;justify-content:center}
.dt-page .dt-hc-count b{font-size:30px;font-weight:700;line-height:1.1}
.dt-page .dt-hc-count span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ezy-muted)}
.dt-page .dt-hc-count--fail b{color:#b42318}
.dt-page .dt-hc-count--warn b{color:#b54708}
.dt-page .dt-hc-count--pass b{color:#3f7d0a}
.dt-page .dt-hc-count--zero b{color:var(--ezy-faint)}
.dt-page .dt-hc-count--wide span{text-transform:none;letter-spacing:0;font-size:13px;font-weight:500}
.dt-page .dt-hc-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start}
.dt-page .dt-hc-col{min-width:0}
.dt-page .dt-hc-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 20px;border-top:1px solid var(--ezy-line)}
.dt-page .dt-card-header + .dt-hc-row{border-top:0}
.dt-page .dt-hc-row__state{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:12px}
.dt-page .dt-hc-row--pass .dt-hc-row__state{background:#ecf7e0;color:#3f7d0a}
.dt-page .dt-hc-row--warn .dt-hc-row__state{background:#fff4e5;color:#b54708}
.dt-page .dt-hc-row--fail .dt-hc-row__state{background:#fef3f2;color:#b42318}
.dt-page .dt-hc-row--info .dt-hc-row__state{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.dt-page .dt-hc-row__text b{display:block;font-size:14px;font-weight:600;color:var(--ezy-head)}
.dt-page .dt-hc-row__text span{display:block;font-size:13px;color:var(--ezy-muted);overflow-wrap:anywhere}
.dt-page .dt-prop-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) 220px;gap:16px;align-items:center;padding:14px 20px;border-top:1px solid var(--ezy-line)}
.dt-page .dt-card-header + .dt-prop-row{border-top:0}
.dt-page .dt-prop-row__who b{display:block;font-size:14px;font-weight:600;color:var(--ezy-head)}
.dt-page .dt-prop-row__who span,.dt-page .dt-prop-row__ttl small,.dt-page .dt-muted{display:block;font-size:12.5px;color:var(--ezy-muted)}
.dt-page .dt-prop-row__answer{min-width:0}
.dt-page .dt-prop-row__answer code{display:block;width:fit-content;max-width:100%;margin:2px 0;font-size:12.5px;overflow-wrap:anywhere}
.dt-page .dt-prop-row__ttl{font-size:13px;color:var(--ezy-muted)}
.dt-page .dt-prop-row--source{background:#f8fbff}
.dt-page .dt-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}
.dt-page .dt-pill--pass{background:#ecf7e0;color:#3f7d0a}
.dt-page .dt-pill--warn{background:#fff4e5;color:#b54708}
.dt-page .dt-pill--fail{background:#fef3f2;color:#b42318}
.dt-page .dt-ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dt-page .dt-ip{padding:24px 24px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.dt-page .dt-ip__label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.dt-page .dt-ip__value{font-size:30px;font-weight:700;color:var(--ezy-head);font-family:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;letter-spacing:-.01em;overflow-wrap:anywhere}
.dt-page .dt-ip__value--none{color:var(--ezy-faint);font-family:inherit}
.dt-page .dt-ip__name{font-size:13px;color:var(--ezy-muted);margin-bottom:8px}
@media (max-width:1199px){.dt-page .dt-hc-groups{grid-template-columns:1fr}}
@media (max-width:767px){
    .dt-page .dt-hc-summary,.dt-page .dt-hc-summary:has(.dt-hc-count--wide){grid-template-columns:repeat(3,minmax(0,1fr))}
    .dt-page .dt-hc-summary__domain,.dt-page .dt-hc-count--wide{grid-column:1 / -1}
    .dt-page .dt-hc-row{grid-template-columns:28px minmax(0,1fr);padding:14px 16px}
    .dt-page .dt-hc-row .dt-btn{grid-column:2;justify-self:start}
    .dt-page .dt-prop-row{grid-template-columns:1fr;gap:6px;padding:14px 16px}
    .dt-page .dt-ip-grid{grid-template-columns:1fr}
    .dt-page .dt-ip__value{font-size:22px}
    .dt-page .dt-check-form__type{flex:1 1 140px}
}

/* ==== 61-mod-security.css ==== */
/* ---- Module pages: ezymfa (multi-factor sign-in), ClickSend SMS, BPAY ----
   These modules are separate projects; nothing here needs their files changed. Every rule is scoped
   to a class or id the module itself prints (.ezymfa-*, #ezymfa-fallback, .clicksend-sms-wrapper,
   #rhBpayAdminViewInvoice), so it cannot reach any other page. The ezymfa templates carry their own
   <style> block; the rules below win over it because they are one class more specific (.ezy-body),
   and use !important only where the module wrote an inline style attribute. */

/* ==== ezymfa: shared pieces (manage, enrol, backup codes, disable) ==== */
.ezy-body .ezymfa-page, .ezy-body .ezymfa-enrol, .ezy-body .ezymfa-backup-page, .ezy-body .ezymfa-disable-wrap{max-width:920px;margin:0;display:flex;flex-direction:column}
.ezy-body .ezymfa-enrol, .ezy-body .ezymfa-backup-page{max-width:720px}
.ezy-body .ezymfa-disable-wrap{max-width:560px}

/* the page heading, as a band: kicker, title, one line */
.ezy-body .ezymfa-header, .ezy-body .ezymfa-enrol-header, .ezy-body .ezymfa-backup-header, .ezy-body .ezymfa-disable-header{order:-1;display:block;text-align:left;background:none;border:0;border-radius:0;padding:2px 2px 4px;margin:0 0 18px}
.ezy-body .ezymfa-header-icon, .ezy-body .ezymfa-enrol-header > div:first-child, .ezy-body .ezymfa-backup-header > div:first-child, .ezy-body .ezymfa-disable-header > div:first-child{display:none}
.ezy-body .ezymfa-header > div:last-child::before, .ezy-body .ezymfa-enrol-header::before, .ezy-body .ezymfa-backup-header::before, .ezy-body .ezymfa-disable-header::before{content:"Account security";display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue)}
.ezy-body .ezymfa-header h1, .ezy-body .ezymfa-enrol-header h1, .ezy-body .ezymfa-backup-header h1, .ezy-body .ezymfa-disable-header h1{font-size:26px;font-weight:650;line-height:1.2;letter-spacing:-.01em;text-transform:none;color:var(--ezy-head);margin:2px 0 0}
.ezy-body .ezymfa-header p, .ezy-body .ezymfa-enrol-header p, .ezy-body .ezymfa-backup-header p, .ezy-body .ezymfa-disable-header p{font-size:13px;color:var(--ezy-muted);margin:2px 0 0}

/* cards */
.ezy-body .ezymfa-card, .ezy-body .ezymfa-step, .ezy-body .ezymfa-disable-card{background:var(--ezy-card);border:1px solid var(--ezy-line) !important;border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);margin:0 0 18px;overflow:hidden}
.ezy-body .ezymfa-card-body, .ezy-body .ezymfa-step-body{padding:18px 20px}
.ezy-body .ezymfa-backup-page .ezymfa-card, .ezy-body .ezymfa-disable-card{padding:18px 20px}
.ezy-body .ezymfa-card-row{gap:16px}
.ezy-body .ezymfa-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:15px;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ezy-head);margin:0 0 6px}
.ezy-body .ezymfa-backup-page .ezymfa-card-title{margin-bottom:12px}
.ezy-body .ezymfa-card-sub, .ezy-body .ezymfa-card-body > p[style]:not(.ezymfa-card-title),.ezy-body .ezymfa-step-body > p[style], .ezy-body .ezymfa-card > p[style]{font-size:13px !important;color:var(--ezy-muted) !important}
.ezy-body .ezymfa-card-sub strong{color:var(--ezy-body);font-weight:600}
.ezy-body .ezymfa-step-body > p[style]{color:var(--ezy-body) !important}
.ezy-body .ezymfa-divider{border:0;border-top:1px solid var(--ezy-line);margin:16px -20px}
.ezy-body .ezymfa-meta{gap:6px 24px;margin-top:12px}
.ezy-body .ezymfa-meta-item{font-size:12.5px;color:var(--ezy-muted)}
.ezy-body .ezymfa-meta-item strong{color:var(--ezy-head);font-weight:600}
.ezy-body .ezymfa-muted{opacity:.6}

/* status pills */
.ezy-body .ezymfa-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border:0;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap}
.ezy-body .ezymfa-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ezy-body .ezymfa-badge-success{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-body .ezymfa-badge-default{background:#f1f5f9;color:var(--ezy-muted)}
.ezy-body .ezymfa-badge-info{background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}

/* buttons */
.ezy-body .ezymfa-btn, .ezy-body .ezymfa-btn-primary, .ezy-body .ezymfa-btn-cancel{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border-radius:9px;border:1px solid var(--ezy-line);background:#fff;color:var(--ezy-body);font:inherit;font-weight:600;font-size:13px;line-height:1.2;white-space:nowrap;cursor:pointer;opacity:1;transition:background-color .12s,border-color .12s,color .12s}
.ezy-body .ezymfa-btn:hover, .ezy-body .ezymfa-btn-cancel:hover{opacity:1;border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .ezymfa-btn-primary, .ezy-body .ezymfa-btn.ezymfa-btn-done{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .ezymfa-btn-primary:hover, .ezy-body .ezymfa-btn.ezymfa-btn-done:hover{opacity:1;background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-body .ezymfa-btn.ezymfa-btn-danger{background:#fff;border-color:#f3c5c2;color:#b42318}
.ezy-body .ezymfa-btn.ezymfa-btn-danger:hover{background:#fef3f2;border-color:#e9a29d;color:#912018}
.ezy-body .ezymfa-btn.ezymfa-btn-sm{min-height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.ezy-body .ezymfa-btn.ezymfa-btn-done{min-height:44px;padding:0 20px !important;font-size:14px !important;border-radius:10px}
.ezy-body .ezymfa-btn:focus-visible, .ezy-body .ezymfa-btn-primary:focus-visible, .ezy-body .ezymfa-btn-cancel:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}
.ezy-body .ezymfa-actions{gap:8px;flex-wrap:wrap;margin-top:18px}

/* notices */
.ezy-body .ezymfa-alert, .ezy-body .ezymfa-notice, .ezy-body .ezymfa-warning, .ezy-body .ezymfa-error{border:1px solid;border-radius:10px;padding:13px 14px;font-size:13px;margin:0 0 18px}
.ezy-body .ezymfa-alert-warning, .ezy-body .ezymfa-notice-warning, .ezy-body .ezymfa-warning{background:var(--ezy-amber-bg);border-color:var(--ezy-amber-line);color:var(--ezy-amber-text)}
.ezy-body .ezymfa-alert-danger, .ezy-body .ezymfa-notice-danger, .ezy-body .ezymfa-error{background:#fef3f2;border-color:#f3c5c2;color:#912018}
.ezy-body .ezymfa-notice-success{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}

/* passkeys and trusted devices */
.ezy-body .ezymfa-device-row{gap:12px;padding:12px 0;border-bottom:1px solid var(--ezy-line)}
.ezy-body .ezymfa-device-row:last-child{border-bottom:0;padding-bottom:0}
.ezy-body .ezymfa-divider + .ezymfa-device-row{padding-top:0}
.ezy-body .ezymfa-device-row:has(+ .ezymfa-divider){border-bottom:0;padding-bottom:0}
.ezy-body .ezymfa-device-name{font-size:14px;font-weight:600;color:var(--ezy-head);margin:0 0 2px}
.ezy-body .ezymfa-device-meta{font-size:12.5px;color:var(--ezy-muted);margin:0}
.ezy-body #ezymfa-pk-name{max-width:260px !important}

/* ==== ezymfa: enrolment steps ==== */
.ezy-body .ezymfa-step-head{gap:12px;padding:16px 20px;border-bottom:1px solid var(--ezy-line)}
.ezy-body .ezymfa-step-num{width:26px;height:26px;background:var(--ezy-blue-tint);color:var(--ezy-blue);font-size:12.5px;font-weight:700;box-shadow:inset 0 0 0 1px var(--ezy-blue-line)}
.ezy-body .ezymfa-step-title{font-size:15px;font-weight:650;color:var(--ezy-head);margin:0}
.ezy-body .ezymfa-app-list{gap:8px;margin-top:12px}
.ezy-body .ezymfa-app-pill{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--ezy-line);font-size:12.5px;font-weight:600;color:var(--ezy-body)}
.ezy-body .ezymfa-qr-wrap{margin:18px 0}
.ezy-body .ezymfa-qr-inner{width:220px;padding:12px;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:none}
.ezy-body .ezymfa-qr-inner svg{display:block}
.ezy-body .ezymfa-manual-key{margin-top:18px;padding:14px 16px;background:var(--ezy-page);border:1px solid var(--ezy-line);border-radius:10px}
.ezy-body .ezymfa-manual-key label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);margin-bottom:6px}
.ezy-body .ezymfa-manual-key code{font-size:15px;letter-spacing:2px;color:var(--ezy-head);background:none;padding:0}
.ezy-body .ezymfa-manual-key > div{font-size:12.5px !important;color:var(--ezy-muted) !important;margin-top:6px !important}
.ezy-body .ezymfa-manual-key > div strong{color:var(--ezy-body);font-weight:600}
.ezy-body .ezymfa-code-input{width:260px;max-width:100%;height:56px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:10px;background:#fff;color:var(--ezy-head);font-size:26px;letter-spacing:10px;text-indent:10px;transition:border-color .12s,box-shadow .12s}
.ezy-body .ezymfa-code-input::placeholder{color:var(--ezy-faint);font-size:16px;letter-spacing:2px}
.ezy-body .ezymfa-code-input:focus{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body .ezymfa-hint{font-size:12.5px;color:var(--ezy-muted);margin:8px 0 0}
.ezy-body .ezymfa-enrol .ezymfa-actions{justify-content:center}

/* ==== ezymfa: backup codes ==== */
.ezy-body .ezymfa-code-grid{gap:10px;margin:0 0 4px}
.ezy-body .ezymfa-code-item{background:var(--ezy-page);border:1px solid var(--ezy-line);border-radius:9px;padding:10px 14px;font-size:15px;letter-spacing:2px;color:var(--ezy-head)}
.ezy-body .ezymfa-backup-page .ezymfa-divider{margin:18px -20px 0}
.ezy-body .ezymfa-backup-page > div[style]:not(.ezymfa-card){text-align:left !important;margin-top:0 !important}

/* ==== ezymfa: disable confirmation (fields exist only in the themed copy) ==== */
.ezy-body .ezymfa-disable-card .ezymfa-warning{margin-bottom:18px}
.ezy-body .ezymfa-disable-or{font-size:12.5px;color:var(--ezy-muted);margin:0 0 12px}

/* ==== ezymfa: sign-in challenge ====
   The module's challenge.tpl has no wrapper class of its own, so the page is recognised by the element
   it always prints, #ezymfa-fallback. Browsers without :has() simply get the base-layer look. */
.ezy-body .primary-content > .container:has(> #ezymfa-fallback){max-width:480px !important;margin:48px auto 0 !important;padding:36px 40px 0;background:var(--ezy-card);border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow)}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:first-child{text-align:left !important;margin-bottom:20px !important}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:first-child svg{display:block;width:44px;height:44px;padding:10px;border-radius:10px;background:var(--ezy-blue-tint);stroke:var(--ezy-blue);stroke-width:1.7}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:first-child h2{font-size:20px;font-weight:700;color:var(--ezy-head);margin:16px 0 4px !important}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:first-child p{font-size:13px;margin:0}
.ezy-body .container:has(> #ezymfa-fallback) > .alert{margin-bottom:18px}
.ezy-body .container:has(> #ezymfa-fallback) > label{justify-content:flex-start !important;font-size:13px !important;font-weight:500;color:var(--ezy-body) !important;margin:0 0 18px !important;cursor:pointer}
.ezy-body .container:has(> #ezymfa-fallback) > div[style*="text-align:center"]{margin-bottom:18px !important}
.ezy-body #ezymfa-pk-status{font-size:12.5px !important;margin-top:8px !important}
.ezy-body #ezymfa-show-fallback{font-size:13px !important;font-weight:600}
.ezy-body #ezymfa-fallback .panel{border:0;border-radius:0;box-shadow:none;background:none;margin:0;overflow:visible}
.ezy-body #ezymfa-fallback .panel-heading{border:0;padding:0;background:none}
.ezy-body #ezymfa-fallback .panel-title{font-size:13px;font-weight:600;color:var(--ezy-head)}
.ezy-body #ezymfa-fallback .panel-body{padding:4px 0 0}
.ezy-body #ezymfa-fallback .panel-body > p:first-child{font-size:13px;color:var(--ezy-muted);margin-bottom:12px}
.ezy-body #ezymfa-fallback .form-group{margin-bottom:14px}
.ezy-body #ezymfa-fallback #totp_code, .ezy-body #ezymfa-fallback #backup_code{height:56px;border-radius:10px;font-family:inherit !important;font-variant-numeric:tabular-nums;font-size:26px !important;letter-spacing:10px !important;text-indent:10px;color:var(--ezy-head)}
.ezy-body #ezymfa-fallback #backup_code{font-size:22px !important;letter-spacing:6px !important;text-indent:6px}
.ezy-body #ezymfa-fallback .form-control::placeholder{color:#cbd5e1}
.ezy-body #ezymfa-fallback .btn-success, .ezy-body #ezymfa-fallback .btn-warning, .ezy-body #ezymfa-pk-btn{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body #ezymfa-fallback .btn-success:hover, .ezy-body #ezymfa-fallback .btn-warning:hover, .ezy-body #ezymfa-pk-btn:hover,
.ezy-body #ezymfa-fallback .btn-success:focus, .ezy-body #ezymfa-fallback .btn-warning:focus, .ezy-body #ezymfa-pk-btn:focus{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-body #ezymfa-fallback hr{margin:20px 0 16px !important}
.ezy-body #ezymfa-fallback p.text-center{font-size:13px !important;margin:0}
.ezy-body #ezymfa-fallback > p.text-center{margin-top:4px}
.ezy-body #ezymfa-fallback > .alert{margin:0}
/* the sign-out link, as the card's footer strip */
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:last-child{margin:28px -40px 0 !important;padding:14px 40px;border-top:1px solid var(--ezy-line);text-align:left !important}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:last-child a{font-size:12.5px !important;font-weight:600;color:var(--ezy-muted) !important}
.ezy-body .container:has(> #ezymfa-fallback) > .text-center:last-child a:hover{color:var(--ezy-blue) !important}
@media (max-width: 575px){
    .ezy-body .primary-content > .container:has(> #ezymfa-fallback){margin-top:8px !important;padding:24px 20px 0}
    .ezy-body .container:has(> #ezymfa-fallback) > .text-center:last-child{margin:24px -20px 0 !important;padding:14px 20px}
    .ezy-body #ezymfa-fallback #totp_code{font-size:22px !important;letter-spacing:6px !important;text-indent:6px}
}

/* While the challenge is showing, WHMCS already treats the visitor as signed in, so the shell draws the
   full menu; but every link in it leads straight back to the challenge. Until includes/ezy-layout.tpl
   can switch the shell off for this page (see the builder's report), quieten it from here: keep the
   logo and the account menu (which holds Logout), hide the rest. Delete this block once the layout
   include does the job. */
.ezy-body:has(#ezymfa-fallback) .ezy-side__nav, .ezy-body:has(#ezymfa-fallback) .ezy-side__foot, .ezy-body:has(#ezymfa-fallback) .ezy-side__shade,
.ezy-body:has(#ezymfa-fallback) .ezy-menu, .ezy-body:has(#ezymfa-fallback) .ezy-search, .ezy-body:has(#ezymfa-fallback) .ezy-top__right > .ezy-btn--primary,
.ezy-body:has(#ezymfa-fallback) .ezy-top .cart-btn, .ezy-body:has(#ezymfa-fallback) #accountNotifications, .ezy-body:has(#ezymfa-fallback) .master-breadcrumb{display:none}
.ezy-body:has(#ezymfa-fallback) .ezy-side{bottom:auto;height:68px;width:auto;border-right:0;background:none;transform:none;z-index:3}
.ezy-body:has(#ezymfa-fallback) .ezy-side__brand{border-bottom:0}
.ezy-body:has(#ezymfa-fallback) .ezy-top{left:0}
.ezy-body:has(#ezymfa-fallback) .ezy-main{margin-left:0}
.ezy-body:has(#ezymfa-fallback) .ezy-foot{margin-left:-28px}

@media (max-width: 575px){
    .ezy-body .ezymfa-card-row{flex-direction:column;align-items:flex-start}
    .ezy-body .ezymfa-code-grid{grid-template-columns:minmax(0,1fr)}
    .ezy-body .ezymfa-step-body, .ezy-body .ezymfa-card-body{padding:16px}
    .ezy-body .ezymfa-step-head{padding:14px 16px}
    .ezy-body .ezymfa-divider{margin-left:-16px;margin-right:-16px}
    .ezy-body .ezymfa-manual-key code{font-size:13px;letter-spacing:1px}
    .ezy-body .ezymfa-device-row form{width:100%}
}

/* ==== ClickSend SMS (index.php?m=clicksend_sms) ====
   The module prints Bootstrap 3 markup (panels, labels, nav-tabs with li.active, input-group-btn,
   pull-right, li-based pagination) from PHP strings, inside <div class="clicksend-sms-wrapper">, and
   links its own stylesheet from the page body. Bootstrap 4 has no styles for most of that, so the
   pieces are drawn here as their portal equivalents. Three classes of specificity beat the module's
   stylesheet, which loads after portal.css. */
.ezy-body .clicksend-sms-wrapper{max-width:none;display:flex;flex-direction:column}
/* the module prints no page heading; give the page its band from here */
.ezy-body .clicksend-sms-wrapper::before{content:"Messaging";order:-2;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ezy-blue);padding:2px 2px 0}
.ezy-body .clicksend-sms-wrapper::after{content:"Cloud SMS";order:-1;font-size:26px;font-weight:650;line-height:1.2;letter-spacing:-.01em;color:var(--ezy-head);padding:2px 2px 4px;margin-bottom:14px}
.ezy-body .clicksend-sms-wrapper > .row, .ezy-body .clicksend-sms-wrapper .panel-body > .row{margin-left:-9px;margin-right:-9px}
.ezy-body .clicksend-sms-wrapper > .row > [class*="col-"], .ezy-body .clicksend-sms-wrapper .panel-body > .row > [class*="col-"]{padding-left:9px;padding-right:9px}
.ezy-body .clicksend-sms-wrapper > h2{margin:0 0 14px;font-size:15px;font-weight:650}
.ezy-body .clicksend-sms-wrapper > .alert{margin-bottom:18px}

/* tabs */
.ezy-body .clicksend-sms-wrapper .nav-tabs{display:flex;flex-wrap:nowrap;gap:28px;list-style:none;padding:0;margin:0 0 18px !important;border-bottom:1px solid var(--ezy-line);overflow-x:auto}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li{margin:0;float:none}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li > a{display:flex;align-items:center;gap:8px;padding:10px 0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-weight:600;color:var(--ezy-muted);white-space:nowrap}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li > a:hover{color:var(--ezy-head)}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li.active > a{color:var(--ezy-blue);border-bottom-color:var(--ezy-blue)}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li > a > i{display:none}
.ezy-body .clicksend-sms-wrapper .nav-tabs > li > a .badge{background:var(--ezy-blue-tint);color:var(--ezy-blue);box-shadow:inset 0 0 0 1px var(--ezy-blue-line);font-size:11.5px;font-weight:600;padding:0 7px;margin:0;border-radius:999px}

/* the four figures at the top of the dashboard, as tiles */
.ezy-body .clicksend-sms-wrapper .col-md-3 > .panel{height:calc(100% - 18px)}
.ezy-body .clicksend-sms-wrapper .col-md-3 .panel-body.text-center{position:relative;text-align:left !important;padding:18px 20px}
.ezy-body .clicksend-sms-wrapper .col-md-3 .panel-body.text-center h4{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);margin:0;padding-right:48px}
.ezy-body .clicksend-sms-wrapper .col-md-3 .panel-body.text-center .lead{font-size:28px;font-weight:650;line-height:1.15;letter-spacing:-.02em;color:var(--ezy-head);margin:6px 0 0}
.ezy-body .clicksend-sms-wrapper .col-md-3 .panel-body.text-center .fa-2x{position:absolute;top:18px;right:18px;width:38px;height:38px;margin:0;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue) !important;font-size:16px;display:grid;place-items:center}
.ezy-body .clicksend-sms-wrapper .col-md-3 .panel-body.text-center .label{margin-top:8px}

/* cards */
.ezy-body .clicksend-sms-wrapper .panel-title{display:flex;align-items:center;gap:8px;font-weight:650}
.ezy-body .clicksend-sms-wrapper .panel-title > i{display:none}
.ezy-body .clicksend-sms-wrapper .panel-heading{display:flex;align-items:center;gap:10px}
.ezy-body .clicksend-sms-wrapper .panel-heading > .row{flex:1;align-items:center;margin:0}
.ezy-body .clicksend-sms-wrapper .panel-heading > .row > [class*="col-"]{padding:0}
.ezy-body .clicksend-sms-wrapper .panel-heading > .row > [class*="col-"]:last-child{display:flex;justify-content:flex-end}
.ezy-body .clicksend-sms-wrapper .panel-heading .pull-right{margin-left:auto}
.ezy-body .clicksend-sms-wrapper .panel-footer{font-size:12.5px;font-weight:600}
.ezy-body .clicksend-sms-wrapper .panel-footer.text-center{display:flex;justify-content:center}
.ezy-body .clicksend-sms-wrapper .panel-body > p:last-child{margin-bottom:0}
.ezy-body .clicksend-sms-wrapper .col-md-4 .panel-body.text-center{text-align:left !important}
.ezy-body .clicksend-sms-wrapper .col-md-4 .panel-body.text-center .lead{font-size:20px;font-weight:650;color:var(--ezy-head);margin-bottom:6px}

/* quick send and search */
.ezy-body .clicksend-sms-wrapper .panel-primary .form-inline{display:flex;flex-wrap:wrap;gap:10px}
.ezy-body .clicksend-sms-wrapper .panel-primary .form-inline .form-group{margin:0 !important}
.ezy-body .clicksend-sms-wrapper .panel-primary .form-inline .form-group:nth-child(2){flex:1 1 260px}
.ezy-body .clicksend-sms-wrapper .panel-primary .form-inline input[name="body"]{width:100% !important}
.ezy-body .clicksend-sms-wrapper .input-group{display:flex;flex-wrap:nowrap;width:auto}
.ezy-body .clicksend-sms-wrapper .input-group .form-control{width:220px;height:32px;font-size:13px;border-radius:8px 0 0 8px}
.ezy-body .clicksend-sms-wrapper .input-group-btn{display:flex}
.ezy-body .clicksend-sms-wrapper .input-group-btn > .btn{min-height:32px;margin-left:-1px;border-radius:0 8px 8px 0;color:var(--ezy-muted)}

/* tables */
.ezy-body .clicksend-sms-wrapper .table{margin:0}
.ezy-body .clicksend-sms-wrapper .table td{vertical-align:middle}
.ezy-body .clicksend-sms-wrapper .table td:first-child, .ezy-body .clicksend-sms-wrapper .table td:last-child, .ezy-body .clicksend-sms-wrapper .table td > strong{white-space:nowrap}
.ezy-body .clicksend-sms-wrapper .table td > strong{font-weight:600;color:var(--ezy-head)}
.ezy-body .clicksend-sms-wrapper .table tr.info td{background:var(--ezy-blue-tint);font-weight:600;color:var(--ezy-head)}
.ezy-body .clicksend-sms-wrapper .table .btn-xs.btn-primary{background:#fff;border-color:var(--ezy-line);color:var(--ezy-blue)}
.ezy-body .clicksend-sms-wrapper .table .btn-xs.btn-primary:hover{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:var(--ezy-blue-dark)}
.ezy-body .clicksend-sms-wrapper .table .fa-envelope{color:var(--ezy-blue)}
.ezy-body .clicksend-sms-wrapper .table .fa-envelope-open{color:var(--ezy-faint)}

/* status pills: the portal's colours, not the module's solid ones */
.ezy-body .clicksend-sms-wrapper .label{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:var(--ezy-muted)}
.ezy-body .clicksend-sms-wrapper .label-success{background:var(--ezy-green-tint);color:var(--ezy-green-text)}
.ezy-body .clicksend-sms-wrapper .label-info{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-body .clicksend-sms-wrapper .label-warning{background:var(--ezy-amber-bg);color:var(--ezy-amber-text)}
.ezy-body .clicksend-sms-wrapper .label-danger{background:#fef3f2;color:#b42318}

/* compose */
.ezy-body .clicksend-sms-wrapper #composeForm{max-width:720px}
.ezy-body .clicksend-sms-wrapper #composeForm textarea{font-family:inherit}
.ezy-body .clicksend-sms-wrapper .form-control-static{margin:0;padding:0;color:var(--ezy-head)}
.ezy-body .clicksend-sms-wrapper #charCount, .ezy-body .clicksend-sms-wrapper #smsCount, .ezy-body .clicksend-sms-wrapper #creditCost{font-size:12.5px}
.ezy-body .clicksend-sms-wrapper #composeForm .form-group:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:0}

/* Mail2SMS note */
.ezy-body .clicksend-sms-wrapper .panel-info .lead{text-align:left !important;font-size:14px;margin:0 0 12px}
.ezy-body .clicksend-sms-wrapper .panel-info code{display:inline-block;font-size:13px;padding:4px 10px;background:var(--ezy-page);border:1px solid var(--ezy-line);border-radius:8px;color:var(--ezy-head)}

/* pager */
.ezy-body .clicksend-sms-wrapper .pagination{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 !important;padding:0}
.ezy-body .clicksend-sms-wrapper .pagination > li > a, .ezy-body .clicksend-sms-wrapper .pagination > li > span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border:1px solid var(--ezy-line);border-radius:7px;background:#fff;color:var(--ezy-body);font-size:12.5px;font-weight:600}
.ezy-body .clicksend-sms-wrapper .pagination > li > a:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .clicksend-sms-wrapper .pagination > li.active > span{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .clicksend-sms-wrapper .pagination > li.disabled > span{color:var(--ezy-faint);background:none;border-color:transparent}

@media (max-width: 767px){
    .ezy-body .clicksend-sms-wrapper .nav-tabs{gap:20px}
    .ezy-body .clicksend-sms-wrapper .panel > .table{display:block;overflow-x:auto}
    .ezy-body .clicksend-sms-wrapper .table-hover th:not([width]){min-width:240px}
    .ezy-body .clicksend-sms-wrapper .panel-heading > .row{row-gap:10px}
    .ezy-body .clicksend-sms-wrapper .panel-heading > .row > [class*="col-"]:last-child{justify-content:flex-start}
    .ezy-body .clicksend-sms-wrapper .input-group .form-control{width:100%}
    .ezy-body .clicksend-sms-wrapper .panel-primary .form-inline .form-group, .ezy-body .clicksend-sms-wrapper .panel-primary .form-inline .form-control{width:100% !important;flex:1 1 100%}
}

/* ==== BPAY gateway: the image bpay_link() prints wherever WHMCS shows a payment button ====
   It carries an inline margin-top:-20px that pulls it over whatever sits above it. This rule covers
   pages inside the shell. The web invoice (viewinvoice.tpl) is a page of its own that loads
   css/invoice.css instead of portal.css, so the same correction is needed there too: see the
   builder's report. */
.ezy-body #rhBpayAdminViewInvoice, .payment-btn-container #rhBpayAdminViewInvoice{display:block;max-width:100%;height:auto;margin-top:0 !important}

/* ==== 62-mod-network-voice.css ==== */
/* ---- Module output: Managed Networks (broadband) and ezytel (telephony) ----
   Every rule is scoped to a wrapper the module itself emits (.mn-service-details, .mn-wiz,
   .ipnd-app, .vavn-*, #login_form), so nothing here can reach another page.

   Three of these modules ship a <style> block of their own inside their output, which lands in
   the page AFTER portal.css. Source order therefore cannot win; these rules win on specificity
   instead (.ezy-body / .ezy-main in front of the module's own selector). Where a module script
   writes an inline style="" into generated HTML, the override needs !important and says so. */


/* ==== 1. Managed Networks: service overview (modules/servers/managednetworks, client_service.tpl) ==== */

/* The service page wraps a module's overview in one padded card. This module's overview is a
   stack of cards of its own, so the wrapper steps back and the cards sit straight on the page. */
.ezy-body .ezy-card:has(> .ezy-module-output > .mn-service-details){background:none;border:0;box-shadow:none;border-radius:0}
.ezy-body .ezy-card > .ezy-module-output:has(> .mn-service-details){padding:0;overflow:visible}

.ezy-main .mn-service-details{font-size:14px}
.ezy-main .mn-service-details > .alert{margin:0}
.ezy-main .mn-service-details .ezy-card.card{margin-bottom:0}
.ezy-main .mn-service-details .ezy-card__head.card-header{font-weight:400}
.ezy-main .mn-service-details .ezy-pad.card-body{padding:16px 20px}
.ezy-main .mn-service-details .ezy-card__head .btn i{font-size:11px;color:var(--ezy-muted)}

/* key/value grid: identifiers read as plain values, as they do on the theme's own service page */
.ezy-main .mn-service-details code{font:inherit;color:inherit;background:none;padding:0;border-radius:0}
.ezy-main .mn-service-details .ezy-kv__v{white-space:normal;overflow-wrap:anywhere}
.ezy-main .mn-service-details #mn-status-cell .label{gap:6px}
.ezy-main .mn-service-details #mn-status-cell .label::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ezy-main .mn-service-details .label[class*="mn-tech-"]{background:var(--ezy-blue-tint) !important;color:var(--ezy-blue-dark) !important;box-shadow:inset 0 0 0 1px var(--ezy-blue-line);font-size:12px !important;margin-right:6px}

/* line test */
.ezy-main .mn-service-details .mn-lede{margin:0;color:var(--ezy-muted);font-size:13.5px}
.ezy-main .mn-service-details .mn-action{display:flex;align-items:center;justify-content:space-between;gap:20px}
.ezy-main .mn-service-details .mn-action .btn{flex:0 0 auto}
.ezy-main .mn-service-details #mn-assurance-status:not(:empty){margin-top:16px}
.ezy-main .mn-service-details #mn-assurance-status .alert,
.ezy-main .mn-service-details #mn-fault-status .alert{margin:0}
.ezy-main .mn-service-details #mn-assurance-result{margin-top:12px}
.ezy-main .mn-service-details #mn-assurance-result .panel{margin:0;border-radius:10px;box-shadow:none;background:#f8fafc}
.ezy-main .mn-service-details #mn-assurance-result .panel-body{padding:13px 16px;font-size:13.5px;line-height:1.8;color:var(--ezy-head)}
.ezy-main .mn-service-details #mn-assurance-result .panel-body strong{display:block;color:var(--ezy-head);margin-bottom:2px}
.ezy-main .mn-service-details #mn-assurance-result .panel-body strong + br{display:none}
/* the script writes style="color:#555;font-weight:600" on each result label */
.ezy-main .mn-service-details #mn-assurance-result .panel-body span{color:var(--ezy-muted) !important;font-weight:400 !important;display:inline-block;min-width:150px}

/* test history: the table is built by the module's script */
.ezy-main .mn-service-details #mn-history-content{overflow-x:auto}
/* "Loading..." and "No previous tests found." arrive with style="color:#999;font-size:14px" */
.ezy-main .mn-service-details #mn-history-content > p{margin:0;padding:16px 20px;color:var(--ezy-muted) !important;font-size:13.5px !important}
.ezy-main .mn-service-details .mn-history-table{width:100%;min-width:520px;border-collapse:collapse;font-size:13.5px;color:var(--ezy-body)}
.ezy-main .mn-service-details .mn-history-table th{padding:10px 20px;background:#f8fafc;border-bottom:1px solid var(--ezy-line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted);text-align:left;white-space:nowrap}
.ezy-main .mn-service-details .mn-history-table td{padding:12px 20px;border-bottom:1px solid var(--ezy-line);vertical-align:top}
.ezy-main .mn-service-details .mn-history-table tbody tr:last-child td{border-bottom:0}
.ezy-main .mn-service-details .mn-history-table .mn-pass{color:var(--ezy-green-text);font-weight:600}
.ezy-main .mn-service-details .mn-history-table .mn-fail{color:#b42318;font-weight:600}

/* report a fault: the checklist rows, then the form the last tick reveals */
.ezy-main .mn-service-details .mn-fault-step{padding:13px 20px;border-top:1px solid var(--ezy-line);border-bottom:0;transition:opacity .12s}
.ezy-main .mn-service-details .mn-fault-step.mn-fault-locked{opacity:.5}
.ezy-main .mn-service-details .mn-fault-check label{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:start;margin:0;cursor:pointer;font-size:14px;font-weight:400;color:var(--ezy-body)}
.ezy-main .mn-service-details .mn-fault-locked .mn-fault-check label{cursor:default}
.ezy-main .mn-service-details .mn-fault-check input[type="checkbox"]{grid-row:1 / span 2;width:16px;height:16px;margin:3px 0 0}
.ezy-main .mn-service-details .mn-fault-check strong{font-weight:600;color:var(--ezy-head)}
.ezy-main .mn-service-details .mn-fault-hint{display:block;grid-column:2;margin:0;font-size:12.5px;font-weight:400;color:var(--ezy-muted)}
.ezy-main .mn-service-details #mn-fault-form{padding:20px;border-top:1px solid var(--ezy-line)}
.ezy-main .mn-service-details .mn-fault-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px}
.ezy-main .mn-service-details .mn-fault-fields__wide{grid-column:1 / -1}
.ezy-main .mn-service-details #mn-fault-status:not(:empty){margin-top:16px}

/* The module's own (unthemed) template, should the theme override not be picked up: its Bootstrap 3
   panels already take the base card style; these few rules tidy what is left. */
.ezy-main .mn-service-details > .panel:last-child{margin-bottom:0}
.ezy-main .mn-service-details .panel-title{display:flex;align-items:center;gap:12px}
.ezy-main .mn-service-details .panel-title .pull-right{margin-left:auto}
.ezy-main .mn-service-details .panel-body:has(> .mn-details-table){padding:0}
.ezy-main .mn-service-details .mn-details-table{margin:0}
.ezy-main .mn-service-details .mn-details-table td{padding:11px 20px;font-size:14px;border-color:var(--ezy-line);color:var(--ezy-head);font-weight:600}
.ezy-main .mn-service-details .mn-details-table td.mn-label{width:200px;color:var(--ezy-muted);font-weight:400}
.ezy-main .mn-service-details .panel-body > p[style]{color:var(--ezy-muted) !important;font-size:13.5px !important}

@media (max-width: 991px){
    .ezy-main .mn-service-details .mn-fault-fields{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 575px){
    .ezy-main .mn-service-details .mn-action{flex-direction:column;align-items:flex-start;gap:14px}
    .ezy-main .mn-service-details #mn-assurance-result .panel-body span{min-width:0}
}


/* ==== 2. Managed Networks: address qualification wizard on the order form (hooks.php, #mn-wizard) ====
   The HTML, its <style> and its script come from a hook, so there is no template to override:
   this is CSS only. The module's rules are ".mn-wiz ..." (up to three classes); these carry
   ".ezy-body" in front and so outrank them. */
.ezy-body .mn-wiz{max-width:none;margin:0 0 18px;padding:0;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);background:#fff;box-shadow:var(--ezy-shadow);overflow:hidden;font-size:14px;color:var(--ezy-body)}
.ezy-body .mn-wiz .mn-panel{padding:0 20px 20px}
.ezy-body .mn-wiz h4{margin:0 -20px 18px;padding:16px 20px;border-bottom:1px solid var(--ezy-line);font-size:15px;font-weight:650;letter-spacing:0;color:var(--ezy-head)}
.ezy-body .mn-wiz .mn-field{margin-bottom:16px}
.ezy-body .mn-wiz .mn-field label{font-size:13px;font-weight:600;color:var(--ezy-head);margin-bottom:6px}
.ezy-body .mn-wiz .mn-field .form-control{height:40px;padding:0 12px;border-color:var(--ezy-line);font-size:14px;color:var(--ezy-head)}
.ezy-body .mn-wiz .mn-field .form-control:focus{border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body .mn-wiz .mn-field .form-control::placeholder{color:var(--ezy-faint)}
/* helper lines and the "Enter a Location ID directly" link carry inline font-size and colour */
.ezy-body .mn-wiz .mn-panel > p{color:var(--ezy-muted) !important;font-size:12.5px !important}
.ezy-body .mn-wiz .mn-panel a[onclick]{color:var(--ezy-blue) !important;font-size:12.5px !important;font-weight:600}
.ezy-body .mn-wiz #mn-locid-row .row{align-items:flex-end}
.ezy-body .mn-wiz #mn-locid-row .btn{min-height:40px;margin-bottom:16px}
.ezy-body .mn-wiz .alert{margin-bottom:0}
.ezy-body .mn-wiz .mn-loc-card{border:1px solid var(--ezy-line);border-radius:10px;padding:13px 16px;margin-bottom:8px;background:#fff}
.ezy-body .mn-wiz .mn-loc-card:hover{border-color:#cbd5e1;background:#f8fafc}
.ezy-body .mn-wiz .mn-loc-card.selected{border-color:var(--ezy-blue);background:var(--ezy-blue-tint);box-shadow:inset 0 0 0 1px var(--ezy-blue)}
.ezy-body .mn-wiz .mn-loc-card .mn-addr{font-size:14px;font-weight:600;color:var(--ezy-head)}
.ezy-body .mn-wiz .mn-loc-card .mn-meta{font-family:inherit;font-size:12.5px;color:var(--ezy-muted);margin-top:2px}
.ezy-body .mn-wiz .mn-tech[class]{border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;background:var(--ezy-blue-tint);color:var(--ezy-blue-dark);box-shadow:inset 0 0 0 1px var(--ezy-blue-line);margin:0 6px 0 8px}
.ezy-body .mn-wiz .mn-summary-value .mn-tech[class]{margin-left:0}
.ezy-body .mn-wiz .mn-summary{background:#fff;border:1px solid var(--ezy-line);border-radius:10px;padding:0;margin:0 0 16px}
.ezy-body .mn-wiz .mn-summary-row{padding:11px 16px;font-size:13.5px;border-bottom:1px solid var(--ezy-line);gap:12px}
.ezy-body .mn-wiz .mn-summary-row:last-child{border-bottom:0}
.ezy-body .mn-wiz .mn-summary-label{flex:0 0 150px;font-weight:400;color:var(--ezy-muted)}
.ezy-body .mn-wiz .mn-summary-value{font-weight:600;color:var(--ezy-head);min-width:0;overflow-wrap:anywhere}
/* values the script wraps in style="font-family:monospace" / style="color:#27ae60" / "#c0392b" */
.ezy-body .mn-wiz .mn-summary-value span[style*="monospace"]{font-family:inherit !important}
.ezy-body .mn-wiz .mn-summary-value span[style*="27ae60"]{color:var(--ezy-green-text) !important}
.ezy-body .mn-wiz .mn-summary-value span[style*="c0392b"]{color:#b42318 !important}
@media (max-width: 575px){
    .ezy-body .mn-wiz .mn-panel{padding:0 16px 16px}
    .ezy-body .mn-wiz h4{margin:0 -16px 16px;padding:14px 16px}
    .ezy-body .mn-wiz .mn-summary-row{flex-direction:column;gap:2px}
    .ezy-body .mn-wiz .mn-summary-label{flex:none}
}


/* ==== 3. IPND Autopilot (modules/addons/ipndautopilot): its page and its service-page reminder ====
   The module's markup uses only its own ipnd- classes and carries its own stylesheet
   (lib/ClientArea/Styles.php), written so that a host theme cannot break it. Nothing in the
   module is changed: the same markup is given the portal's look here. Its strongest selector is
   ".ipnd-app a.ipnd-btn.ipnd-btn--primary:hover"; ".ezy-body .ezy-main .ipnd-app" in front of each
   rule below is what outranks it. */
.ezy-body .ezy-main .ipnd-app{background:transparent;color:var(--ezy-body);font-size:14px;line-height:1.5}
.ezy-body .ezy-main .ipnd-app a{color:var(--ezy-blue);text-decoration:none}
.ezy-body .ezy-main .ipnd-app a:hover{color:var(--ezy-blue-dark)}
.ezy-body .ezy-main .ipnd-app p{margin:0 0 12px}
.ezy-body .ezy-main .ipnd-app h3, .ezy-body .ezy-main .ipnd-app h4{color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app small{font-size:12.5px}

.ezy-body .ezy-main .ipnd-app .ipnd-back{margin:0 0 12px;font-size:12.5px}
.ezy-body .ezy-main .ipnd-app a.ipnd-back__link{color:var(--ezy-muted);font-weight:500;text-decoration:none}
.ezy-body .ezy-main .ipnd-app a.ipnd-back__link:hover, .ezy-body .ezy-main .ipnd-app a.ipnd-back__link:focus{color:var(--ezy-blue);text-decoration:none}

/* the lede is the page heading */
.ezy-body .ezy-main .ipnd-app .ipnd-lede{border:0;background:none;border-radius:0;padding:2px 2px 4px;margin:0 0 14px}
.ezy-body .ezy-main .ipnd-app .ipnd-lede__title{margin:0 0 4px;font-size:26px;font-weight:650;line-height:1.2;letter-spacing:-.01em;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-lede__text{margin:0;max-width:900px;font-size:13px;color:var(--ezy-muted)}
.ezy-body .ezy-main .ipnd-app .ipnd-lede__text strong{color:var(--ezy-body);font-weight:600}

.ezy-body .ezy-main .ipnd-app .ipnd-tabs{margin:0 0 18px;border-bottom:1px solid var(--ezy-line);gap:28px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
.ezy-body .ezy-main .ipnd-app a.ipnd-tabs__link{padding:10px 0;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ezy-muted);font-weight:600;text-decoration:none}
.ezy-body .ezy-main .ipnd-app a.ipnd-tabs__link:hover, .ezy-body .ezy-main .ipnd-app a.ipnd-tabs__link:focus{background:none;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app a.ipnd-tabs__link.is-active, .ezy-body .ezy-main .ipnd-app a.ipnd-tabs__link.is-active:hover{background:none;color:var(--ezy-blue);border-bottom:2px solid var(--ezy-blue)}

.ezy-body .ezy-main .ipnd-app .ipnd-card, .ezy-body .ezy-main .ipnd-app .ipnd-panel{border:1px solid var(--ezy-line);border-radius:var(--ezy-r);margin:0 0 18px;background:#fff;color:var(--ezy-body);box-shadow:var(--ezy-shadow)}
.ezy-body .ezy-main .ipnd-app .ipnd-card__head, .ezy-body .ezy-main .ipnd-app .ipnd-panel__head{background:#fff;color:var(--ezy-head);padding:16px 20px;border-bottom:1px solid var(--ezy-line);font-size:15px;font-weight:650}
.ezy-body .ezy-main .ipnd-app .ipnd-card__body, .ezy-body .ezy-main .ipnd-app .ipnd-panel__body{padding:20px}
.ezy-body .ezy-main .ipnd-app .ipnd-card__body > :last-child{margin-bottom:0}
.ezy-body .ezy-main .ipnd-app .ipnd-well{background:#f8fafc;color:var(--ezy-body);border:1px solid var(--ezy-line);border-radius:10px;padding:16px;margin:18px 0 0}
.ezy-body .ezy-main .ipnd-app .ipnd-well p{margin:0 0 12px}

.ezy-body .ezy-main .ipnd-app .ipnd-note{padding:13px 16px;border:1px solid var(--ezy-line);border-radius:10px;margin:0 0 18px;font-size:13.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-note--info{background:var(--ezy-blue-tint);border-color:var(--ezy-blue-line);color:#0b4f85}
.ezy-body .ezy-main .ipnd-app .ipnd-note--ok{background:var(--ezy-green-tint);border-color:#d5e8a3;color:var(--ezy-green-text)}
.ezy-body .ezy-main .ipnd-app .ipnd-note--warn{background:var(--ezy-amber-bg);border-color:var(--ezy-amber-line);color:var(--ezy-amber-text)}
.ezy-body .ezy-main .ipnd-app .ipnd-note--bad{background:#fef3f2;border-color:#f3c5c2;color:#912018}
.ezy-body .ezy-main .ipnd-app .ipnd-note a{color:inherit;font-weight:700;text-decoration:underline}
.ezy-body .ezy-main .ipnd-app .ipnd-note a.ipnd-btn{font-weight:600;text-decoration:none}

.ezy-body .ezy-main .ipnd-app .ipnd-rules{background:#f8fafc;border:1px solid var(--ezy-line);border-radius:10px;color:var(--ezy-body);padding:14px 16px;margin:0 0 18px;font-size:13.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-rules__title{margin:0 0 8px;font-size:14px;font-weight:650;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-rules__must{color:#b42318;font-weight:600}
.ezy-body .ezy-main .ipnd-app .ipnd-muted{color:var(--ezy-muted)}
.ezy-body .ezy-main .ipnd-app .ipnd-bad{color:#b42318}
.ezy-body .ezy-main .ipnd-app .ipnd-warn{color:var(--ezy-amber-text)}
.ezy-body .ezy-main .ipnd-app .ipnd-section{margin:26px 0 4px;font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-toolbar{margin:0 0 14px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ezy-body .ezy-main .ipnd-app .ipnd-toolbar .ipnd-muted{margin-left:6px;font-size:12.5px}

/* tables */
.ezy-body .ezy-main .ipnd-app .ipnd-scroll{margin:0 0 18px}
.ezy-body .ezy-main .ipnd-app .ipnd-table{background:#fff;color:var(--ezy-body);font-size:13.5px;border-collapse:separate;border-spacing:0}
.ezy-body .ezy-main .ipnd-app .ipnd-table th, .ezy-body .ezy-main .ipnd-app .ipnd-table td{padding:12px 16px;border-top:0;border-bottom:1px solid var(--ezy-line);vertical-align:top}
.ezy-body .ezy-main .ipnd-app .ipnd-table thead th{background:#f8fafc;border-bottom:1px solid var(--ezy-line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-body .ezy-main .ipnd-app .ipnd-table td > strong{color:var(--ezy-head);font-weight:600}
.ezy-body .ezy-main .ipnd-app .ipnd-table tbody tr:nth-child(odd){background:#fff}
.ezy-body .ezy-main .ipnd-app .ipnd-table tbody tr.ipnd-row--attention{background:var(--ezy-amber-bg)}
.ezy-body .ezy-main .ipnd-app .ipnd-table tbody tr.ipnd-row--group{background:#f8fafc}
.ezy-body .ezy-main .ipnd-app .ipnd-table tbody:last-child tr:last-child td{border-bottom:0}
.ezy-body .ezy-main .ipnd-app .ipnd-table__tick{width:44px}
.ezy-body .ezy-main .ipnd-app .ipnd-table input[type="checkbox"]{width:16px;height:16px;margin:2px 0 0}
.ezy-body .ezy-main .ipnd-app .ipnd-table td.ipnd-right{white-space:nowrap}
/* a table inside a card body gets a frame of its own */
.ezy-body .ezy-main .ipnd-app .ipnd-card__body .ipnd-scroll{border:1px solid var(--ezy-line);border-radius:10px}

/* forms */
.ezy-body .ezy-main .ipnd-app .ipnd-field{margin:0 0 18px}
.ezy-body .ezy-main .ipnd-app .ipnd-label{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-help{margin-top:6px;color:var(--ezy-muted);font-size:12.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-input, .ezy-body .ezy-main .ipnd-app .ipnd-select{height:40px;max-width:520px;padding:0 12px;border:1px solid var(--ezy-line);border-radius:9px;background-color:#fff;color:var(--ezy-head);font:inherit;font-size:14px;line-height:1.4;transition:border-color .12s,box-shadow .12s}
.ezy-body .ezy-main .ipnd-app .ipnd-input::placeholder{color:var(--ezy-faint)}
.ezy-body .ezy-main .ipnd-app .ipnd-input:focus, .ezy-body .ezy-main .ipnd-app .ipnd-select:focus{outline:0;border-color:var(--ezy-blue);box-shadow:0 0 0 3px rgba(0,114,198,.12)}
.ezy-body .ezy-main .ipnd-app .ipnd-select--auto{margin:0 8px 8px 0}
.ezy-body .ezy-main .ipnd-app .ipnd-check{margin:0 0 14px}
.ezy-body .ezy-main .ipnd-app .ipnd-check label{font-size:14px;font-weight:500;color:var(--ezy-body);margin:0}

/* the address form: the module lists every field in one column; each group of fields is set two
   across here (the group wrappers are the form's only unclassed <div>s, and the two <details> bodies) */
.ezy-body .ezy-main .ipnd-app .ipnd-card__body > form > div:not([class]),
.ezy-body .ezy-main .ipnd-app .ipnd-details__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;max-width:880px;align-items:start}
.ezy-body .ezy-main .ipnd-app .ipnd-card__body > form > div:not([class]) > .ipnd-check{grid-column:1 / -1}
.ezy-body .ezy-main .ipnd-app .ipnd-card__body > form > div:not([class]) .ipnd-input,
.ezy-body .ezy-main .ipnd-app .ipnd-card__body > form > div:not([class]) .ipnd-select,
.ezy-body .ezy-main .ipnd-app .ipnd-details__body .ipnd-input,
.ezy-body .ezy-main .ipnd-app .ipnd-details__body .ipnd-select{max-width:none}
.ezy-body .ezy-main .ipnd-app .ipnd-details{max-width:880px}
@media (max-width: 767px){
    .ezy-body .ezy-main .ipnd-app .ipnd-card__body > form > div:not([class]),
    .ezy-body .ezy-main .ipnd-app .ipnd-details__body{grid-template-columns:minmax(0,1fr)}
}

/* buttons: base, hover, primary, primary hover, small, in that order (later rules must win ties) */
.ezy-body .ezy-main .ipnd-app .ipnd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-body);font:inherit;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;margin:0 6px 0 0;transition:background-color .12s,border-color .12s,color .12s}
.ezy-body .ezy-main .ipnd-app .ipnd-btn:hover, .ezy-body .ezy-main .ipnd-app .ipnd-btn:focus{background:#fff;border-color:#cbd5e1;color:var(--ezy-head);text-decoration:none}
.ezy-body .ezy-main .ipnd-app .ipnd-btn:focus{outline:none}
.ezy-body .ezy-main .ipnd-app .ipnd-btn:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}
.ezy-body .ezy-main .ipnd-app .ipnd-btn.ipnd-btn--primary{background:var(--ezy-blue);border-color:var(--ezy-blue);color:#fff}
.ezy-body .ezy-main .ipnd-app .ipnd-btn.ipnd-btn--primary:hover, .ezy-body .ezy-main .ipnd-app .ipnd-btn.ipnd-btn--primary:focus{background:var(--ezy-blue-dark);border-color:var(--ezy-blue-dark);color:#fff}
.ezy-body .ezy-main .ipnd-app .ipnd-btn.ipnd-btn--sm{min-height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.ezy-body .ezy-main .ipnd-app .ipnd-well .ipnd-btn{min-height:40px;margin-bottom:8px}

/* the address finder */
.ezy-body .ezy-main .ipnd-app .ipnd-finder-panel{margin:0 0 24px;padding:16px;border:1px solid var(--ezy-blue-line);border-radius:10px;background:var(--ezy-blue-tint)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__label{font-size:14px;color:var(--ezy-blue-dark)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__icon{color:var(--ezy-blue)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__input{height:42px;padding:0 12px;font-size:14px;background:#fff}
.ezy-body .ezy-main .ipnd-app .ipnd-finder-panel__or:before{border-top-color:var(--ezy-blue-line)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder-panel__or span{background:var(--ezy-blue-tint);color:var(--ezy-muted);font-weight:600;letter-spacing:.08em}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__list{margin:4px 0 0;padding:6px;border:1px solid var(--ezy-line);border-radius:10px;box-shadow:0 8px 28px rgba(15,23,42,.12);color:var(--ezy-body)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__item{padding:8px 12px;border:0;border-radius:7px;font-size:13.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__item:hover, .ezy-body .ezy-main .ipnd-app .ipnd-finder__item.is-active{background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-body .ezy-main .ipnd-app .ipnd-finder__note{margin-top:8px;padding:8px 12px;border:1px solid var(--ezy-amber-line);border-radius:8px;background:var(--ezy-amber-bg);color:var(--ezy-amber-text);font-size:12.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-attrib{margin-top:16px;font-size:11.5px;color:var(--ezy-faint)}

.ezy-body .ezy-main .ipnd-app .ipnd-details{margin:0 0 18px;border:1px solid var(--ezy-line);border-radius:10px;background:#fff;color:var(--ezy-body)}
.ezy-body .ezy-main .ipnd-app .ipnd-details__summary{padding:12px 16px;color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-details__body{padding:6px 16px 0}

/* "My Numbers": the filter, the table and the listing controls are one card */
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker]{background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);margin:0 0 18px;overflow:hidden}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] > .ipnd-field{margin:0;padding:16px 20px 12px}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] > .ipnd-toolbar{margin:0;padding:0 20px 16px}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] > .ipnd-scroll{margin:0;border-top:1px solid var(--ezy-line)}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] .ipnd-table tr > :first-child{padding-left:20px}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] > .ipnd-well{margin:0;border:0;border-top:1px solid var(--ezy-line);border-radius:0;padding:16px 20px 8px}
.ezy-body .ezy-main .ipnd-app > form > [data-ipnd-picker] .ipnd-table tbody:last-child tr:last-child td{border-bottom:0}
.ezy-body .ezy-main .ipnd-app .ipnd-confirm{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.ezy-body .ezy-main .ipnd-app .ipnd-confirm .ipnd-muted{margin:0;font-size:12.5px}

/* the reminder on the service page (hook output): a note when something is outstanding, a plain card when not */
.ezy-body .ezy-main .ipnd-app .ipnd-note.ipnd-prompt{margin:0;padding:16px 20px;gap:20px;align-items:center;font-size:13.5px}
.ezy-body .ezy-main .ipnd-app .ipnd-note--info.ipnd-prompt{background:#fff;border-color:var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow);color:var(--ezy-body)}
.ezy-body .ezy-main .ipnd-app .ipnd-prompt__text p{margin:0 0 8px}
.ezy-body .ezy-main .ipnd-app .ipnd-prompt__text p:last-child{margin-bottom:0}
.ezy-body .ezy-main .ipnd-app .ipnd-prompt__text strong{color:var(--ezy-head)}
.ezy-body .ezy-main .ipnd-app .ipnd-note--warn .ipnd-prompt__text strong{color:inherit}
.ezy-body .ezy-main .ipnd-app .ipnd-prompt__action .ipnd-help{margin:8px 0 0;color:inherit;opacity:.85}
.ezy-body .ezy-main .ipnd-app .ipnd-note--info .ipnd-prompt__action .ipnd-help{color:var(--ezy-muted);opacity:1}
.ezy-body .ezy-main .ipnd-app .ipnd-note--warn.ipnd-prompt .ipnd-btn{border-color:rgba(120,53,15,.25);background:#fff;color:var(--ezy-amber-text)}

@media (max-width: 575px){
    .ezy-body .ezy-main .ipnd-app .ipnd-lede__title{font-size:22px}
    .ezy-body .ezy-main .ipnd-app .ipnd-card__body{padding:16px}
    .ezy-body .ezy-main .ipnd-app .ipnd-tabs{gap:20px}
    .ezy-body .ezy-main .ipnd-app .ipnd-table{min-width:560px}
    .ezy-body .ezy-main .ipnd-app .ipnd-select--auto{width:100%;margin-right:0}
}


/* ==== 4. VoIP Autopilot: voipaccounts.tpl / voipaccountdetails.tpl and the control panel login ==== */
.ezy-main .vavn-band, .ezy-main .vavn-page > .ezy-band{margin-bottom:18px}
.ezy-main .vavn-list{margin-bottom:18px}
.ezy-main .vavn-list .table td{vertical-align:middle}
.ezy-main .vavn-list__act{text-align:right;white-space:nowrap}
.ezy-main .vavn-list__act form{margin:0}
.ezy-main .vavn-list .text-muted{font-size:12.5px}
.ezy-main .vavn-wait{margin:0}
.ezy-body .vavn-type{white-space:nowrap}

.ezy-body .vavn-overlay{position:fixed;inset:0;z-index:9999;background:rgba(244,246,249,.94);flex-direction:column;align-items:center;justify-content:center}
.ezy-body .vavn-overlay__box{width:100%;max-width:420px;padding:28px;text-align:center;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow)}
.ezy-body .vavn-overlay__ico{width:44px;height:44px;margin:0 auto 14px;border-radius:10px;background:var(--ezy-blue-tint);color:var(--ezy-blue);display:grid;place-items:center}
.ezy-body .vavn-overlay__box h4{margin:0 0 6px;font-size:16px;color:var(--ezy-head)}
.ezy-body .vavn-overlay__box p{margin:0 0 18px;font-size:13px;color:var(--ezy-muted)}
.ezy-body .vavn-overlay__bar{height:8px;border-radius:999px;background:#eef2f6;overflow:hidden;margin-bottom:10px}
.ezy-body #vavn-progress-bar{height:100%;border-radius:999px;background:var(--ezy-blue)}
.ezy-body .vavn-overlay__n{font-size:12.5px;color:var(--ezy-muted)}

.ezy-main .vavn-period{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:6px;padding:0 2px}
.ezy-main .vavn-period__t{font-size:15px;font-weight:650;color:var(--ezy-head)}
.ezy-main .vavn-period__f{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}
.ezy-main .vavn-period__f label{margin:0 4px 0 0;font-size:12.5px;font-weight:500;color:var(--ezy-muted)}
.ezy-main .vavn-period__f .form-control{width:auto;height:32px;padding:0 8px;font-size:13px;border-radius:8px}
.ezy-main .vavn-tiles{margin-top:12px}
.ezy-main .vavn-tiles .ezy-tile__line{min-height:20px}
.ezy-main .vavn-flip{transform:scaleX(-1)}
.ezy-main .vavn-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}
.ezy-main .vavn-page code{font:inherit;color:inherit;background:none;padding:0}
.ezy-main .vavn-page .ezy-figrow span{display:block;margin-top:2px}
.ezy-main .vavn-order .input-group{flex-wrap:nowrap}
.ezy-main .vavn-order .input-group > .form-control{min-width:0;border-top-right-radius:0;border-bottom-right-radius:0}
.ezy-main .vavn-order .input-group-btn .btn{min-height:40px;border-top-left-radius:0;border-bottom-left-radius:0;white-space:nowrap}
.ezy-main .vavn-error{margin-top:18px}
@media (max-width: 991px){
    .ezy-main .vavn-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 575px){
    .ezy-main .vavn-order .input-group{flex-wrap:wrap;gap:8px}
    .ezy-main .vavn-order .input-group > .form-control{flex:1 0 100%;border-radius:9px}
    .ezy-main .vavn-order .input-group-btn, .ezy-main .vavn-order .input-group-btn .btn{width:100%;border-radius:9px}
}

/* voipautopilotvn_ClientArea() returns a bare form with an unstyled submit button; on the service
   page it sits in the "Manage" card. Given the look of a portal button, no markup change. */
.ezy-body .module-client-area form#login_form{margin:0}
.ezy-body .module-client-area form#login_form input[type="submit"]{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--ezy-line);border-radius:9px;background:#fff;color:var(--ezy-body);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s}
.ezy-body .module-client-area form#login_form input[type="submit"]:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-body .module-client-area form#login_form input[type="submit"]:focus-visible{outline:2px solid var(--ezy-blue);outline-offset:2px}

/* ==== 63-auth.css ==== */
/* ---- Signing in: login.tpl as one wide card with the brand's photo, and ezymfa's verification page (the MFA step) as
   the same card (20 October 2026). Last in the build, so the MFA rules follow 61-mod-security.css, whose card they widen.
   The photo itself is set by header.tpl ($ezyAuthArt), so its address resolves against the page. ---- */

/* sign in, split: one wide card, the form on the left and the brand's hero photo on the right ($ezyAuthArt).
   The photo is the store's cartHero slide, cropped to the person; on phones it is left out. */
.ezy-auth--split{max-width:1080px;margin:40px auto 48px}
.ezy-auth--split .ezy-auth__card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:620px;overflow:hidden;padding:0}
.ezy-auth--split .ezy-auth__panel{display:flex;align-items:center;margin:0}
.ezy-auth--split .ezy-auth__body{width:100%;max-width:400px;margin:0 auto;padding:48px 32px}
.ezy-auth--split .ezy-auth__logo{justify-content:flex-start;margin-bottom:40px}
.ezy-auth--split .ezy-auth__title{font-size:28px;text-align:left}
.ezy-auth--split .ezy-auth__sub{text-align:left;font-size:14.5px;margin:8px 0 30px}
.ezy-auth--split .form-control{height:46px}
.ezy-auth--split .btn-reveal-pw{height:46px}
.ezy-auth--split #login{height:48px;margin-top:4px}
.ezy-auth .ezy-auth__new{margin:26px 0 0;font-size:13.5px;color:var(--ezy-muted);text-align:center}
.ezy-auth__new a{font-weight:600;margin-left:4px}
.ezy-auth__art{background-color:var(--ezy-blue-tint);background-size:cover;background-position:72% 30%;background-repeat:no-repeat;border-left:1px solid var(--ezy-line)}
@media (max-width:899px){
    .ezy-auth--split{max-width:440px;margin-top:24px}
    .ezy-auth--split .ezy-auth__card{grid-template-columns:1fr;min-height:0}
    .ezy-auth__art{display:none}
    .ezy-auth--split .ezy-auth__body{padding:32px 24px 28px}
    .ezy-auth--split .ezy-auth__logo{justify-content:center;margin-bottom:28px}
    .ezy-auth--split .ezy-auth__title,.ezy-auth--split .ezy-auth__sub{text-align:center}
    .ezy-auth--split .ezy-auth__title{font-size:24px}
}

/* the MFA step (ezymfa's challenge, $ezyAuthStep): its card (61-mod-security.css) widens into the same split as the
   sign-in page, the brand's photo on the right as a layer of the card itself, since the module prints no slot for it */
.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback){position:relative;display:flex;flex-direction:column;max-width:1080px !important;min-height:620px;margin-top:40px !important;padding:48px 56px 0;overflow:hidden}
.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > *{width:402px;max-width:100%}
.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback)::after{content:"";position:absolute;top:0;right:0;bottom:0;width:calc(100% - 514px);background:var(--ezy-blue-tint) no-repeat;background-size:cover;background-position:72% 30%;border-left:1px solid var(--ezy-line)}
.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > .text-center:first-child{margin-top:auto !important}
.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > .text-center:last-child{width:514px;max-width:none;margin:auto -56px 0 !important;padding:16px 56px}
@media (max-width:899px){
    .ezy-main--art .primary-content > .container:has(> #ezymfa-fallback){max-width:480px !important;min-height:0;margin-top:8px !important;padding:24px 20px 0}
    .ezy-main--art .primary-content > .container:has(> #ezymfa-fallback)::after{display:none}
    .ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > *{width:auto}
    .ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > .text-center:last-child{width:auto;margin:24px -20px 0 !important;padding:14px 20px}
}

/* "Trust this device", moved by portal.js into the code form: above the code box, centred on it */
.ezy-body #ezymfa-fallback label.ezymfa-trust-in{display:flex !important;align-items:center;gap:8px;justify-content:center !important;margin:4px 0 14px !important;font-size:13px !important;font-weight:500;color:var(--ezy-body) !important;cursor:pointer}

/* the password-reset steps in the split card: the success tick sits on the text's left edge, as the heading does */
.ezy-auth--split .ezy-auth__done{margin-left:0;margin-right:0}
@media (max-width:899px){.ezy-auth--split .ezy-auth__done{margin-left:auto;margin-right:auto}}

/* ---- Sign-in pages fill the window (8 November 2026, Kerry: "Just make it a login page and nothing more").
   On the sign-in page, the password-reset steps and the MFA step ($ezyAuthPage in includes/ezy-layout.tpl) there is
   no top bar, menu bar, trail or footer: the form on the left and the brand's photo on the right, edge to edge.
   Phones (under 900px) show the form alone, full width. ---- */
.ezy-body--auth{background:#fff}
.ezy-body--auth .ezy-main.ezy-main--signin{min-height:100vh;margin:0 !important;padding:0 !important;max-width:none;display:flex;flex-direction:column;background:#fff}
.ezy-main--signin #main-body{flex:1 0 auto;display:flex;margin:0;padding:0 !important}
.ezy-main--signin #main-body > .container{display:flex;width:100%;max-width:none !important;margin:0;padding:0}
.ezy-main--signin #main-body > .container > .row{flex:1 0 auto;margin:0}
.ezy-main--signin #main-body .primary-content{display:flex;flex-direction:column;padding:0;margin:0}
.ezy-main--signin .ezy-auth{max-width:none;width:100%;flex:1 0 auto;display:flex;flex-direction:column;margin:0}
.ezy-main--signin .ezy-auth > .alert, .ezy-main--signin .ezy-auth > .providerLinkingFeedback:not(:empty){margin:0;border-radius:0}
.ezy-main--signin .ezy-auth .ezy-auth__card{flex:1 0 auto;min-height:100vh;margin:0;border:0;border-radius:0;box-shadow:none}
.ezy-main--signin .ezy-auth:not(.ezy-auth--split) .ezy-auth__card{display:flex;align-items:center;justify-content:center}
.ezy-main--signin .ezy-auth:not(.ezy-auth--split) .ezy-auth__panel{width:100%;max-width:440px}
.ezy-main--signin .ezy-auth--split .ezy-auth__body{max-width:420px}
.ezy-main--signin .ezy-auth--split .ezy-auth__logo{margin-bottom:44px}
@media (max-width:899px){
    .ezy-main--signin .ezy-auth--split{max-width:none;margin:0}
    .ezy-main--signin .ezy-auth--split .ezy-auth__panel{align-items:center;justify-content:center}
    .ezy-main--signin .ezy-auth--split .ezy-auth__body{max-width:440px;padding:40px 24px}
}
/* the MFA step: ezymfa's card becomes the whole window too, its photo filling the right-hand side */
.ezy-main--signin.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback){max-width:none !important;width:100%;min-height:100vh;margin:0 !important;border:0;border-radius:0;box-shadow:none;padding:48px max(56px, calc((47.6% - 402px) / 2)) 0}
.ezy-main--signin.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback)::after{width:52.4%}
.ezy-main--signin.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback) > .text-center:last-child{width:auto;margin:auto 0 0 !important;padding:16px 0 24px}
@media (max-width:899px){
    .ezy-main--signin.ezy-main--art .primary-content > .container:has(> #ezymfa-fallback){max-width:none !important;padding:40px 24px 0}
}

/* the brand logo on the sign-in pages, larger (8 Nov 2026, Kerry): 64px tall, 56px on phones (was 44px) */
.ezy-main--signin .ezy-auth__logo{min-height:64px}
.ezy-main--signin .ezy-auth__logo img{height:64px}
@media (max-width:899px){
    .ezy-main--signin .ezy-auth__logo{min-height:56px}
    .ezy-main--signin .ezy-auth__logo img{height:56px}
}

/* ==== 64-cpanel.css ==== */
/* cPanel service overview (templates\ezyportal\modules\servers\cpanel\overview.tpl).
   It draws its own cards, so the service page's wrapper card around module output steps back. */
.ezy-card:has(> .ezy-module-output > .ezy-cp){background:none;border:0;border-radius:0;box-shadow:none}
.ezy-module-output:has(> .ezy-cp){padding:0;overflow:visible}
.ezy-cp .ezy-acts{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.ezy-cp .ezy-act:hover{border-color:#cbd5e1;color:var(--ezy-head)}
.ezy-cp .cpanel-package-details{text-align:left;margin:0}
.ezy-cp .ezy-kv__i .ezy-btn + .ezy-btn{margin-left:8px}
.ezy-cp-limit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--ezy-line);color:#78350f;background:#fffbeb}
.ezy-cp-limit .ezy-btn{margin-left:auto}
.ezy-cp-sitejet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ezy-cp-addon{display:flex;gap:12px;align-items:center;margin:0}
.ezy-cp-addon select{flex:1;min-width:0}
.ezy-cp-addon button{flex:0 0 auto;white-space:nowrap}
@media (max-width: 767px){
    .ezy-cp-sitejet{grid-template-columns:minmax(0,1fr)}
    .ezy-cp-addon{flex-direction:column;align-items:stretch}
    .ezy-cp .ezy-kv__i{flex-wrap:wrap}
}

/* top bar: "Order a service" and the customer's name stay on one line (FIX_LATER 29);
   below 1200px the button keeps its icon and the search takes up the slack */
.ezy-top__right{flex:0 0 auto}
.ezy-top .ezy-btn--primary{white-space:nowrap}
.ezy-who__n, .ezy-who__c{white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.ezy-search{min-width:0}
@media (max-width: 1200px){
    .ezy-top .ezy-btn--primary span{display:none}
}

/* phones, visitors: logo, cart, Login and Register must all fit, so the search leaves the top bar */
@media (max-width: 575px){
    .ezy-top--wide{padding:0 12px;gap:8px}
    .ezy-top--wide .ezy-search{display:none}
    .ezy-top--wide .ezy-top__brand{margin-right:auto;min-width:0}
    .ezy-top--wide .ezy-top__brand img{height:28px;max-width:100%}
    .ezy-top--wide .ezy-top__right{gap:6px;margin-left:0}
    .ezy-top--wide .ezy-btn{padding-left:10px;padding-right:10px}
    .ezy-top--wide .ezy-top__right .ezy-btn--primary span{display:inline}
}

/* ==== 65-signin.css ==== */
/* One-click sign-in (includes/hooks/ezyportal_signin.php, clientareaproductdetails.tpl):
   the Sign in button on the service page, and the page a press opens in its new tab. */
.ezy-signin{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ezy-signin__form{margin:0}
.ezy-signin__form .ezy-btn{display:inline-flex;align-items:center;gap:8px}
.ezy-signin__form .ezy-btn svg{width:16px;height:16px}
.ezy-signin__help{margin:0;font-size:13px;color:var(--ezy-muted)}
.ezy-signin-go{max-width:560px;margin:48px auto;text-align:center}
.ezy-signin-go .ezy-pad{padding:40px 36px 34px}
.ezy-signin-go__ico{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-signin-go__ico svg{width:26px;height:26px}
.ezy-main .ezy-signin-go h1{font-size:22px !important;margin:0 0 8px !important}
.ezy-signin-go p{color:var(--ezy-muted);margin:0 0 18px}
.ezy-signin-go__form{margin:4px 0 22px}
.ezy-signin-go__form input[type=submit],.ezy-signin-go__form button{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 26px;border:0;border-radius:10px;background:var(--ezy-green);color:#fff;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ezy-signin-go__help{font-size:13px;margin:0 !important}
/* the service brand is written <strong>ezy</strong>tel / <strong>voip</strong>server: the rest of the line stays
   lighter so the strong part reads, in the button and the heading */
.ezy-signin__form .ezy-btn span{font-weight:400}
.ezy-signin__form .ezy-btn span strong{font-weight:800}
.ezy-main .ezy-signin-go h1{font-weight:500}
.ezy-signin-go h1 strong{font-weight:800}

/* dashboard: Your control panels (clientareahome.tpl), four equal tiles to a row */
.ezy-signins{margin:18px 0}
.ezy-signins__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px 20px 20px}
.ezy-signins__tile{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:18px 20px;border:1px solid var(--ezy-line);border-radius:12px;background:#fff}
.ezy-signins__info{min-width:0}
.ezy-signins__go{display:flex;justify-content:flex-end}
.ezy-signins__go form{margin:0}
.ezy-signins__go .ezy-btn{white-space:nowrap}
.ezy-signins__go .ezy-btn svg{width:14px;height:14px}
.ezy-signins__more{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.ezy-signins__more a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--ezy-blue)}
.ezy-signins__more svg{width:12px;height:12px}
.ezy-signins__brand{font-size:15px;color:var(--ezy-head);font-weight:400;line-height:1.2}
.ezy-signins__brand strong{font-weight:800}
.ezy-signins__title{margin-top:2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ezy-muted)}
.ezy-signins__sub{margin:6px 0 0;font-size:13px;color:var(--ezy-body);overflow-wrap:anywhere}
.ezy-signins__acts{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 0}
.ezy-signins__acts .ezy-btn svg{width:13px;height:13px}
.ezy-signins__help{margin-top:6px;font-size:12px;color:var(--ezy-muted)}
@media (max-width:1199px){.ezy-signins__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575px){.ezy-signins__grid{grid-template-columns:1fr;padding:14px}.ezy-signins__tile{grid-template-columns:1fr;gap:12px}.ezy-signins__go{justify-content:flex-start}}
@media (min-width:1200px){.ezy-signins__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* a page with nothing to list (the VoIP page without VoIP services): one centred card in the portal style */
.ezy-blank{max-width:640px;margin:40px auto 0;padding:44px 40px 40px;text-align:center;background:#fff;border:1px solid var(--ezy-line);border-radius:var(--ezy-r);box-shadow:var(--ezy-shadow)}
.ezy-blank__ico{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--ezy-blue-tint);color:var(--ezy-blue)}
.ezy-blank__ico svg{width:28px;height:28px}
.ezy-main .ezy-blank h1{font-size:22px !important;font-weight:500;line-height:1.3;margin:0 0 10px !important}
.ezy-blank h1 strong{font-weight:800}
.ezy-blank p{max-width:460px;margin:0 auto 24px;color:var(--ezy-muted)}
.ezy-blank__acts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
@media (max-width:575px){.ezy-blank{margin-top:16px;padding:32px 20px 28px}}