:root { color-scheme:light; }
body.lss-portal-page { margin:0; color:#171717; background:#f3f2ee; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.lss-portal-page * { box-sizing:border-box; }
.lss-portal-page a { color:inherit; }
.lss-portal-shell { min-height:100vh; }
.lss-portal-header { position:sticky; z-index:20; top:0; display:grid; grid-template-columns:auto 1fr auto; min-height:76px; align-items:center; gap:2rem; padding:0 32px; border-bottom:1px solid #dedbd3; background:rgba(255,255,255,.96); box-shadow:0 7px 28px rgba(17,17,17,.05); backdrop-filter:blur(12px); }
.lss-portal-brand { display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.lss-portal-brand > span,.lss-portal-login__brand > span { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#111; background:#f29c00; font-weight:950; }
.lss-portal-brand strong,.lss-portal-brand small,.lss-portal-login__brand strong,.lss-portal-login__brand small { display:block; }
.lss-portal-brand strong { font-size:.95rem; }
.lss-portal-brand small,.lss-portal-login__brand small { margin-top:1px; color:#76726a; font-size:.68rem; font-weight:750; }
.lss-portal-header nav { display:flex; justify-content:center; gap:.35rem; }
.lss-portal-header nav a { padding:.65rem .9rem; border-radius:999px; color:#555149; font-size:.78rem; font-weight:850; text-decoration:none; }
.lss-portal-header nav a:hover,.lss-portal-header nav a.is-active { color:#111; background:#fff0d1; }
.lss-portal-user { display:flex; align-items:center; gap:.55rem; }
.lss-portal-user > span,.lss-portal-manager-head > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:#fff; background:#111; font-size:.8rem; font-weight:900; }
.lss-portal-user strong,.lss-portal-user a { display:block; }
.lss-portal-user strong { max-width:160px; overflow:hidden; font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.lss-portal-user a { margin-top:2px; color:#936000; font-size:.68rem; font-weight:800; }
.lss-portal-main { width:min(1440px,calc(100% - 40px)); margin:0 auto; padding:38px 0 60px; }
.lss-portal-titlebar { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:24px; }
.lss-portal-titlebar p,.lss-portal-card__head p { margin:0 0 .25rem; color:#9c6500; font-size:.67rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.lss-portal-titlebar h1 { margin:0; color:#111; font-size:clamp(1.9rem,4vw,3rem); letter-spacing:-.045em; }
.lss-portal-titlebar form label { display:block; color:#716d65; font-size:.68rem; font-weight:850; text-transform:uppercase; }
.lss-portal-titlebar form span { display:block; margin-bottom:.35rem; }
.lss-portal-titlebar select,.lss-portal-filters input,.lss-portal-filters select,.lss-portal-user-form input { min-height:46px; padding:.65rem .8rem; border:1px solid #cbc7be; border-radius:12px; color:#171717; background:#fff; font:inherit; }
.lss-portal-titlebar select { min-width:280px; }
.lss-portal-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.lss-portal-metrics article { min-width:0; padding:20px; border:1px solid #e1ded7; border-radius:20px; background:#fff; box-shadow:0 10px 32px rgba(17,17,17,.045); }
.lss-portal-metrics article:first-child { color:#fff; border-color:#111; background:#111; }
.lss-portal-metrics span,.lss-portal-metrics strong,.lss-portal-metrics small { display:block; }
.lss-portal-metrics span { color:#777269; font-size:.7rem; font-weight:800; }
.lss-portal-metrics article:first-child span,.lss-portal-metrics article:first-child small { color:rgba(255,255,255,.6); }
.lss-portal-metrics strong { overflow:hidden; margin:.45rem 0 .25rem; color:#111; font-size:clamp(1.45rem,3vw,2.2rem); letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }
.lss-portal-metrics article:first-child strong { color:#f29c00; }
.lss-portal-metrics small { color:#88837a; font-size:.68rem; }
.lss-portal-card { overflow:hidden; border:1px solid #e0ddd5; border-radius:22px; background:#fff; box-shadow:0 12px 38px rgba(17,17,17,.05); }
.lss-portal-card__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:20px 22px; border-bottom:1px solid #e7e4dd; }
.lss-portal-card__head h2 { margin:0; font-size:1.2rem; letter-spacing:-.025em; }
.lss-portal-card__head > a { padding:.55rem .8rem; border-radius:999px; color:#111; background:#f29c00; font-size:.72rem; font-weight:900; text-decoration:none; }
.lss-portal-filters { display:grid; grid-template-columns:minmax(220px,1fr) 230px auto; gap:.65rem; padding:16px 22px; background:#faf9f6; }
.lss-portal-filters button,.lss-portal-button { min-height:44px; padding:.65rem 1rem; border:0; border-radius:999px; color:#111; background:#f29c00; font:inherit; font-size:.76rem; font-weight:900; cursor:pointer; text-decoration:none; }
.lss-portal-table-wrap { width:100%; overflow-x:auto; }
.lss-portal-table { width:100%; border-collapse:collapse; text-align:left; }
.lss-portal-table th { padding:12px 16px; color:#78736b; background:#faf9f6; font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.lss-portal-table td { min-width:110px; padding:15px 16px; border-top:1px solid #ece9e3; vertical-align:top; font-size:.78rem; }
.lss-portal-table td:first-child { min-width:230px; }
.lss-portal-table td:nth-child(3) { min-width:230px; }
.lss-portal-table td > strong,.lss-portal-table td > small { display:block; }
.lss-portal-table td > small { margin-top:.22rem; color:#777269; font-size:.66rem; }
.lss-portal-table td a { color:#795000; font-weight:750; }
.lss-portal-table code { padding:.25rem .4rem; border-radius:6px; color:#4e4941; background:#f0eee9; font-size:.68rem; }
.lss-portal-numbers { display:flex; max-width:420px; max-height:170px; overflow:auto; flex-wrap:wrap; gap:.3rem; padding-right:3px; }
.lss-portal-numbers span { padding:.28rem .45rem; border:1px solid #e5b85d; border-radius:999px; color:#111; background:#fff4dd; font-size:.66rem; font-weight:900; font-variant-numeric:tabular-nums; }
.lss-portal-status { display:inline-flex; padding:.35rem .55rem; border-radius:999px; color:#5f4a1d; background:#fff0d1; font-size:.65rem; font-weight:900; white-space:nowrap; }
.lss-portal-status--paid { color:#17603b; background:#ddf5e8; }
.lss-portal-status--cancelled,.lss-portal-status--refunded { color:#756f65; background:#eceae6; }
.lss-portal-status--payment_review { color:#922b35; background:#ffe4e6; }
.lss-portal-empty-cell { padding:40px!important; color:#777269; text-align:center; }
.lss-portal-more { display:block; padding:16px 22px; border-top:1px solid #e7e4dd; color:#795000; font-size:.74rem; font-weight:900; text-align:center; text-decoration:none; }
.lss-portal-pagination { display:flex; align-items:center; justify-content:center; gap:1rem; padding:16px; border-top:1px solid #e7e4dd; }
.lss-portal-pagination a,.lss-portal-pagination span { padding:.5rem .75rem; border-radius:999px; font-size:.72rem; font-weight:850; text-decoration:none; }
.lss-portal-pagination a { background:#fff0d1; }
.lss-portal-notice { margin-bottom:18px; padding:14px 17px; border:1px solid #9ed6b8; border-radius:14px; color:#175a38; background:#e9f8f0; font-size:.78rem; font-weight:800; }
.lss-portal-notice.is-error { color:#8d2932; border-color:#efb8bd; background:#fff0f1; }
.lss-portal-empty { padding:50px; border:1px solid #ddd9d1; border-radius:22px; background:#fff; text-align:center; }
.lss-portal-empty strong { font-size:1.25rem; }
.lss-portal-users-grid { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(460px,1.22fr); align-items:start; gap:18px; }
.lss-portal-user-form { display:grid; padding:22px; gap:15px; }
.lss-portal-user-form > label { display:grid; gap:.35rem; color:#4a4741; font-size:.74rem; font-weight:850; }
.lss-portal-user-form label small { color:#7f7a71; font-size:.66rem; font-weight:550; }
.lss-portal-user-form fieldset { padding:14px; border:1px solid #dfdcd4; border-radius:14px; }
.lss-portal-user-form legend { padding:0 .4rem; font-size:.73rem; font-weight:900; }
.lss-portal-check { display:flex!important; align-items:center; gap:.5rem; font-size:.72rem; font-weight:800; }
.lss-portal-check input { width:17px!important; min-height:17px!important; margin:0; accent-color:#f29c00; }
.lss-portal-campaign-checks { display:grid; max-height:180px; overflow:auto; margin-top:.7rem; padding:.7rem; gap:.5rem; border-radius:10px; background:#f7f5f0; }
.lss-portal-campaign-checks label { display:flex; align-items:center; gap:.45rem; font-size:.7rem; }
.lss-portal-user-list { display:grid; gap:1px; background:#e8e5de; }
.lss-portal-user-list > form { display:grid; padding:18px 20px; gap:.75rem; background:#fff; }
.lss-portal-manager-head { display:flex; align-items:center; gap:.65rem; }
.lss-portal-manager-head strong,.lss-portal-manager-head small { display:block; }
.lss-portal-manager-head small { color:#777269; font-size:.68rem; }
.lss-portal-user-list details { padding:.7rem; border:1px solid #dfdcd4; border-radius:12px; }
.lss-portal-user-list summary { cursor:pointer; font-size:.7rem; font-weight:850; }
.lss-portal-button--small { justify-self:start; min-height:38px; padding:.5rem .8rem; }
.lss-portal-login { width:min(430px,calc(100% - 32px)); margin:7vh auto; padding:32px; border:1px solid #dfdcd5; border-radius:26px; background:#fff; box-shadow:0 22px 70px rgba(17,17,17,.12); }
.lss-portal-login__brand { display:flex; align-items:center; gap:.7rem; margin-bottom:2rem; }
.lss-portal-login h1 { margin:0 0 .5rem; font-size:2rem; letter-spacing:-.045em; }
.lss-portal-login > p { margin:0 0 1.5rem; color:#716d65; line-height:1.55; }
.lss-portal-login form { display:grid; gap:.9rem; }
.lss-portal-login form p { margin:0; }
.lss-portal-login label { display:block; margin-bottom:.35rem; color:#4d4942; font-size:.74rem; font-weight:850; }
.lss-portal-login input[type="text"],.lss-portal-login input[type="password"] { width:100%; min-height:48px; padding:.7rem .8rem; border:1px solid #c9c5bc; border-radius:12px; font:inherit; }
.lss-portal-login input[type="submit"] { width:100%; min-height:48px; border:0; border-radius:999px; color:#111; background:#f29c00; font:inherit; font-weight:900; cursor:pointer; }
.lss-portal-remember label { display:flex!important; align-items:center; gap:.45rem; font-weight:650!important; }
.lss-portal-remember input { accent-color:#f29c00; }
.lss-portal-login-error { margin:0 0 1rem; padding:.75rem .85rem; border:1px solid #efb8bd; border-radius:12px; color:#8d2932; background:#fff0f1; font-size:.74rem; font-weight:800; }
.lss-login-help { display:block; margin-top:1rem; color:#795000!important; font-size:.73rem; font-weight:850; text-align:center; }
@media (max-width:980px) {
  .lss-portal-header { grid-template-columns:1fr auto; padding:0 18px; }
  .lss-portal-header nav { position:fixed; right:12px; bottom:12px; left:12px; z-index:30; overflow:auto; justify-content:flex-start; padding:8px; border:1px solid #ddd9d0; border-radius:18px; background:#fff; box-shadow:0 14px 40px rgba(17,17,17,.18); }
  .lss-portal-header nav a { flex:1 0 auto; text-align:center; }
  .lss-portal-main { padding-bottom:105px; }
  .lss-portal-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lss-portal-users-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .lss-portal-header { min-height:68px; }
  .lss-portal-brand small,.lss-portal-user strong { display:none; }
  .lss-portal-user > span { width:34px; height:34px; }
  .lss-portal-main { width:min(100% - 22px,1440px); padding-top:24px; }
  .lss-portal-titlebar { align-items:stretch; flex-direction:column; gap:1rem; }
  .lss-portal-titlebar select { width:100%; min-width:0; }
  .lss-portal-metrics { grid-template-columns:1fr 1fr; gap:9px; }
  .lss-portal-metrics article { padding:15px; border-radius:16px; }
  .lss-portal-metrics strong { font-size:1.35rem; }
  .lss-portal-filters { grid-template-columns:1fr; }
  .lss-portal-card { border-radius:17px; }
  .lss-portal-card__head { align-items:flex-start; flex-direction:column; }
  .lss-portal-login { margin:3vh auto; padding:24px; }
}
