[hidden]{display:none!important}
:root{--green:#285c2a;--green2:#3b7b3d;--light:#eef7ea;--bg:#f3f6f1;--text:#172017;--muted:#667066;--card:#fff;--danger:#b42318;--shadow:0 22px 60px rgba(23,32,23,.14)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top left,rgba(47,125,50,.20),transparent 34%),linear-gradient(160deg,#f8fbf6,#e6f0e2);color:var(--text);min-height:100vh}.app-shell{max-width:1080px;margin:0 auto;padding:28px 16px}.card-box,.discount-card,.admin-panel{background:rgba(255,255,255,.94);border:1px solid rgba(40,92,42,.12);box-shadow:var(--shadow);border-radius:30px;padding:30px}.hero,.card-box:not(.compact){max-width:560px;margin:6vh auto}.hero{text-align:center;padding-top:36px;padding-bottom:36px}.card-box:not(.compact){position:relative;overflow:hidden}.card-box:not(.compact):before{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:999px;background:rgba(40,92,42,.08)}.brand-logo{width:210px;max-width:75%;margin:0 auto 18px;position:relative}.brand-logo img{width:100%;height:auto;display:block}.small-logo{width:170px}h1{margin:0 0 10px;font-size:clamp(28px,6vw,44px);line-height:1.05;letter-spacing:-.03em}h2{margin:0 0 16px}.muted,p{color:var(--muted);line-height:1.55}.btn{border:0;border-radius:16px;padding:14px 18px;font-weight:750;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;margin:6px 4px;font-size:15px;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 12px 24px rgba(40,92,42,.20)}.secondary{background:#e6efe3;color:var(--green)}.ghost{background:#fff;color:var(--green);border:1px solid #d7e5d3}.danger{background:#fee4e2;color:var(--danger)}.small{padding:9px 11px;border-radius:10px;font-size:13px}form{display:grid;gap:14px;position:relative}label{font-weight:750;color:#273427}input,select{width:100%;margin-top:6px;border:1px solid #d4dfd2;border-radius:16px;padding:14px 15px;font:inherit;background:white;outline:none}input:focus,select:focus{border-color:var(--green2);box-shadow:0 0 0 4px rgba(47,125,50,.13)}.alert{border-radius:16px;padding:14px 16px;margin:0 auto 16px;max-width:980px}.error{background:#fee4e2;color:#7a271a}.success{background:#dcfae6;color:#085d3a}.discount-card{max-width:560px;margin:4vh auto;background:linear-gradient(145deg,#ffffff,#edf6ea);overflow:hidden;position:relative}.discount-card:before{content:"";position:absolute;right:-80px;top:-90px;width:220px;height:220px;border-radius:999px;background:rgba(40,92,42,.11)}.top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-size:12px;font-weight:900}.discount-badge{min-width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900;box-shadow:0 12px 24px rgba(40,92,42,.25)}.client-name{font-size:27px;font-weight:850;margin-top:28px}.client-number{color:var(--muted);font-weight:650;margin:6px 0 22px}.barcode-wrap{background:#fff;border-radius:18px;padding:14px;border:1px solid #e5e7eb}.barcode{width:100%;height:auto}.status{display:inline-flex;margin-top:18px;border-radius:999px;padding:8px 14px;font-weight:800}.status.active{background:#dcfae6;color:#087443}.actions{text-align:center}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.compact{padding:20px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.admin-login-box{text-align:center}.table-wrap{overflow:auto;background:white;border-radius:18px;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:14px;border-bottom:1px solid #eef2ee;vertical-align:top}th{background:#f8faf7;color:#445044;font-size:13px;text-transform:uppercase;letter-spacing:.05em}td span{color:var(--muted)}code{background:#f4f4f5;padding:4px 7px;border-radius:8px}.inline-form{margin-top:10px;grid-template-columns:1.4fr .7fr .7fr auto;align-items:end}.modal{position:fixed;inset:0;background:rgba(0,0,0,.42);display:grid;place-items:center;padding:18px;z-index:50}.modal-card{background:white;border-radius:24px;max-width:420px;width:100%;padding:24px;box-shadow:var(--shadow);position:relative}.close{position:absolute;top:14px;right:14px;border:0;background:#eef2ee;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer}ol{line-height:1.8;padding-left:24px}.login-number-pill{background:#f1f8ee;border:1px solid #d7e5d3;color:var(--green);border-radius:16px;padding:13px 15px;font-weight:700;text-align:center}.wide-modal{max-width:560px;max-height:86vh;overflow:auto}.modal-card h3{margin:18px 0 6px;color:var(--green);font-size:16px}.modal-card ol{margin-top:4px}@media(max-width:720px){.app-shell{padding:18px 12px}.card-box,.discount-card,.admin-panel{border-radius:22px;padding:22px}.grid.two{grid-template-columns:1fr}.discount-badge{min-width:78px;height:78px;font-size:29px}.client-name{font-size:24px}.inline-form{grid-template-columns:1fr}.btn{width:100%;margin:6px 0}.brand-logo{width:190px}}

/* Login page refresh */
.login-card{max-width:560px;text-align:center;margin:5vh auto;padding-top:34px;padding-bottom:28px}
.login-card .brand-logo{margin-bottom:16px}
.login-card h1{margin-bottom:24px}
.main-login-form{max-width:360px;margin:0 auto 20px;text-align:left}
.main-login-form .btn{width:100%;margin:4px 0 0}
.install-panel{max-width:430px;margin:22px auto 0;padding:14px;border-radius:22px;background:#eef7ea;border:1px solid #d8e8d4;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left}
.install-panel-text{display:grid;gap:3px;color:var(--green)}
.install-panel-text span{font-size:13px;color:var(--muted)}
.install-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.install-actions .btn{margin:0;border-radius:14px;padding:11px 13px;font-size:14px}
.install-guide{display:grid;gap:14px;margin-top:10px}
.install-method{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:14px;border-radius:18px;background:#f7fbf5;border:1px solid #dcebd8}
.install-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#e6efe3;color:var(--green);font-size:24px;font-weight:900}
.install-method h3{margin:0 0 4px;color:var(--green);font-size:16px}
.install-method ol{margin:0;line-height:1.65;padding-left:18px}
@media(max-width:720px){.login-card{text-align:center;margin:2vh auto}.install-panel{display:grid;text-align:center}.install-actions{justify-content:center}.install-actions .btn{width:100%}.main-login-form{max-width:100%}.install-method{grid-template-columns:1fr;text-align:left}.install-icon{margin:0 auto}}

/* Separate install buttons */
.install-actions.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:220px}
.install-actions.two-buttons .direct-install{grid-column:1 / -1}
.install-help{white-space:nowrap}
.guide-title-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.guide-title-row h2{margin:0;font-size:26px}
.install-guide-section{display:grid;gap:12px}
.single-method{grid-template-columns:1fr}
.install-note{background:#f7fbf5;border:1px solid #dcebd8;border-radius:16px;padding:12px 14px;margin:0}
@media(max-width:720px){.install-actions.two-buttons{grid-template-columns:1fr;min-width:0}.install-actions.two-buttons .direct-install{grid-column:auto}.guide-title-row{justify-content:center;text-align:center}.guide-title-row h2{font-size:24px}}

/* Install block below card */
.login-stack{max-width:560px;margin:4vh auto 0}
.login-stack .login-card{margin:0 auto}
.install-card{max-width:500px;margin:16px auto 0;background:rgba(255,255,255,.9);border:1px solid rgba(40,92,42,.12);box-shadow:0 14px 36px rgba(23,32,23,.08);border-radius:22px;padding:18px 18px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.install-card-text{display:grid;gap:4px;text-align:left}
.install-card-text strong{color:var(--green);font-size:17px}
.install-card-text span{color:var(--muted);font-size:14px}
.install-card-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.install-card-actions .btn{margin:0;border-radius:14px;padding:12px 16px;min-width:120px}
.install-card-actions #installBtn{min-width:100%;justify-content:center}
.install-card-actions .secondary{background:#edf5ea;color:var(--green);border:1px solid #d7e5d3}
.install-card-actions .secondary:hover{background:#e7f0e3}
.install-modal .guide-title-row{margin-bottom:10px}
.install-modal .guide-title-row h2{font-size:24px}
.install-modal .install-method{padding:16px 16px 14px;border-radius:18px;background:#f7fbf5;border:1px solid #dcebd8}
.install-modal .install-method + .install-method{margin-top:12px}
.install-modal .install-icon{background:linear-gradient(135deg,#f0f7ed,#e0edde);border:1px solid #d6e4d2}
.install-modal .install-note{margin-top:12px}
@media(max-width:720px){.login-stack{margin:2vh auto 0}.install-card{display:grid;justify-items:stretch;text-align:center;padding:16px}.install-card-text{text-align:center}.install-card-actions{justify-content:center}.install-card-actions .btn{width:100%;min-width:0}}

/* Premium login refresh */
.premium-login-wrap{max-width:590px;margin:4vh auto 0}
.premium-login-card{position:relative;text-align:center;overflow:hidden;padding:38px 34px 30px;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(250,253,249,.94));border:1px solid rgba(40,92,42,.14);box-shadow:0 28px 80px rgba(23,32,23,.16)}
.premium-login-card:before{display:none}.premium-orb{position:absolute;border-radius:999px;pointer-events:none}.premium-orb-one{width:230px;height:230px;right:-105px;top:-105px;background:radial-gradient(circle,rgba(64,136,55,.16),rgba(64,136,55,.05) 55%,transparent 70%)}.premium-orb-two{width:160px;height:160px;left:-90px;bottom:-90px;background:radial-gradient(circle,rgba(64,136,55,.12),rgba(64,136,55,.04) 55%,transparent 72%)}.premium-logo{width:220px;margin-bottom:12px}.login-eyebrow{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 12px;padding:7px 12px;border-radius:999px;background:#edf6ea;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.premium-login-card h1{max-width:440px;margin:0 auto 14px;font-size:clamp(32px,6vw,48px);line-height:1.02}.discount-chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 24px}.discount-chips span{border:1px solid #d7e5d3;background:#f5faf3;color:#285c2a;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px}.premium-form{max-width:390px;margin:0 auto;text-align:left}.premium-form label{font-size:15px}.input-wrap{display:block;position:relative}.input-wrap:before{content:"☎";position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:1;color:#7a8a78;font-size:16px}.input-wrap input{padding-left:44px;border-radius:18px;border-color:#cdddcc;background:rgba(255,255,255,.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.premium-submit{width:100%;height:54px;margin:4px 0 0;border-radius:18px;font-size:16px}.login-mini-note{margin-top:15px;color:#687568;font-size:13px}.premium-install-card{max-width:520px;margin:16px auto 0;border-radius:24px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);box-shadow:0 16px 45px rgba(23,32,23,.09)}
@media(max-width:720px){.premium-login-wrap{margin:1.4vh auto 0}.premium-login-card{padding:30px 22px 24px;border-radius:28px}.premium-logo{width:205px}.premium-login-card h1{font-size:clamp(31px,9vw,42px)}.discount-chips{margin-bottom:20px}.premium-install-card{margin-top:14px}}


/* Final selected home login UI */
.login-ui-v3{max-width:920px;margin:4vh auto;display:grid;grid-template-columns:210px 1fr;background:rgba(255,255,255,.96);border:1px solid rgba(40,92,42,.10);border-radius:42px;box-shadow:0 24px 72px rgba(23,32,23,.12);overflow:hidden;min-height:760px}
.login-ui-sidebar{position:relative;background:linear-gradient(180deg,#21722d 0%,#278336 48%,#216f2d 100%);padding:28px 24px 24px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:18px;overflow:hidden}
.login-ui-sidebar:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px);background-size:14px 14px;opacity:.28;pointer-events:none}
.sidebar-dot-grid{display:none}
.sidebar-badge-circle,.sidebar-icon-circle,.percent-circle{position:relative;z-index:1;width:114px;height:114px;border-radius:999px;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;background:rgba(255,255,255,.03);backdrop-filter:blur(2px)}
.sidebar-badge-circle span{font-size:18px;line-height:1.2;text-align:center;font-weight:800;letter-spacing:.02em}
.sidebar-sep{position:relative;z-index:1;width:78px;height:18px}
.sidebar-sep:before{content:"";position:absolute;left:0;right:0;top:8px;height:1.5px;background:rgba(255,255,255,.40)}
.sidebar-sep:after{content:"";position:absolute;left:50%;top:4px;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.sidebar-feature{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px}
.sidebar-feature-label{font-size:15px;line-height:1.25;text-align:center;font-weight:800;letter-spacing:.01em}
.card-icon-circle{background:rgba(255,255,255,.05)}
.mini-card-icon{width:64px;height:44px;border-radius:12px;background:#fff;position:relative;box-shadow:0 8px 16px rgba(0,0,0,.12)}
.mini-card-chip{position:absolute;left:13px;top:15px;width:15px;height:11px;border-radius:3px;background:#3f8a42;box-shadow:0 0 0 1px rgba(40,92,42,.08) inset}
.mini-card-chip:before,.mini-card-chip:after{content:"";position:absolute;background:rgba(255,255,255,.55)}
.mini-card-chip:before{left:4px;top:0;bottom:0;width:1.5px}.mini-card-chip:after{left:9px;top:0;bottom:0;width:1.5px}
.mini-card-wave{position:absolute;right:11px;top:12px;width:16px;height:16px;border-right:2px solid #3f8a42;border-top:2px solid transparent;border-bottom:2px solid transparent;border-radius:50%}
.mini-card-wave:before,.mini-card-wave:after{content:"";position:absolute;border-right:2px solid #3f8a42;border-top:2px solid transparent;border-bottom:2px solid transparent;border-radius:50%}
.mini-card-wave:before{right:4px;top:2px;width:10px;height:10px}.mini-card-wave:after{right:8px;top:4px;width:4px;height:4px}
.sidebar-icon-circle svg{width:48px;height:48px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.percent-circle span{font-size:50px;font-weight:500;line-height:1}
.sidebar-arches{position:absolute;left:-6px;right:-6px;bottom:-8px;height:150px;pointer-events:none}
.sidebar-arches span{position:absolute;left:12px;bottom:0;border:2px solid rgba(153,225,85,.55);border-bottom:none;border-radius:120px 120px 0 0}
.sidebar-arches span:first-child{width:148px;height:82px}
.sidebar-arches span:last-child{left:34px;width:100px;height:58px;border-color:rgba(153,225,85,.38)}
.login-ui-main{padding:40px 54px 34px;background:linear-gradient(180deg,#ffffff 0%,#fcfcfb 100%);display:flex;flex-direction:column}
.ui-main-logo{width:195px;max-width:100%;margin:0 0 24px}
.login-ui-main h1{font-size:clamp(56px,6vw,74px);line-height:.98;letter-spacing:-.05em;margin:0 0 18px;max-width:520px;color:#122112}
.ui-main-subtitle{font-size:20px;line-height:1.5;margin:0 0 24px;color:#535d53;max-width:420px}
.ui-divider{height:2px;background:#dbe7d6;margin:4px 0 28px;max-width:470px}
.ui-login-form{max-width:470px;display:grid;gap:18px}
.ui-login-form label{font-size:18px;font-weight:800;color:#121a12}
.ui-login-form input{margin-top:12px;height:64px;border-radius:22px;padding:0 28px;font-size:20px;border:2px solid #cfe0cb;background:#fff;color:#2d352d}
.ui-login-form input::placeholder{color:#a1a7a1}
.ui-primary-btn{height:64px;border:0;border-radius:22px;background:linear-gradient(135deg,#228432,#2f7f2f);color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:18px;box-shadow:0 12px 24px rgba(40,92,42,.18);cursor:pointer}
.ui-primary-btn span{font-size:38px;line-height:1;margin-top:-3px;font-weight:400}
.ui-install-block{max-width:470px;display:grid;gap:18px;margin-top:4px}
.ui-install-block h2{margin:0;font-size:20px;color:#197236}
.ui-install-block p{margin:8px 0 0;font-size:16px;color:#596259}
.ui-install-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ui-install-btn{height:60px;border-radius:20px;border:1.5px solid #d5e3d1;background:#fff;color:#1b6d32;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.ui-install-buttons #installBtn{grid-column:1/-1}
.ui-install-btn span{display:inline-block}
@media(max-width:900px){.login-ui-v3{grid-template-columns:1fr;min-height:auto}.login-ui-sidebar{padding:24px 22px;display:grid;grid-template-columns:repeat(4,1fr);align-items:start;justify-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.18)}.sidebar-badge-circle,.sidebar-icon-circle,.percent-circle{width:86px;height:86px}.sidebar-badge-circle span{font-size:14px}.sidebar-feature-label{font-size:12px}.sidebar-sep{display:none}.sidebar-feature{gap:8px}.sidebar-arches{display:none}.login-ui-main{padding:28px 22px 24px}.ui-main-logo{margin-bottom:18px}.login-ui-main h1{font-size:clamp(42px,10vw,56px)}.ui-main-subtitle{font-size:18px}.ui-divider,.ui-login-form,.ui-install-block{max-width:none}}
@media(max-width:560px){.app-shell{padding:10px}.login-ui-v3{border-radius:28px;margin:1.5vh auto}.login-ui-sidebar{grid-template-columns:repeat(2,1fr);padding:18px 12px 12px}.login-ui-main h1{font-size:56px;max-width:320px}.ui-main-subtitle{font-size:17px}.ui-login-form label{font-size:16px}.ui-login-form input,.ui-primary-btn{height:58px;font-size:18px;border-radius:18px}.ui-install-buttons{grid-template-columns:1fr}.ui-install-btn{height:56px;border-radius:18px;font-size:17px}.ui-main-logo{width:180px}.ui-divider{margin:2px 0 22px}}


/* 1:1 style correction for selected mockup: keep vertical sidebar on mobile */
.login-ui-v3{
  width:min(920px, calc(100vw - 24px)) !important;
  max-width:920px !important;
  margin:4vh auto !important;
  display:grid !important;
  grid-template-columns:210px minmax(0,1fr) !important;
  background:#fff !important;
  border-radius:42px !important;
  overflow:hidden !important;
  min-height:760px !important;
  box-shadow:0 24px 74px rgba(23,32,23,.12) !important;
}

.login-ui-sidebar{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  padding:28px 24px 24px !important;
  background:linear-gradient(180deg,#19722d 0%,#208232 48%,#19702d 100%) !important;
  border-radius:42px 0 0 42px !important;
  color:#fff !important;
  overflow:hidden !important;
  border-bottom:0 !important;
}

.login-ui-sidebar:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px) !important;
  background-size:14px 14px !important;
  opacity:.30 !important;
}

.sidebar-badge-circle,
.sidebar-icon-circle,
.percent-circle{
  position:relative !important;
  z-index:2 !important;
  width:114px !important;
  height:114px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(255,255,255,.58) !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.03) !important;
}

.sidebar-badge-circle span{
  font-size:18px !important;
  line-height:1.18 !important;
  text-align:center !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  color:#fff !important;
}

.sidebar-sep{
  display:block !important;
  position:relative !important;
  z-index:2 !important;
  width:80px !important;
  height:18px !important;
  flex:0 0 auto !important;
}

.sidebar-sep:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:8px !important;
  height:1.5px !important;
  background:rgba(255,255,255,.42) !important;
}

.sidebar-sep:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:4px !important;
  transform:translateX(-50%) !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#fff !important;
}

.sidebar-feature{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}

.sidebar-feature-label{
  font-size:15px !important;
  line-height:1.22 !important;
  text-align:center !important;
  font-weight:850 !important;
  color:#fff !important;
  letter-spacing:.00em !important;
}

.mini-card-icon{
  width:64px !important;
  height:44px !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 8px 16px rgba(0,0,0,.14) !important;
}

.sidebar-icon-circle svg{
  width:50px !important;
  height:50px !important;
  stroke:#fff !important;
  fill:none !important;
}

.percent-circle span{
  font-size:52px !important;
  line-height:1 !important;
  font-weight:500 !important;
  color:#fff !important;
}

.sidebar-arches{
  display:block !important;
  position:absolute !important;
  z-index:1 !important;
  left:-2px !important;
  right:-2px !important;
  bottom:-7px !important;
  height:150px !important;
  pointer-events:none !important;
}

.sidebar-arches:before,
.sidebar-arches:after{
  content:"" !important;
  position:absolute !important;
  left:15px !important;
  bottom:-2px !important;
  border:2px solid rgba(156,226,86,.55) !important;
  border-bottom:0 !important;
  border-radius:120px 120px 0 0 !important;
}

.sidebar-arches:before{width:150px !important;height:92px !important;}
.sidebar-arches:after{left:43px !important;width:94px !important;height:62px !important;border-color:rgba(156,226,86,.34) !important;}
.sidebar-arches span{display:none !important;}

.login-ui-main{
  padding:40px 54px 34px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fdfdfc 100%) !important;
  display:flex !important;
  flex-direction:column !important;
}

.ui-main-logo{
  width:195px !important;
  margin:0 0 24px !important;
}

.login-ui-main h1{
  font-size:clamp(56px,6vw,74px) !important;
  line-height:.98 !important;
  letter-spacing:-.05em !important;
  margin:0 0 18px !important;
  max-width:520px !important;
  color:#122112 !important;
}

.ui-main-subtitle{
  font-size:20px !important;
  line-height:1.5 !important;
  margin:0 0 24px !important;
  color:#535d53 !important;
  max-width:420px !important;
}

.ui-divider{
  height:2px !important;
  background:#dbe7d6 !important;
  margin:4px 0 28px !important;
  max-width:470px !important;
}

.ui-login-form{
  max-width:470px !important;
  display:grid !important;
  gap:18px !important;
}

.ui-login-form label{
  font-size:18px !important;
  font-weight:850 !important;
  color:#121a12 !important;
}

.ui-login-form input{
  margin-top:12px !important;
  height:64px !important;
  border-radius:22px !important;
  padding:0 28px !important;
  font-size:20px !important;
  border:2px solid #cfe0cb !important;
  background:#fff !important;
  color:#2d352d !important;
}

.ui-primary-btn{
  height:64px !important;
  border:0 !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,#198435,#2b7d32) !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  box-shadow:0 12px 24px rgba(40,92,42,.18) !important;
  cursor:pointer !important;
}

.ui-primary-btn span{
  font-size:38px !important;
  line-height:1 !important;
  margin-top:-3px !important;
  font-weight:400 !important;
}

.ui-install-block{
  max-width:470px !important;
  display:grid !important;
  gap:18px !important;
  margin-top:4px !important;
}

.ui-install-block h2{
  margin:0 !important;
  font-size:20px !important;
  color:#197236 !important;
}

.ui-install-block p{
  margin:8px 0 0 !important;
  font-size:16px !important;
  color:#596259 !important;
}

.ui-install-buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

.ui-install-btn{
  height:60px !important;
  border-radius:20px !important;
  border:1.5px solid #d5e3d1 !important;
  background:#fff !important;
  color:#1b6d32 !important;
  font-size:18px !important;
  font-weight:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  cursor:pointer !important;
}

/* Mobile: same composition, only scaled down */
@media(max-width:700px){
  .app-shell{
    padding:6px !important;
    max-width:none !important;
  }

  .login-ui-v3{
    width:calc(100vw - 12px) !important;
    max-width:430px !important;
    min-height:0 !important;
    grid-template-columns:102px minmax(0,1fr) !important;
    border-radius:28px !important;
    margin:1vh auto !important;
  }

  .login-ui-sidebar{
    border-radius:28px 0 0 28px !important;
    padding:16px 10px 12px !important;
    gap:9px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:70px !important;
    height:70px !important;
    border-width:1.2px !important;
  }

  .sidebar-badge-circle span{
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .sidebar-feature{
    gap:7px !important;
  }

  .sidebar-feature-label{
    font-size:11px !important;
    line-height:1.18 !important;
  }

  .sidebar-sep{
    width:48px !important;
    height:12px !important;
  }

  .sidebar-sep:before{
    top:5px !important;
  }

  .sidebar-sep:after{
    top:2px !important;
    width:6px !important;
    height:6px !important;
  }

  .mini-card-icon{
    width:45px !important;
    height:31px !important;
    border-radius:9px !important;
  }

  .mini-card-chip{
    left:9px !important;
    top:10px !important;
    width:11px !important;
    height:8px !important;
    border-radius:2px !important;
  }

  .mini-card-wave{
    right:8px !important;
    top:8px !important;
    width:12px !important;
    height:12px !important;
  }

  .sidebar-icon-circle svg{
    width:38px !important;
    height:38px !important;
  }

  .percent-circle span{
    font-size:38px !important;
  }

  .sidebar-arches{
    height:92px !important;
  }

  .sidebar-arches:before{
    left:4px !important;
    width:94px !important;
    height:58px !important;
  }

  .sidebar-arches:after{
    left:22px !important;
    width:58px !important;
    height:38px !important;
  }

  .login-ui-main{
    padding:22px 20px 20px !important;
  }

  .ui-main-logo{
    width:155px !important;
    margin:0 0 22px !important;
  }

  .login-ui-main h1{
    font-size:41px !important;
    line-height:1.02 !important;
    margin-bottom:13px !important;
    max-width:250px !important;
  }

  .ui-main-subtitle{
    font-size:15px !important;
    line-height:1.4 !important;
    margin-bottom:18px !important;
    max-width:240px !important;
  }

  .ui-divider{
    height:2px !important;
    max-width:none !important;
    margin:0 0 19px !important;
  }

  .ui-login-form{
    gap:13px !important;
    max-width:none !important;
  }

  .ui-login-form label{
    font-size:15px !important;
  }

  .ui-login-form input{
    height:52px !important;
    border-radius:16px !important;
    padding:0 16px !important;
    font-size:17px !important;
    margin-top:9px !important;
  }

  .ui-primary-btn{
    height:54px !important;
    border-radius:17px !important;
    font-size:17px !important;
    gap:12px !important;
  }

  .ui-primary-btn span{
    font-size:30px !important;
  }

  .ui-install-block{
    gap:12px !important;
    max-width:none !important;
  }

  .ui-install-block h2{
    font-size:18px !important;
  }

  .ui-install-block p{
    font-size:13px !important;
    line-height:1.35 !important;
    margin-top:4px !important;
  }

  .ui-install-buttons{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .ui-install-btn{
    height:44px !important;
    border-radius:15px !important;
    font-size:14px !important;
    gap:6px !important;
  }
}

@media(max-width:380px){
  .login-ui-v3{
    grid-template-columns:92px minmax(0,1fr) !important;
  }

  .login-ui-sidebar{
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .login-ui-main{
    padding:20px 15px 18px !important;
  }

  .login-ui-main h1{
    font-size:36px !important;
  }

  .ui-main-logo{
    width:140px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:64px !important;
    height:64px !important;
  }

  .sidebar-feature-label{
    font-size:10px !important;
  }
}


/* 1:1 mobile refinements based on approved mockup */
.platform-icon{
  display:inline-block !important;
  flex:0 0 auto !important;
  position:relative !important;
}
.ios-icon{
  width:17px !important;
  height:20px !important;
}
.ios-icon:before{
  content:"" !important;
  position:absolute !important;
  left:3px !important;
  top:5px !important;
  width:12px !important;
  height:13px !important;
  border-radius:8px 8px 9px 9px !important;
  background:#1b6d32 !important;
}
.ios-icon:after{
  content:"" !important;
  position:absolute !important;
  left:9px !important;
  top:0 !important;
  width:7px !important;
  height:8px !important;
  border-radius:7px 0 7px 0 !important;
  background:#1b6d32 !important;
  transform:rotate(-18deg) !important;
}
.android-icon{
  width:19px !important;
  height:18px !important;
}
.android-icon:before{
  content:"" !important;
  position:absolute !important;
  left:2px !important;
  top:5px !important;
  width:15px !important;
  height:11px !important;
  border-radius:4px 4px 3px 3px !important;
  background:#1b6d32 !important;
}
.android-icon:after{
  content:"" !important;
  position:absolute !important;
  left:5px !important;
  top:1px !important;
  width:9px !important;
  height:8px !important;
  border-radius:8px 8px 0 0 !important;
  background:#1b6d32 !important;
  box-shadow:-6px 8px 0 -4px #1b6d32, 6px 8px 0 -4px #1b6d32 !important;
}

/* Desktop/large keeps the mockup proportions cleaner */
@media(min-width:701px){
  .login-ui-v3{
    grid-template-columns:205px minmax(0,1fr) !important;
  }

  .login-ui-sidebar{
    gap:17px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:108px !important;
    height:108px !important;
  }

  .sidebar-feature-label{
    font-size:14px !important;
  }
}

/* Mobile faithful layout: same 2-column composition, but less crowded */
@media(max-width:700px){
  .login-ui-v3{
    width:calc(100vw - 14px) !important;
    max-width:455px !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    border-radius:25px !important;
    margin:1.3vh auto !important;
  }

  .login-ui-sidebar{
    border-radius:25px 0 0 25px !important;
    padding:13px 7px 12px !important;
    gap:7px !important;
  }

  .login-ui-sidebar:before{
    background-size:13px 13px !important;
    opacity:.26 !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:64px !important;
    height:64px !important;
    border-width:1.15px !important;
  }

  .sidebar-badge-circle span{
    font-size:12px !important;
    line-height:1.12 !important;
    letter-spacing:.00em !important;
  }

  .sidebar-feature{
    gap:6px !important;
  }

  .sidebar-feature-label{
    font-size:9.6px !important;
    line-height:1.16 !important;
    max-width:78px !important;
  }

  .sidebar-sep{
    width:42px !important;
    height:11px !important;
  }

  .sidebar-sep:before{
    top:5px !important;
    height:1px !important;
  }

  .sidebar-sep:after{
    top:2px !important;
    width:6px !important;
    height:6px !important;
  }

  .mini-card-icon{
    width:41px !important;
    height:29px !important;
    border-radius:8px !important;
  }

  .mini-card-chip{
    left:8px !important;
    top:10px !important;
    width:10px !important;
    height:8px !important;
  }

  .mini-card-wave{
    right:7px !important;
    top:8px !important;
    width:11px !important;
    height:11px !important;
  }

  .sidebar-icon-circle svg{
    width:35px !important;
    height:35px !important;
  }

  .percent-circle span{
    font-size:34px !important;
  }

  .sidebar-arches{
    height:82px !important;
    bottom:-6px !important;
  }

  .sidebar-arches:before{
    left:5px !important;
    width:86px !important;
    height:54px !important;
    border-width:1.5px !important;
  }

  .sidebar-arches:after{
    left:24px !important;
    width:50px !important;
    height:34px !important;
    border-width:1.5px !important;
  }

  .login-ui-main{
    padding:19px 18px 18px !important;
  }

  .ui-main-logo{
    width:150px !important;
    margin:0 0 20px !important;
  }

  .login-ui-main h1{
    font-size:37px !important;
    line-height:1.05 !important;
    letter-spacing:-.045em !important;
    margin:0 0 12px !important;
    max-width:235px !important;
  }

  .ui-main-subtitle{
    font-size:14.5px !important;
    line-height:1.38 !important;
    margin:0 0 16px !important;
    max-width:245px !important;
  }

  .ui-divider{
    height:2px !important;
    margin:0 0 18px !important;
  }

  .ui-login-form{
    gap:12px !important;
  }

  .ui-login-form label{
    font-size:14.2px !important;
    line-height:1.2 !important;
  }

  .ui-login-form input{
    height:50px !important;
    margin-top:8px !important;
    border-radius:16px !important;
    padding:0 15px !important;
    font-size:16px !important;
    border-width:1.5px !important;
  }

  .ui-primary-btn{
    height:52px !important;
    border-radius:16px !important;
    font-size:16px !important;
    gap:10px !important;
  }

  .ui-primary-btn span{
    font-size:28px !important;
  }

  .ui-install-block{
    gap:11px !important;
  }

  .ui-install-block h2{
    font-size:17px !important;
  }

  .ui-install-block p{
    font-size:12.5px !important;
    line-height:1.35 !important;
    margin-top:4px !important;
  }

  .ui-install-buttons{
    gap:9px !important;
  }

  .ui-install-btn{
    height:42px !important;
    border-radius:14px !important;
    font-size:13.5px !important;
    gap:5px !important;
  }

  .platform-icon{
    transform:scale(.88) !important;
  }
}

/* Extra-small phones: still keeps the left vertical sidebar */
@media(max-width:390px){
  .login-ui-v3{
    grid-template-columns:86px minmax(0,1fr) !important;
    width:calc(100vw - 10px) !important;
  }

  .login-ui-sidebar{
    padding-left:5px !important;
    padding-right:5px !important;
    gap:6px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:58px !important;
    height:58px !important;
  }

  .sidebar-badge-circle span{
    font-size:10.5px !important;
  }

  .sidebar-feature-label{
    font-size:8.8px !important;
    max-width:70px !important;
  }

  .login-ui-main{
    padding:17px 13px 16px !important;
  }

  .ui-main-logo{
    width:136px !important;
    margin-bottom:18px !important;
  }

  .login-ui-main h1{
    font-size:33px !important;
  }

  .ui-main-subtitle{
    font-size:13px !important;
  }

  .ui-login-form input{
    height:47px !important;
    font-size:15px !important;
  }

  .ui-primary-btn{
    height:49px !important;
  }

  .ui-install-buttons{
    grid-template-columns:1fr 1fr !important;
  }

  .ui-install-btn{
    font-size:12.5px !important;
    height:40px !important;
  }
}


/* Right side spacing refinement: closer to approved mockup */
.login-ui-main{
  padding-top:46px !important;
  padding-bottom:40px !important;
}

.ui-main-logo{
  margin-bottom:34px !important;
}

.login-ui-main h1{
  margin-bottom:20px !important;
}

.ui-main-subtitle{
  margin-bottom:30px !important;
}

.ui-main-subtitle + .ui-divider{
  margin:0 0 34px !important;
}

.ui-login-form{
  gap:22px !important;
}

.ui-login-form input{
  margin-top:14px !important;
}

.ui-primary-btn{
  margin-top:4px !important;
}

.ui-login-form + .ui-divider{
  margin:34px 0 32px !important;
}

.ui-install-block{
  margin-top:0 !important;
  gap:22px !important;
}

.ui-install-block h2{
  margin-bottom:0 !important;
}

.ui-install-block p{
  margin-top:10px !important;
}

@media(max-width:700px){
  .login-ui-main{
    padding:24px 18px 22px !important;
  }

  .ui-main-logo{
    width:150px !important;
    margin:0 0 28px !important;
  }

  .login-ui-main h1{
    font-size:37px !important;
    line-height:1.05 !important;
    margin:0 0 16px !important;
  }

  .ui-main-subtitle{
    font-size:14.5px !important;
    line-height:1.4 !important;
    margin:0 0 24px !important;
  }

  .ui-main-subtitle + .ui-divider{
    margin:0 0 25px !important;
  }

  .ui-login-form{
    gap:17px !important;
  }

  .ui-login-form label{
    font-size:14.5px !important;
  }

  .ui-login-form input{
    height:51px !important;
    margin-top:9px !important;
  }

  .ui-primary-btn{
    height:53px !important;
    margin-top:2px !important;
  }

  .ui-login-form + .ui-divider{
    margin:26px 0 25px !important;
  }

  .ui-install-block{
    gap:14px !important;
  }

  .ui-install-block h2{
    font-size:18px !important;
    line-height:1.15 !important;
  }

  .ui-install-block p{
    margin-top:6px !important;
    font-size:13px !important;
  }

  .ui-install-buttons{
    margin-top:2px !important;
  }
}

@media(max-width:390px){
  .login-ui-main{
    padding:22px 14px 19px !important;
  }

  .ui-main-logo{
    width:136px !important;
    margin-bottom:24px !important;
  }

  .login-ui-main h1{
    font-size:33px !important;
    margin-bottom:14px !important;
  }

  .ui-main-subtitle{
    font-size:13px !important;
    margin-bottom:21px !important;
  }

  .ui-main-subtitle + .ui-divider{
    margin-bottom:22px !important;
  }

  .ui-login-form{
    gap:15px !important;
  }

  .ui-login-form + .ui-divider{
    margin:23px 0 22px !important;
  }

  .ui-install-block{
    gap:12px !important;
  }
}


/* Fix iPhone focus zoom + simplify platform buttons */
.ui-login-form input,
input,
select,
textarea{
  font-size:16px !important;
}

.ui-install-btn{
  gap:0 !important;
}

.ui-install-btn .platform-icon,
.platform-icon,
.ios-icon,
.android-icon{
  display:none !important;
}

.ui-install-btn{
  letter-spacing:0 !important;
}

@media(max-width:700px){
  .ui-login-form input,
  input,
  select,
  textarea{
    font-size:16px !important;
  }

  .ui-install-btn{
    font-size:15px !important;
    font-weight:850 !important;
  }
}

@media(max-width:390px){
  .ui-login-form input,
  input,
  select,
  textarea{
    font-size:16px !important;
  }

  .ui-install-btn{
    font-size:14px !important;
  }
}


/* Mobile viewport fit: no unnecessary page scroll + small side breathing space */
@media(max-width:700px){
  html,
  body{
    min-height:100svh !important;
    overflow-x:hidden !important;
  }

  body{
    background:
      radial-gradient(circle at 18% 8%, rgba(47,125,50,.16), transparent 32%),
      linear-gradient(160deg,#f8fbf6,#e6f0e2) !important;
  }

  .app-shell{
    min-height:100svh !important;
    padding:10px 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .login-ui-v3{
    width:calc(100vw - 28px) !important;
    max-width:440px !important;
    min-height:0 !important;
    height:calc(100svh - 22px) !important;
    max-height:720px !important;
    margin:0 auto !important;
    grid-template-columns:92px minmax(0,1fr) !important;
    border-radius:26px !important;
  }

  .login-ui-sidebar{
    border-radius:26px 0 0 26px !important;
    padding:13px 6px 11px !important;
    gap:6px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:58px !important;
    height:58px !important;
  }

  .sidebar-badge-circle span{
    font-size:10.8px !important;
    line-height:1.12 !important;
  }

  .sidebar-feature{
    gap:5px !important;
  }

  .sidebar-feature-label{
    font-size:8.8px !important;
    line-height:1.12 !important;
    max-width:72px !important;
  }

  .sidebar-sep{
    width:40px !important;
    height:9px !important;
  }

  .sidebar-sep:before{
    top:4px !important;
  }

  .sidebar-sep:after{
    top:1.5px !important;
    width:5px !important;
    height:5px !important;
  }

  .mini-card-icon{
    width:38px !important;
    height:27px !important;
    border-radius:8px !important;
  }

  .sidebar-icon-circle svg{
    width:33px !important;
    height:33px !important;
  }

  .percent-circle span{
    font-size:31px !important;
  }

  .sidebar-arches{
    height:70px !important;
    bottom:-8px !important;
  }

  .sidebar-arches:before{
    left:4px !important;
    width:82px !important;
    height:50px !important;
  }

  .sidebar-arches:after{
    left:22px !important;
    width:48px !important;
    height:32px !important;
  }

  .login-ui-main{
    padding:18px 17px 16px !important;
    min-width:0 !important;
    justify-content:center !important;
  }

  .ui-main-logo{
    width:136px !important;
    margin:0 0 16px !important;
  }

  .login-ui-main h1{
    font-size:33px !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    margin:0 0 10px !important;
    max-width:220px !important;
  }

  .ui-main-subtitle{
    font-size:13.2px !important;
    line-height:1.34 !important;
    margin:0 0 15px !important;
    max-width:230px !important;
  }

  .ui-divider{
    height:1.5px !important;
    margin:0 0 15px !important;
  }

  .ui-login-form{
    gap:10px !important;
  }

  .ui-login-form label{
    font-size:13.5px !important;
  }

  .ui-login-form input{
    height:44px !important;
    margin-top:7px !important;
    border-radius:15px !important;
    padding:0 14px !important;
    font-size:16px !important;
  }

  .ui-primary-btn{
    height:47px !important;
    border-radius:15px !important;
    font-size:16px !important;
    margin-top:1px !important;
  }

  .ui-primary-btn span{
    font-size:26px !important;
  }

  .ui-login-form + .ui-divider{
    margin:18px 0 17px !important;
  }

  .ui-install-block{
    gap:9px !important;
  }

  .ui-install-block h2{
    font-size:16px !important;
    line-height:1.15 !important;
  }

  .ui-install-block p{
    font-size:12px !important;
    line-height:1.25 !important;
    margin-top:3px !important;
  }

  .ui-install-buttons{
    gap:8px !important;
  }

  .ui-install-btn{
    height:38px !important;
    border-radius:13px !important;
    font-size:13px !important;
  }
}

@media(max-width:390px){
  .app-shell{
    padding:8px 10px !important;
  }

  .login-ui-v3{
    width:calc(100vw - 20px) !important;
    height:calc(100svh - 16px) !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    border-radius:24px !important;
  }

  .login-ui-sidebar{
    border-radius:24px 0 0 24px !important;
    padding:11px 5px 10px !important;
    gap:5px !important;
  }

  .sidebar-badge-circle,
  .sidebar-icon-circle,
  .percent-circle{
    width:52px !important;
    height:52px !important;
  }

  .sidebar-badge-circle span{
    font-size:9.8px !important;
  }

  .sidebar-feature-label{
    font-size:7.9px !important;
  }

  .login-ui-main{
    padding:15px 12px 14px !important;
  }

  .ui-main-logo{
    width:124px !important;
    margin-bottom:14px !important;
  }

  .login-ui-main h1{
    font-size:30px !important;
    margin-bottom:8px !important;
  }

  .ui-main-subtitle{
    font-size:12.2px !important;
    margin-bottom:13px !important;
  }

  .ui-divider{
    margin-bottom:13px !important;
  }

  .ui-login-form input{
    height:42px !important;
  }

  .ui-primary-btn{
    height:44px !important;
  }

  .ui-login-form + .ui-divider{
    margin:15px 0 14px !important;
  }

  .ui-install-block h2{
    font-size:15px !important;
  }

  .ui-install-block p{
    font-size:11.2px !important;
  }

  .ui-install-btn{
    height:36px !important;
    font-size:12px !important;
  }
}

/* When opened as installed PWA, use a bit more breathing room */
@media(max-width:700px) and (display-mode: standalone){
  .app-shell{
    padding:14px 14px !important;
  }

  .login-ui-v3{
    width:calc(100vw - 32px) !important;
    height:calc(100svh - 28px) !important;
  }
}


/* Mobile height adaptation: do not stretch the card to full browser viewport */
@media(max-width:700px){
  .app-shell{
    min-height:auto !important;
    padding:12px 14px 18px !important;
    display:block !important;
  }

  .login-ui-v3{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    width:calc(100vw - 28px) !important;
    max-width:440px !important;
    margin:0 auto 14px !important;
    grid-template-columns:94px minmax(0,1fr) !important;
  }

  .login-ui-main{
    justify-content:flex-start !important;
    padding:24px 18px 22px !important;
  }

  .ui-main-logo{
    margin-bottom:24px !important;
  }

  .login-ui-main h1{
    margin-bottom:14px !important;
  }

  .ui-main-subtitle{
    margin-bottom:20px !important;
  }

  .ui-main-subtitle + .ui-divider{
    margin:0 0 21px !important;
  }

  .ui-login-form + .ui-divider{
    margin:22px 0 22px !important;
  }

  .ui-install-block{
    gap:12px !important;
  }
}

@media(max-width:390px){
  .app-shell{
    padding:10px 12px 16px !important;
  }

  .login-ui-v3{
    width:calc(100vw - 24px) !important;
    grid-template-columns:84px minmax(0,1fr) !important;
  }

  .login-ui-main{
    padding:20px 13px 18px !important;
  }

  .ui-main-logo{
    margin-bottom:20px !important;
  }

  .ui-main-subtitle + .ui-divider{
    margin-bottom:18px !important;
  }

  .ui-login-form + .ui-divider{
    margin:18px 0 18px !important;
  }
}

/* Installed app mode can use more vertical room, but still should not center content */
@media(max-width:700px) and (display-mode: standalone){
  .login-ui-v3{
    height:auto !important;
    max-height:none !important;
  }

  .login-ui-main{
    justify-content:flex-start !important;
  }
}


/* Smart installation UI */
[hidden]{display:none!important}
.smart-install-buttons{
  grid-template-columns:1fr !important;
}
.smart-install-buttons:has(.smart-ios-btn:not([hidden])):has(.smart-android-btn:not([hidden])){
  grid-template-columns:1fr 1fr !important;
}
.smart-direct-install{
  background:linear-gradient(135deg,#198435,#2b7d32) !important;
  color:#fff !important;
  border-color:#198435 !important;
}
.smart-ios-btn,
.smart-android-btn,
.smart-direct-install{
  width:100% !important;
}
@media(max-width:700px){
  .smart-install-buttons{
    grid-template-columns:1fr !important;
  }
}
