*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f6f7fb;color:#151923}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}small{display:block;color:#777f90;margin-top:3px}.toast,.errorbox{position:fixed;z-index:99;top:18px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:12px;background:#172033;color:white;box-shadow:0 14px 40px #0003}.errorbox{background:#9f2f2f}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-art{padding:11vh 9vw;background:#11182a;color:white;display:flex;flex-direction:column;justify-content:center}.login-art .mark,.brand>span,.clientbrand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#6565dc;color:white;font-weight:800}.login-art h1{font-size:54px;letter-spacing:-2px;margin:35px 0 15px;line-height:1.02}.login-art p{max-width:560px;color:#aeb7ca;font-size:17px;line-height:1.7}.feature{display:flex;gap:12px;margin-top:13px;color:#dfe4ef}.feature b{color:#8c91ff}.login-card{align-self:center;width:min(470px,85%);margin:auto;background:white;padding:44px;border-radius:24px;box-shadow:0 20px 60px #25305516}.login-card h2{font-size:30px;margin:5px 0}.eyebrow{letter-spacing:.16em;font-size:11px;font-weight:800;color:#676bdc}.muted{color:#72798a}label{display:block;font-size:13px;font-weight:650;margin:15px 0;color:#404658}input,select,textarea{width:100%;border:1px solid #dfe2e9;background:white;border-radius:10px;padding:11px 12px;margin-top:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:#7275df;box-shadow:0 0 0 3px #7275df16}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.btn{border:1px solid #d8dce5;background:white;padding:10px 14px;border-radius:10px;font-weight:700;color:#303646}.btn.primary{background:var(--accent,#5b5bd6);border-color:var(--accent,#5b5bd6);color:white}.login-card .btn{width:100%;margin-top:8px}.btn.small{padding:7px 10px;font-size:12px;margin:2px}.top,.workspaceTop{height:70px;background:white;border-bottom:1px solid #e5e7ed;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand,.user,.clientbrand{display:flex;align-items:center;gap:11px}.brand small,.user small{font-size:11px}.user form{display:inline}.user button{border:0;background:#f2f3f7;border-radius:8px;padding:7px 9px}.page{max-width:1400px;margin:0 auto;padding:36px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.pagehead h1{font-size:32px;letter-spacing:-.7px;margin:5px 0}.pagehead p{margin:0;color:#707789}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats article{background:white;border:1px solid #e7e9ef;border-radius:14px;padding:20px}.stats strong{font-size:28px;display:block;margin-top:8px}.card{background:white;border:1px solid #e6e9ef;border-radius:15px;overflow:hidden}.cardhead{padding:16px 18px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.card h2{font-size:17px;margin:0}.search{max-width:320px;margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid #eef0f4;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a8292;background:#fafbfc}.badge{display:inline-flex;padding:5px 8px;border-radius:20px;background:#eef1f5;font-size:10px;font-weight:800}.badge.active,.badge.in{background:#e8f8ef;color:#207448}.badge.suspended,.badge.out{background:#fff0ee;color:#a7473c}.badge.deleted{background:#eee;color:#555}.empty{text-align:center;color:#8a91a0;padding:30px}.modal{position:fixed;inset:0;background:#11182788;z-index:50;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modalbox{position:relative;width:min(520px,96vw);max-height:90vh;overflow:auto;background:white;border-radius:18px;padding:28px;box-shadow:0 24px 70px #0004}.modalbox.wide{width:min(760px,96vw)}.x{position:absolute;right:16px;top:13px;border:0;background:none;font-size:28px;color:#747b8b}.gridform{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.gridform .full{grid-column:1/-1}.app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.side{background:#11182a;color:#cbd2e0;padding:20px 13px;display:flex;flex-direction:column;min-height:100vh}.clientbrand{padding:7px;color:white;margin-bottom:24px}.clientbrand img{width:45px;height:45px;object-fit:contain;border-radius:12px;background:white}.side nav{display:flex;flex-direction:column;gap:4px}.side nav button{border:0;background:none;color:#aeb7c8;text-align:left;padding:11px 13px;border-radius:9px}.side nav button.active,.side nav button:hover{background:#ffffff12;color:white}.back{margin-top:auto;padding:13px;color:#9da6b9;font-size:13px}.main{min-width:0}.workspaceTop{padding:0 25px}.workspace{padding:30px;max-width:1500px;margin:auto}.cols{display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.feed>div{display:flex;gap:12px;padding:14px 17px;border-bottom:1px solid #eef0f3;align-items:center}.feed p{margin:0}.move{display:grid;place-items:center;min-width:31px;height:31px;border-radius:50%;background:#eef0f5}.move.in{background:#e9f8f0;color:#25794e}.move.out{background:#fff0ed;color:#a94a3f}.formcard{padding:22px}.formcard form{max-width:850px}.details{display:grid;grid-template-columns:1fr 1fr;margin:15px 0 25px}.details span{padding:12px;border-bottom:1px solid #eee;color:#7a8290}.details b{display:block;color:#262c38;margin-top:4px}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-card{margin:8vh auto}.app{grid-template-columns:1fr}.side{min-height:auto;position:sticky;top:0;z-index:10;padding:10px}.side .clientbrand{margin:0}.side nav{flex-direction:row;overflow:auto}.side nav button{white-space:nowrap}.back{display:none}.stats{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr}.workspaceTop{display:none}.workspace{padding:18px}.page{padding:20px}.gridform{grid-template-columns:1fr}.gridform .full{grid-column:auto}.pagehead{align-items:flex-start;flex-direction:column}.top{padding:0 15px}.login-art h1{font-size:42px}}@media print{.side,.workspaceTop,.pagehead .btn,button,form{display:none!important}.app{display:block}.workspace{padding:0}.card{break-inside:avoid}}

.mobilebar,.drawerOverlay,.drawerClose,.drawerUser{display:none}
.subscriptionWarning{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;margin-bottom:20px;border:1px solid #f1c66e;background:#fff8e8;border-radius:14px;color:#6f4a08}
.subscriptionWarningIcon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#f8d98f;font-weight:900;font-size:19px}
.subscriptionWarningText{flex:1;min-width:0}.subscriptionWarningText strong{display:block;font-size:15px;color:#5c3a00}.subscriptionWarningText p{margin:5px 0 0;line-height:1.5;font-size:13px;color:#765717}
.subscriptionMeta{text-align:right;white-space:nowrap}.subscriptionMeta span{display:inline-flex;padding:5px 9px;border-radius:20px;background:#fff0c7;font-size:11px;font-weight:800}.subscriptionMeta small{margin-top:6px;color:#836724}
.portal-locked [data-feature]:disabled,.portal-locked form:not([data-logout]) button:disabled{cursor:not-allowed;opacity:.48}.portal-locked form:not([data-logout]) input:disabled,.portal-locked form:not([data-logout]) select:disabled,.portal-locked form:not([data-logout]) textarea:disabled{background:#f4f5f7;color:#8b91a0;cursor:not-allowed}
@media(max-width:900px){
 body.drawer-open{overflow:hidden}.app{display:block}.main{min-width:0}.mobilebar{position:sticky;top:0;z-index:45;height:62px;background:white;border-bottom:1px solid #e5e7ed;display:flex;align-items:center;gap:11px;padding:0 12px}.mobilebar>div{min-width:0;flex:1}.mobilebar b,.mobilebar small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobilebar b{font-size:14px}.mobilebar small{font-size:10px;color:#7a8292;margin:2px 0 0}.menuBtn,.mobileLogout{border:0;background:#f1f3f7;border-radius:10px;height:40px;padding:0 12px;font-weight:800;color:#222938}.menuBtn{width:42px;font-size:20px}.mobileLogout{font-size:12px}
 .side{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:70;width:min(84vw,310px);height:100dvh;min-height:0;padding:17px 13px;background:#11182a;transform:translateX(-105%);transition:transform .24s ease;box-shadow:20px 0 60px #0004;overflow-y:auto}.side.open{transform:translateX(0)}.drawerOverlay{display:block;position:fixed;inset:0;z-index:65;background:#0d14227d;opacity:0;visibility:hidden;transition:.2s}.drawerOverlay.open{opacity:1;visibility:visible}.drawerClose{display:grid;place-items:center;position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:9px;background:#ffffff12;color:white;font-size:26px}.side .clientbrand{margin:4px 42px 21px 0;padding:7px}.side nav{display:flex;flex-direction:column;gap:4px;overflow:visible}.side nav button{width:100%;white-space:normal}.back{display:block;margin-top:auto}.drawerUser{display:block;border-top:1px solid #ffffff14;margin-top:18px;padding:15px 8px 3px;color:white}.drawerUser b,.drawerUser small{display:block}.drawerUser small{color:#8f99ad;word-break:break-all}.drawerLogout{width:100%;margin-top:10px;background:#ffffff0d;border-color:#ffffff1e;color:#e9edf6}
 .workspaceTop{display:none}.workspace{padding:15px}.pagehead{margin-bottom:18px}.pagehead h1{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:15px}.stats strong{font-size:23px}.cols{grid-template-columns:1fr}.card{border-radius:13px}.cardhead{padding:13px}.formcard{padding:16px}.gridform{grid-template-columns:1fr}.gridform .full{grid-column:auto}.subscriptionWarning{align-items:flex-start;padding:14px;gap:10px}.subscriptionWarningIcon{flex-basis:32px;height:32px}.subscriptionMeta{display:none}.subscriptionWarningText p{font-size:12px}.tablewrap{-webkit-overflow-scrolling:touch}.modal{padding:10px}.modalbox,.modalbox.wide{width:100%;max-height:92dvh;border-radius:16px;padding:22px 17px}.x{right:10px;top:8px}.btn{min-height:40px}.pagehead>.btn{width:100%}
}
@media(max-width:520px){.workspace{padding:12px}.stats{grid-template-columns:1fr 1fr}.stats article{padding:13px}.stats strong{font-size:21px}th,td{padding:11px 12px}.details{grid-template-columns:1fr}.login-card{width:calc(100% - 24px);padding:28px 20px;margin:5vh auto}.subscriptionWarning{margin-bottom:14px}}


/* ===== Stable responsive portal shell (mobilefix2) ===== */
@media (min-width:901px){
  .mobilebar{display:none!important}
  .drawerOverlay{display:none!important}
  .drawerClose{display:none!important}
  .drawerUser{display:none!important}
  .side{transform:none!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;box-shadow:none!important}
}

.subscriptionWarning{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid #f0c96f;
  border-radius:14px;
  background:#fff8e7;
  color:#684400;
  box-shadow:0 5px 18px rgba(122,82,0,.05);
}
.subscriptionWarningIcon{
  width:40px;height:40px;border-radius:12px;
  display:grid!important;place-items:center;
  background:#ffedb7;color:#835900;font-size:20px;font-weight:900;
}
.subscriptionWarningText{min-width:0}
.subscriptionWarningText strong{display:block;font-size:15px;line-height:1.35;color:#4f3400;margin:1px 0 5px}
.subscriptionWarningText p{margin:0!important;font-size:13px;line-height:1.55;color:#72551a}
.subscriptionMeta{text-align:right;white-space:nowrap;padding-top:1px}
.subscriptionMeta span{display:inline-flex!important;align-items:center;padding:5px 9px;border-radius:999px;background:#ffe7a5;color:#674600;font-size:11px;font-weight:800}
.subscriptionMeta small{display:block;margin-top:6px;color:#806526;font-size:11px}

@media (max-width:900px){
  body.drawer-open{overflow:hidden!important}
  .app{display:block!important;min-height:100vh}
  .main{width:100%;min-width:0}

  .mobilebar{
    display:flex!important;position:sticky;top:0;z-index:50;
    height:60px;padding:0 12px;gap:10px;align-items:center;
    background:#fff;border-bottom:1px solid #e5e7ed;
    box-shadow:0 1px 8px rgba(17,24,42,.04)
  }
  .mobilebar>div{flex:1;min-width:0}
  .mobilebar b,.mobilebar small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobilebar b{font-size:14px;color:#1d2433}
  .mobilebar small{margin:2px 0 0;font-size:10px;color:#7b8392}
  .menuBtn,.mobileLogout{border:0;background:#f1f3f7;color:#202738;border-radius:10px;height:40px}
  .menuBtn{flex:0 0 42px;width:42px;padding:0;font-size:20px;line-height:1}
  .mobileLogout{flex:0 0 auto;padding:0 12px;font-size:12px;font-weight:750}

  .side{
    display:flex!important;flex-direction:column!important;
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:80!important;
    width:min(86vw,310px)!important;height:100dvh!important;min-height:0!important;
    padding:16px 13px!important;background:#11182a!important;
    transform:translateX(-105%)!important;transition:transform .22s ease!important;
    box-shadow:18px 0 50px rgba(0,0,0,.28)!important;overflow-y:auto!important;
  }
  .side.open{transform:translateX(0)!important}
  .drawerOverlay{display:block!important;position:fixed;inset:0;z-index:75;background:rgba(9,15,28,.56);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .drawerOverlay.open{opacity:1;visibility:visible;pointer-events:auto}
  .drawerClose{display:grid!important;place-items:center;position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1}
  .side .clientbrand{margin:4px 43px 18px 0!important;padding:6px!important}
  .side nav{display:flex!important;flex-direction:column!important;gap:4px!important;overflow:visible!important;width:100%}
  .side nav button{display:block!important;width:100%!important;white-space:normal!important;text-align:left!important;padding:12px 13px!important}
  .back{display:block!important;margin-top:auto}
  .drawerUser{display:block!important;border-top:1px solid rgba(255,255,255,.09);margin-top:16px;padding:14px 7px 2px;color:#fff}
  .drawerUser b,.drawerUser small{display:block}
  .drawerUser small{color:#929caf;word-break:break-all;font-size:11px}
  .drawerLogout{width:100%;margin-top:10px;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.12)!important;color:#f1f4fb!important}

  .workspaceTop{display:none!important}
  .workspace{padding:14px!important;width:100%;max-width:none}
  .pagehead{gap:12px;margin-bottom:16px}
  .pagehead h1{font-size:25px;line-height:1.15;margin-top:3px}
  .pagehead p{font-size:13px;line-height:1.5}
  .pagehead .btn{width:100%}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .stats article{padding:14px;min-width:0}
  .stats strong{font-size:23px}
  .cols{grid-template-columns:minmax(0,1fr)!important}
  .card{max-width:100%;border-radius:13px}
  .cardhead{padding:13px 14px}
  .formcard{padding:15px}
  .gridform{grid-template-columns:minmax(0,1fr)!important;gap:0}
  .gridform .full{grid-column:auto!important}
  .tablewrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:650px}

  .subscriptionWarning{grid-template-columns:38px minmax(0,1fr)!important;gap:10px;padding:13px 14px;margin-bottom:17px}
  .subscriptionWarningIcon{width:36px;height:36px;border-radius:10px;font-size:18px}
  .subscriptionWarningText strong{font-size:14px}
  .subscriptionWarningText p{font-size:12.5px;line-height:1.5}
  .subscriptionMeta{grid-column:2;text-align:left;white-space:normal;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0}
  .subscriptionMeta small{margin:0}
}

@media (max-width:480px){
  .workspace{padding:11px!important}
  .stats{grid-template-columns:1fr 1fr!important}
  .stats article{padding:12px}
  .stats strong{font-size:21px}
  .subscriptionWarning{grid-template-columns:34px minmax(0,1fr)!important;padding:12px;gap:9px}
  .subscriptionWarningIcon{width:32px;height:32px;font-size:16px}
  .mobileLogout{display:none}
}
