:root{
  --navy:#0C1E3A;--navy-deep:#0A1628;
  --panel:#162035;--panel-line:rgba(158,218,243,0.12);
  --blue:#1D82D5;--blue-light:#9EDAF3;--cyan:#35BCEC;
  --pink:#EE345B;--pink-hover:#D42550;
  --text:#FFFFFF;--text-dim:rgba(255,255,255,.62);--text-faint:rgba(255,255,255,.36);
  --good:#3DB874;--good-bg:rgba(61,184,116,.14);
  --warn:#E8A33D;--warn-bg:rgba(232,163,61,.14);
  --bad:#E9536B;--bad-bg:rgba(233,83,107,.14);
  --field-bg:rgba(255,255,255,0.06);--field-line:rgba(158,218,243,0.28);
  --r:10px;--t:.18s ease;
}
*{box-sizing:border-box}
body{margin:0;background:var(--navy);color:var(--text);font-family:'Cabin',sans-serif;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,button,.btn{font-family:'Poppins',sans-serif}
.mono{font-family:'DM Mono',monospace}
a{color:var(--blue-light)}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:12px 20px 64px}

/* auth screens */
.centered{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 18px;background:
  radial-gradient(900px 480px at 15% -10%, rgba(29,130,213,.16), transparent 60%),
  radial-gradient(700px 420px at 100% 10%, rgba(53,188,236,.10), transparent 55%), var(--navy)}
.authcard,.lockcard{width:100%;background:var(--panel);border:1px solid var(--panel-line);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.authcard{max-width:400px;padding:34px 32px 30px}
.lockcard{max-width:440px;padding:38px 34px;text-align:center}
.logo-link-lg{display:block;text-align:center;line-height:0;margin-bottom:4px}
.logo-img-lg{display:block;height:46px;width:auto;margin:0 auto}
.logo-img-sm{display:block;height:30px;width:auto;margin:0 auto 20px}
.logo-tag{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);text-align:center;margin:6px 0 26px}
.auth-h{font-family:'Poppins',sans-serif;font-size:19px;font-weight:700;margin-bottom:4px;text-align:center}
.auth-s{font-size:12.5px;color:var(--text-dim);text-align:center;margin-bottom:26px;line-height:1.5}
.auth-foot{margin-top:22px;text-align:center;font-size:11.5px;color:var(--text-faint);line-height:1.6}
.alert{display:flex;gap:10px;align-items:flex-start;background:var(--bad-bg);border:1px solid rgba(233,83,107,.35);border-radius:10px;padding:11px 13px;font-size:12.5px;color:#ffd7dd;margin-bottom:18px;line-height:1.5}
.lock-ico{width:56px;height:56px;border-radius:50%;background:var(--bad-bg);border:1px solid rgba(233,83,107,.35);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.lock-ico.info{background:rgba(29,130,213,.14);border-color:rgba(29,130,213,.35)}
.lock-h{font-family:'Poppins',sans-serif;font-size:19px;font-weight:700;margin-bottom:8px}
.lock-s{font-size:13px;color:var(--text-dim);line-height:1.6;margin-bottom:6px}
.lock-org{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--blue-light);margin-bottom:24px;display:inline-block}
.lock-actions{display:flex;flex-direction:column;gap:10px}
.lock-contact{margin-top:22px;font-size:12px;color:var(--text-faint)}

/* forms */
.fgrp{margin-bottom:16px}
.flabel{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:6px}
.flabel .opt{font-weight:400;color:var(--text-faint)}
.finput{width:100%;height:44px;padding:0 13px;border:1.5px solid var(--field-line);border-radius:var(--r);font-family:'Cabin',sans-serif;font-size:14px;color:#fff;background:var(--field-bg);outline:none;transition:border-color var(--t),box-shadow var(--t)}
.finput::placeholder{color:var(--text-faint)}
.finput:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,188,236,.16)}
.finput[readonly]{color:var(--text-dim);cursor:default}
select.finput{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239EDAF3' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
select.finput option{background:var(--panel);color:#fff}
input[type=date].finput{color-scheme:dark}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:var(--r);font-size:14.5px;font-weight:600;cursor:pointer;border:none;transition:all var(--t);width:100%;text-decoration:none}
.btn-auto{width:auto}
.btn-primary{background:linear-gradient(135deg,var(--blue),#2a93e8);color:#fff}
.btn-primary:hover{filter:brightness(1.08)}
.btn-outline{background:transparent;border:1.5px solid var(--field-line);color:var(--text)}
.btn-outline:hover{border-color:var(--blue-light);color:var(--blue-light)}
.btn-ghost{background:rgba(255,255,255,.06);color:var(--text-dim)}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.1)}
.err-banner{background:var(--bad-bg);border:1px solid rgba(233,83,107,.35);border-radius:8px;padding:10px 14px;font-size:12.5px;color:#ffd7dd;margin-top:14px;line-height:1.5}
.help{font-size:11.5px;color:var(--text-faint);line-height:1.6;margin-top:6px}
.formfoot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{position:relative;border:1.5px solid var(--field-line);border-radius:8px;padding:10px 13px;font-size:13px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:all var(--t)}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:has(input:checked){border-color:var(--blue);background:rgba(29,130,213,.16);color:#fff}

/* page structure */
.hero-sm{padding:28px 0 6px}
.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-bottom:6px}
.h-t{font-family:'Poppins',sans-serif;font-size:25px;font-weight:700;margin-bottom:4px}
.h-s{font-size:13px;color:var(--text-dim)}
.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.18);margin-top:20px}
.panel.editing{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,188,236,.14),0 4px 20px rgba(0,0,0,.18)}
.phdr{background:var(--navy-deep);padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.phdr h3{font-size:15.5px;font-weight:600;margin:0}
.phdr p{font-size:11.5px;color:var(--text-dim);margin:2px 0 0}
.pbody{padding:22px}
.badge{background:rgba(255,255,255,.1);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.2);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 9px;border-radius:20px}
.statusband{display:flex;align-items:center;gap:14px;background:var(--good-bg);border:1px solid rgba(61,184,116,.3);border-radius:10px;padding:14px 18px;margin-top:20px}
.statusband.soon{background:var(--warn-bg);border-color:rgba(232,163,61,.35)}
.statusband .stitle{font-size:13.5px;font-weight:700}
.statusband .ssub{font-size:12px;color:var(--text-dim);margin-top:1px}

/* list management: title row with add button, filter bar, pager */
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hero-row .btn{width:auto;flex-shrink:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 22px;border-bottom:1px solid var(--panel-line)}
.filters .finput{height:38px;font-size:13px}
.filters .f-search{flex:1 1 220px;min-width:0}
.filters select.finput{flex:0 1 200px;width:auto;padding-right:34px}
.filters .btn{height:38px;width:auto;font-size:13px;padding:0 16px}
.filters .clear{font-size:12.5px;color:var(--blue-light);text-decoration:none}
.filters .clear:hover{text-decoration:underline}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--panel-line);font-size:12.5px;color:var(--text-dim)}
.pager-links{display:flex;gap:8px;align-items:center}
.pager .btn{height:34px;width:auto;font-size:13px;padding:0 14px}
.pager .btn[aria-disabled="true"]{opacity:.35;pointer-events:none}

/* tables */
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:14px 12px 10px;border-bottom:1px solid var(--panel-line);white-space:nowrap}
tbody td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:rgba(255,255,255,.02)}
.tname{font-weight:600;color:#fff}
.tsub{font-size:12px;color:var(--text-dim)}
.tdmono{font-family:'DM Mono',monospace;font-size:12px;color:var(--text-dim);white-space:nowrap}
.tactions{display:flex;gap:14px;align-items:center;white-space:nowrap}
.tactions form{margin:0}
.rowlink{background:none;border:none;color:var(--blue-light);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;font-family:'Cabin',sans-serif;text-decoration:none}
.rowlink:hover{text-decoration:underline}
.rowlink.danger{color:var(--bad)}
.empty-row td{padding:26px 12px;text-align:center;color:var(--text-faint);font-size:12.5px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;white-space:nowrap}
.pill .dot{width:6px;height:6px;border-radius:50%}
.pill.active{background:var(--good-bg);color:var(--good)}.pill.active .dot{background:var(--good)}
.pill.soon{background:var(--warn-bg);color:var(--warn)}.pill.soon .dot{background:var(--warn)}
.pill.expired{background:var(--bad-bg);color:var(--bad)}.pill.expired .dot{background:var(--bad)}
.pill.admin{background:rgba(158,218,243,.14);color:var(--blue-light)}
.pill.plain{background:rgba(255,255,255,.08);color:var(--text-dim)}

/* issued temporary password */
.issued{border-color:rgba(61,184,116,.45)}
.issued .phdr{background:rgba(61,184,116,.12)}
.issued-pw{font-family:'DM Mono',monospace;font-size:20px;letter-spacing:.06em;background:rgba(255,255,255,.06);border:1px dashed var(--field-line);border-radius:10px;padding:12px 16px;display:inline-block;user-select:all;margin:6px 0 4px}
.issued dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 14px;font-size:13px}
.issued dt{color:var(--text-faint)}
.issued dd{margin:0}

/* free trial sign-up */
.trial{width:100%;max-width:1040px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.trial-logo{display:inline-block;line-height:0;margin-bottom:28px}
.trial-logo img{height:56px;width:auto}
.trial-eyebrow{color:var(--cyan)}
.trial-h{font-size:38px;line-height:1.15;font-weight:700;margin:0 0 16px}
.trial-h span{color:var(--cyan)}
.trial-p{font-size:15px;line-height:1.65;color:rgba(255,255,255,.85);margin:0 0 22px}
.trial-steps{list-style:none;counter-reset:s;margin:0 0 22px;padding:0;display:grid;gap:10px}
.trial-steps li{counter-increment:s;display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--text-dim)}
.trial-steps li::before{content:counter(s);flex:0 0 28px;height:28px;border-radius:50%;background:rgba(29,130,213,.2);border:1px solid rgba(53,188,236,.45);color:#fff;font:600 13px 'Poppins',sans-serif;display:flex;align-items:center;justify-content:center}
.trial-steps b{color:#fff}
.trial-years{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--text-faint);letter-spacing:.02em}
.trial-card{max-width:none}
.trial-card .grid2{gap:0 16px}
.trial-card .auth-h{text-align:left;font-size:22px}
.trial-card .auth-s{text-align:left;margin-bottom:22px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:860px){
  .trial{grid-template-columns:minmax(0,1fr);gap:28px}
  .trial-h{font-size:28px}
  .trial-logo{margin-bottom:18px}
  .trial-logo img{height:44px}
}
.req{color:var(--pink);font-weight:700}
.req-note{font-size:11.5px;color:var(--text-faint);margin:2px 0 14px}
.ferr{font-size:12px;color:#ff9aab;line-height:1.4;margin-top:6px}
.ferr:empty{display:none}
.fgrp.invalid .finput{border-color:var(--bad);box-shadow:0 0 0 3px rgba(233,83,107,.16)}
