/* FORGED PERFORMANCE — account and owner spreadsheet portal */
body.portal-open{overflow:hidden!important}
#merch-portal{position:fixed;inset:0;z-index:30000;display:none;justify-content:center;align-items:center;padding:12px;background:rgba(0,0,0,.89);color:#f4f4f5;font:14px Inter,Arial,sans-serif}
#merch-portal.open{display:flex}
#merch-portal *{box-sizing:border-box}
#merch-portal .portal-shell{width:min(1340px,100%);height:min(95dvh,950px);max-height:calc(100dvh - 20px);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid #9e2933;border-radius:14px;background:linear-gradient(145deg,#121214,#08090b 75%);box-shadow:0 24px 80px #000c}
#merch-portal .portal-top{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(12px,2.2vw,25px);border-bottom:1px solid #4c2026;background:#131013}
#merch-portal .portal-brand{font-size:clamp(18px,2.7vw,28px);font-weight:950;letter-spacing:.5px;color:#ddd}
#merch-portal .portal-brand em{color:#e83a4a;font-style:normal}
#merch-portal .portal-top small{color:#999;letter-spacing:1.3px;font-size:10px}
#merch-portal button{background:#b52533;border:1px solid #b52533;color:#fff;padding:8px 12px;border-radius:6px;font-weight:800;font-size:12px;white-space:nowrap}
#merch-portal button:hover{filter:brightness(1.18)}
#merch-portal button.ghost,#merch-portal .portal-nav button,#merch-portal .portal-upload{border:1px solid #4d4548;background:#1f1f22;color:#ddd}
#merch-portal .portal-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:9px clamp(10px,2vw,22px);border-bottom:1px solid #25252a}
#merch-portal .portal-nav button.selected{background:#a42230;color:#fff;border-color:#d43c4c}
#merch-portal #merch-portal-status{min-height:0;color:#9ed6b2;font-size:12px;padding:0 15px}
#merch-portal #merch-portal-status:not(:empty){padding:8px 15px;border-bottom:1px solid #334b39}
#merch-portal #merch-portal-status.bad{color:#ff9ca8;border-color:#773239}
#merch-portal #merch-portal-main{flex:1;min-height:0;overflow:auto;padding:clamp(12px,2vw,22px);scrollbar-color:#4e282d #101014}
#merch-portal .portal-close{font-size:28px;padding:0 12px;background:transparent;border:1px solid #555}
#merch-portal h2{margin:0 0 15px;font-weight:950;font-size:20px;letter-spacing:.3px;color:#f4f4f4}
#merch-portal p{line-height:1.5;color:#bbb}
#merch-portal .portal-hint{font-size:12px;color:#96969a}
#merch-portal .portal-auth{max-width:470px;margin:16px auto}
#merch-portal form{display:grid;gap:10px}
#merch-portal label{display:grid;gap:4px;font-size:12px;color:#bcbcbc;font-weight:700}
#merch-portal input:not([type=checkbox]):not([type=file]),#merch-portal select,#merch-portal textarea{width:100%;padding:9px;color:#f6f6f6;border:1px solid #46464a;border-radius:5px;background:#1b1b1d;font:inherit;min-width:0}
#merch-portal input:focus,#merch-portal select:focus{outline:2px solid #ce3344;outline-offset:0}
#merch-portal input:disabled{opacity:.65}
#merch-portal .portal-check{display:flex;align-items:center;gap:8px}
#merch-portal .portal-actions,#merch-portal .portal-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#merch-portal .portal-tools{margin:0 0 12px}
#merch-portal .portal-tools>input{width:min(300px,100%)}
#merch-portal .portal-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;padding:8px 12px;font-size:12px}
#merch-portal .portal-upload input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}
#merch-portal .text-link{background:none;border:none;padding:5px 3px;font-size:12px;color:#ef6470;text-decoration:underline;white-space:normal}
#merch-portal .portal-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
#merch-portal .portal-card{background:#171719;border:1px solid #37373a;border-radius:9px;padding:16px;min-width:0}
#merch-portal .portal-detail{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #38383b;padding:9px 0}
#merch-portal .portal-detail span{color:#aaa}
#merch-portal .portal-detail strong{overflow-wrap:anywhere;text-align:right}
#merch-portal .portal-2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#merch-portal .portal-address{border-bottom:1px solid #38383d;padding:10px 0}
#merch-portal .portal-address:last-child{border:0}
#merch-portal .portal-product-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}
#merch-portal .portal-product-tile{display:flex;flex-direction:column;gap:8px;border:1px solid #414145;padding:10px;border-radius:6px}
#merch-portal .portal-product-tile img{width:100%;height:115px;object-fit:contain}
#merch-portal .portal-product-tile strong{font-size:12px}
#merch-portal .portal-product-tile small{color:#aaa}
#merch-portal .portal-admin-head{margin-bottom:14px}
#merch-portal .portal-admin-head h2{margin:0}
#merch-portal .portal-admin-head p{margin:5px 0 0}
#merch-portal .portal-admin-head .portal-nav{padding:9px 0}
#merch-portal .portal-sheet-wrap{width:100%;max-width:100%;overflow:auto;max-height:min(56dvh,620px);border:1px solid #3d3236;border-radius:8px;scrollbar-color:#64404a #101014}
#merch-portal .portal-sheet{min-width:880px;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
#merch-portal .portal-sheet th{position:sticky;top:0;z-index:1;background:#52141d;color:#fff;padding:9px 7px;white-space:nowrap;border-right:1px solid #77333a}
#merch-portal .portal-sheet td{padding:7px 5px;border-right:1px solid #323238;border-bottom:1px solid #323238;text-align:center;vertical-align:middle}
#merch-portal .portal-sheet tr:nth-child(odd){background:#141417}
#merch-portal .portal-sheet tr:nth-child(even){background:#1c1c20}
#merch-portal .portal-sheet tr.dirty{background:#38271e}
#merch-portal .portal-sheet tr[hidden]{display:none}
#merch-portal .portal-sheet input:not([type=checkbox]),#merch-portal .portal-sheet select{width:100%;min-width:88px;padding:5px;font-size:12px}
#merch-portal .portal-sheet td:nth-child(4) input{min-width:200px}
#merch-portal .portal-sheet td:nth-child(6) input{min-width:125px}
#merch-portal .portal-sheet button{padding:5px 7px;font-size:11px;margin:2px}
#merch-portal .sheet-thumb{display:block;width:64px;height:52px;object-fit:contain}
#merch-portal .hidden-upload{display:none}
#merch-portal .portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
#merch-portal .portal-stats div{background:#19191d;border:1px solid #4b2932;border-radius:7px;padding:14px}
#merch-portal .portal-stats small{display:block;color:#aaa}
#merch-portal .portal-stats strong{display:block;margin-top:5px;font-size:26px}
.merch-wish-btn{width:100%;background:#242026;border:1px solid #7d343e;border-radius:6px;padding:9px;color:#f5d5d8;font-weight:800}
.merch-price{font-weight:800!important;color:#f46e78!important}
@media(max-width:700px){
#merch-portal{padding:0}
#merch-portal .portal-shell{height:100dvh;max-height:100dvh;border-radius:0;border:0}
#merch-portal .portal-top{padding:10px}
#merch-portal .portal-top small{font-size:8px}
#merch-portal .portal-nav{flex-wrap:nowrap;overflow-x:auto;padding:8px}
#merch-portal .portal-nav button{font-size:11px}
#merch-portal #merch-portal-main{padding:10px}
#merch-portal .portal-cols{grid-template-columns:1fr}
#merch-portal .portal-2{grid-template-columns:1fr 1fr}
#merch-portal .portal-sheet-wrap{max-height:64dvh}
#merch-portal .portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Exact .app-inspired login screen: same fields, flow, dark background and branded actions */
#merch-portal.app-login-mode{background:rgba(0,0,0,.95)}
#merch-portal.app-login-mode .portal-shell{background:#000;border-color:#292929;max-width:840px;max-height:calc(100dvh - 16px);height:min(100dvh - 16px,970px);box-shadow:0 0 55px #000;border-radius:9px}
#merch-portal.app-login-mode .portal-top,#merch-portal.app-login-mode #merch-portal-nav{display:none!important}
#merch-portal.app-login-mode #merch-portal-main{padding:0!important;overflow:auto!important;display:block}
#merch-portal.app-login-mode #merch-portal-status{background:#000;text-align:center;padding:0 16px;color:#a2d7ae;font-size:12px}
#merch-portal.app-login-mode #merch-portal-status:not(:empty){padding:9px 14px}
#merch-portal.app-login-mode #merch-portal-status.bad{color:#ff9a9c;border-color:#5d242b}
#merch-portal .app-login-view{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;background:#000;padding:clamp(12px,2.2vw,24px) 28px 34px}
#merch-portal .app-login-header{position:relative;width:min(656px,100%);display:flex;align-items:center;justify-content:center;margin:5px auto 0}
#merch-portal .app-login-logo{width:100%;height:clamp(190px,31dvh,341px);object-fit:contain;object-position:center}
#merch-portal .app-login-close{position:fixed;right:clamp(14px,calc(50vw - 390px),999px);top:clamp(12px,4dvh,45px);z-index:3;display:flex;align-items:center;justify-content:center;border:1px solid #555!important;border-radius:9px;background:#171717!important;color:white;font-size:29px!important;padding:0!important;width:43px;height:43px}
#merch-portal .app-login-form{display:flex!important;flex-direction:column;gap:0!important;width:min(500px,100%);margin:0 auto}
#merch-portal .app-login-form h2{font-size:25px;text-align:center;font-weight:900;color:#fff;letter-spacing:.5px;margin:4px 0 6px}
#merch-portal .app-login-form .app-login-subtitle{font-size:12px;text-align:center;color:#999;margin:5px 0 18px}
#merch-portal .app-login-form>label{display:block;color:white;font-size:12px;font-weight:900;letter-spacing:2px;margin:18px 0 8px}
#merch-portal .app-login-form>input{box-sizing:border-box;width:100%;background:#151515!important;color:#fff!important;border:1px solid #333!important;border-radius:8px!important;padding:16px!important;font-size:16px!important;min-height:52px!important;outline-offset:1px}
#merch-portal .app-login-form input::placeholder{color:#777}
#merch-portal .app-password-box{background:#151515;border:1px solid #333;border-radius:8px;display:flex;align-items:center;width:100%;min-height:52px;overflow:hidden}
#merch-portal .app-password-box input{flex:1!important;width:0!important;min-width:0!important;background:transparent!important;color:#fff!important;border:0!important;outline:0!important;padding:16px!important;font-size:16px!important}
#merch-portal .app-login-eye{display:flex;position:relative;align-items:center;justify-content:center;width:54px;height:52px;flex-shrink:0;background:transparent!important;border:0!important;color:#aaa!important;border-radius:0!important;padding:0!important;font-size:22px!important}
#merch-portal .app-eye-shape{font-size:22px;line-height:1}
#merch-portal .app-eye-slash{display:block;position:absolute;width:27px;height:2px;transform:rotate(-45deg);background:#aaa}
#merch-portal .app-eye-slash[hidden]{display:none!important}
#merch-portal .app-login-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 0}
#merch-portal .app-login-remember{display:flex;align-items:center;gap:9px;color:#aaa;font-size:10px;font-weight:900;letter-spacing:1px;white-space:nowrap}
#merch-portal .app-login-remember input[type=checkbox]{width:19px;height:19px;accent-color:#ed1c24}
#merch-portal .app-login-forgot{border:0!important;background:transparent!important;color:#ed1c24!important;letter-spacing:1px;font-size:10px!important;font-weight:900;padding:11px 0!important}
#merch-portal .app-login-primary{width:100%;background:#ed1c24!important;color:#fff!important;border:1px solid #ed1c24!important;border-radius:8px!important;font-size:13px!important;font-weight:900;letter-spacing:1px;min-height:53px;padding:16px!important;margin:17px 0 0}
#merch-portal .app-login-secondary{width:100%;background:#000!important;color:#ed1c24!important;border:1px solid #ed1c24!important;border-radius:8px!important;font-size:13px!important;font-weight:900;letter-spacing:1px;min-height:53px;padding:16px!important;margin:12px 0 0}
#merch-portal .app-login-footer{text-align:center;letter-spacing:2px;font-size:12px;font-weight:900;margin-top:clamp(20px,3.5dvh,50px)}
#merch-portal .app-login-footer div:first-child{color:#fff}
#merch-portal .app-login-footer div:last-child{color:#ed1c24;margin-top:4px}
#merch-portal .app-login-confirm{border:1px solid #333;border-radius:10px;padding:20px;background:#151515}
#merch-portal .app-login-confirm p{text-align:center;color:#bbb;font-size:13px;line-height:1.6}
@media(max-width:700px){
#merch-portal.app-login-mode{padding:0}
#merch-portal.app-login-mode .portal-shell{width:100vw;height:100dvh;max-height:100dvh;border:none;border-radius:0}
#merch-portal .app-login-view{justify-content:flex-start;min-height:100%;padding:4px 28px 22px}
#merch-portal .app-login-header{width:100%;margin:0 auto}
#merch-portal .app-login-logo{height:clamp(135px,29dvh,265px);max-width:656px}
#merch-portal .app-login-close{position:fixed;right:12px;top:calc(env(safe-area-inset-top,0px) + 10px);width:36px;height:36px;font-size:25px!important}
#merch-portal .app-login-form{max-width:500px}
#merch-portal .app-login-footer{margin-top:clamp(17px,3dvh,50px)}
#merch-portal .app-login-form>label{margin-top:18px;margin-bottom:8px}
#merch-portal .app-login-form>input,#merch-portal .app-password-box{min-height:52px}
}
@media(max-height:690px) and (max-width:700px){
#merch-portal .app-login-logo{height:clamp(95px,19dvh,145px)}
#merch-portal .app-login-form>label{margin-top:12px}
#merch-portal .app-login-primary,#merch-portal .app-login-secondary{min-height:46px;padding:10px!important}
#merch-portal .app-login-footer{margin-top:14px}
}

/* Future SMS options remain separate from email marketing */
#merch-portal .merch-sms-preferences{margin-top:8px;padding:12px;border:1px solid #473039;background:#181315;border-radius:8px}
#merch-portal .merch-sms-preferences h3{margin:0 0 6px;font-size:14px;color:#f0f0f0;letter-spacing:.6px}
#merch-portal .merch-sms-preferences .portal-check{display:flex;flex-direction:row;gap:9px;align-items:flex-start;line-height:1.4;margin:12px 0;color:#e0e0e0;cursor:pointer}
#merch-portal .merch-sms-preferences .portal-check input{flex:0 0 18px;width:18px;height:18px;accent-color:#d12d40;margin:1px 0 0}
#merch-portal .merch-sms-preferences .portal-hint{font-size:11px;line-height:1.45;margin:6px 0}

/* Collapse SMS explainer to a compact status after the profile is saved. */
#merch-portal details.merch-sms-preferences:not([open]){padding:0}
#merch-portal .merch-sms-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:12px}
#merch-portal .merch-sms-summary::-webkit-details-marker{display:none}
#merch-portal .merch-sms-summary strong{display:block;font-size:14px;letter-spacing:.3px;color:#f0f0f0}
#merch-portal .merch-sms-summary small{display:block;margin-top:4px;color:#aaa;font-size:11px;font-weight:500;line-height:1.45}
#merch-portal .merch-sms-summary .merch-sms-manage{font-size:11px;color:#f15b6b;font-weight:800;white-space:nowrap}
#merch-portal details.merch-sms-preferences[open] .merch-sms-summary{padding:0 0 10px;border-bottom:1px solid #473039;margin-bottom:12px}

/* Desktop account login: keep the complete form/logo inside one viewport.
   The prior 31dvh logo and full-height modal caused content to overflow. */
@media (min-width:701px){
  #merch-portal.app-login-mode{padding:12px}
  #merch-portal.app-login-mode .portal-shell{
    width:min(720px,calc(100vw - 24px));
    height:min(720px,calc(100dvh - 24px));
    max-height:calc(100dvh - 24px);
    border-radius:10px;
  }
  #merch-portal.app-login-mode #merch-portal-main{
    min-height:0;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  #merch-portal .app-login-view{
    min-height:100%;
    justify-content:flex-start;
    padding:12px 24px 18px;
  }
  #merch-portal .app-login-header{
    width:100%;
    max-width:610px;
    margin:0 auto 2px;
  }
  #merch-portal .app-login-logo{
    height:clamp(115px,19dvh,165px);
    max-width:100%;
    object-fit:contain;
  }
  #merch-portal .app-login-close{
    position:absolute;
    right:0;
    top:0;
    width:37px;
    height:37px;
    font-size:24px!important;
  }
  #merch-portal .app-login-form{width:min(440px,100%)}
  #merch-portal .app-login-form>label{
    margin:10px 0 6px;
    font-size:11px;
    letter-spacing:1.5px;
  }
  #merch-portal .app-login-form>input{
    min-height:43px!important;
    padding:11px 13px!important;
    font-size:14px!important;
  }
  #merch-portal .app-password-box{min-height:43px}
  #merch-portal .app-password-box input{
    padding:10px 13px!important;
    font-size:14px!important;
  }
  #merch-portal .app-login-eye{width:45px;height:42px}
  #merch-portal .app-login-controls{margin-top:9px}
  #merch-portal .app-login-primary,
  #merch-portal .app-login-secondary{
    min-height:44px;
    padding:11px!important;
    font-size:12px!important;
  }
  #merch-portal .app-login-primary{margin-top:10px}
  #merch-portal .app-login-secondary{margin-top:8px}
  #merch-portal .app-login-footer{margin-top:14px;font-size:11px}
  #merch-portal .app-login-form h2{font-size:20px;margin:2px 0 4px}
  #merch-portal .app-login-form .app-login-subtitle{margin:3px 0 6px}
}
@media (min-width:701px) and (max-height:640px){
  #merch-portal .app-login-logo{height:96px}
  #merch-portal .app-login-view{padding:6px 18px 12px}
  #merch-portal .app-login-form>label{margin-top:7px;margin-bottom:4px}
  #merch-portal .app-login-footer{margin-top:8px}
}


/* 2026-10-31: Fit the signed-in desktop account portal to one viewport.
   The layout uses compact spacing rather than transform:scale, so field clicks,
   table headers and keyboard focus stay aligned. Mobile is unchanged. */
@media (min-width:901px) {
  #merch-portal:not(.app-login-mode) {
    padding:clamp(6px,1.1dvh,11px);
    font-size:12px;
  }
  #merch-portal:not(.app-login-mode) .portal-shell {
    width:min(1420px,100%);
    height:calc(100dvh - clamp(12px,2.2dvh,22px));
    max-height:calc(100dvh - clamp(12px,2.2dvh,22px));
    min-height:0;
    border-radius:10px;
  }
  #merch-portal:not(.app-login-mode) .portal-top {
    padding:7px clamp(10px,1.4vw,18px);
    min-height:0;
    flex-shrink:0;
  }
  #merch-portal:not(.app-login-mode) .portal-brand{
    font-size:clamp(17px,1.7vw,24px);
    line-height:1.08;
    letter-spacing:.2px;
  }
  #merch-portal:not(.app-login-mode) .portal-top small {
    font-size:9px;
    line-height:1.1;
  }
  #merch-portal:not(.app-login-mode) .portal-close {
    font-size:22px;
    line-height:1;
    padding:4px 10px;
  }
  #merch-portal:not(.app-login-mode) #merch-portal-nav {
    flex-shrink:0;
  }
  #merch-portal:not(.app-login-mode) .portal-nav {
    padding:5px 12px;
    gap:5px;
  }
  #merch-portal:not(.app-login-mode) button {
    font-size:11px;
    line-height:1.2;
    padding:6px 10px;
  }
  #merch-portal:not(.app-login-mode) #merch-portal-main{
    flex:1;
    min-height:0;
    overflow:hidden;
    padding:9px clamp(9px,1vw,14px);
  }
  #merch-portal:not(.app-login-mode) .portal-cols{
    height:100%;
    min-height:0;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px;
  }
  #merch-portal:not(.app-login-mode) .portal-card {
    min-height:0;
    min-width:0;
    overflow:auto;
    padding:10px clamp(10px,1.1vw,15px);
    border-radius:8px;
  }
  #merch-portal:not(.app-login-mode) h2 {
    font-size:clamp(15px,1.4vw,19px);
    line-height:1.15;
    margin:0 0 9px;
  }
  #merch-portal:not(.app-login-mode) h3 {
    font-size:13px;
    line-height:1.2;
    margin:8px 0 5px;
  }
  #merch-portal:not(.app-login-mode) form{
    gap:5px;
  }
  #merch-portal:not(.app-login-mode) label {
    gap:2px;
    font-size:11px;
    line-height:1.2;
  }
  #merch-portal:not(.app-login-mode) input:not([type=checkbox]):not([type=file]),
  #merch-portal:not(.app-login-mode) select,
  #merch-portal:not(.app-login-mode) textarea{
    min-height:31px;
    height:auto;
    padding:5px 9px;
    font-size:12px;
    line-height:1.3;
    border-radius:5px;
  }
  #merch-portal:not(.app-login-mode) .portal-2{
    gap:7px;
  }
  #merch-portal:not(.app-login-mode) .portal-check{
    display:flex;
    gap:6px;
    align-items:center;
    line-height:1.2;
    margin:2px 0;
  }
  #merch-portal:not(.app-login-mode) .portal-check input[type=checkbox]{
    width:15px;
    height:15px;
    flex:0 0 15px;
  }
  #merch-portal:not(.app-login-mode) .portal-address{
    padding:7px 0;
  }
  #merch-portal:not(.app-login-mode) p {
    line-height:1.3;
    margin:5px 0 8px;
  }
  #merch-portal:not(.app-login-mode) .portal-hint{
    font-size:11px;
    line-height:1.3;
  }
  #merch-portal:not(.app-login-mode) .portal-detail{
    padding:6px 0;
    gap:8px;
  }
  #merch-portal:not(.app-login-mode) .portal-tools{
    margin:0 0 6px;
    gap:6px;
  }
  #merch-portal:not(.app-login-mode) .portal-admin-head {
    margin-bottom:7px;
  }
  #merch-portal:not(.app-login-mode) .portal-admin-head h2 {
    margin:0;
  }
  #merch-portal:not(.app-login-mode) .portal-admin-head p{
    margin:3px 0;
  }
  #merch-portal:not(.app-login-mode) .portal-admin-head .portal-nav{
    padding:5px 0;
  }
  #merch-portal:not(.app-login-mode) .portal-stats{
    gap:7px;
    margin-bottom:8px;
  }
  #merch-portal:not(.app-login-mode) .portal-stats div{
    padding:9px;
  }
  #merch-portal:not(.app-login-mode) .portal-stats strong{
    font-size:20px;
    margin-top:2px;
  }
  /* Inventory and product tables are the only internal scrollers when there
     are more rows/columns than physically fit in a desktop viewport. */
  #merch-portal:not(.app-login-mode) #merch-portal-main:has(#merch-admin-panel) {
    display:flex;
    flex-direction:column;
  }
  #merch-portal:not(.app-login-mode) #merch-admin-panel {
    display:flex;
    flex:1;
    min-height:0;
    flex-direction:column;
  }
  #merch-portal:not(.app-login-mode) #merch-admin-panel .portal-sheet-wrap{
    flex:1;
    min-height:0;
    max-height:none;
  }
  #merch-portal:not(.app-login-mode) .portal-sheet th{
    padding:6px 5px;
    font-size:11px;
  }
  #merch-portal:not(.app-login-mode) .portal-sheet td{
    padding:4px;
  }
  #merch-portal:not(.app-login-mode) .portal-sheet input:not([type=checkbox]),
  #merch-portal:not(.app-login-mode) .portal-sheet select{
    min-height:27px;
    padding:3px 5px;
    font-size:11px;
  }
  #merch-portal:not(.app-login-mode) .merch-sms-preferences{
    padding:6px 8px;
    margin-top:4px;
  }
  #merch-portal:not(.app-login-mode) .merch-sms-summary{
    padding:6px;
  }
  #merch-portal:not(.app-login-mode) .merch-sms-preferences .portal-check{
    margin:5px 0;
  }
  #merch-portal:not(.app-login-mode) .portal-product-tiles{
    gap:7px;
  }
  #merch-portal:not(.app-login-mode) .portal-product-tile{
    padding:7px;
    gap:5px;
  }
}
@media (min-width:901px) and (max-height:690px) {
  #merch-portal:not(.app-login-mode) .portal-shell{
    height:calc(100dvh - 10px);
    max-height:calc(100dvh - 10px);
  }
  #merch-portal:not(.app-login-mode) .portal-top{
    padding:4px 10px;
  }
  #merch-portal:not(.app-login-mode) .portal-nav{
    padding:3px 10px;
  }
  #merch-portal:not(.app-login-mode) #merch-portal-main{
    padding:5px 8px;
  }
  #merch-portal:not(.app-login-mode) .portal-card{
    padding:7px 9px;
  }
  #merch-portal:not(.app-login-mode) form{
    gap:3px;
  }
  #merch-portal:not(.app-login-mode) input:not([type=checkbox]):not([type=file]),
  #merch-portal:not(.app-login-mode) select{
    min-height:27px;
    padding:3px 7px;
  }
}
