:root{
  --navy:#061833; --navy-2:#0b2348; --blue:#0f4c81; --gold:#d9ae5f; --green:#08a982;
  --red:#d9534f; --ink:#10203f; --muted:#718096; --line:#e5eaf2; --bg:#f5f7fb; --card:#ffffff;
  --shadow:0 18px 45px rgba(6,24,51,.10); --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer;border:0}
.hidden{display:none!important}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:radial-gradient(circle at 10% 10%,#335173 0,#0a203e 34%,#061833 70%);overflow:hidden}
.login-hero{position:relative;padding:54px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}
.login-hero:before{content:"";position:absolute;inset:auto -10% -20% -20%;height:58%;background:repeating-linear-gradient(110deg,rgba(217,174,95,.16) 0 1px,transparent 1px 46px);transform:skewY(-12deg);opacity:.7}
.brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px;font-weight:800;font-size:26px;letter-spacing:.3px}.brand-mark{width:48px;height:48px;border:2px solid var(--gold);border-radius:14px;display:grid;place-items:center;color:var(--gold);font-weight:900}
.hero-copy{position:relative;z-index:1;max-width:620px}.hero-copy h1{font-family:Georgia,serif;font-size:64px;line-height:1.02;margin:0 0 18px}.hero-copy p{font-size:20px;line-height:1.55;color:#dbe6f4}.hero-badges{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hero-badge{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:20px;padding:18px}.hero-badge strong{display:block;color:var(--gold);font-size:15px;margin-bottom:5px}.hero-badge span{color:#dbe6f4;font-size:13px}.login-panel{display:grid;place-items:center;background:linear-gradient(180deg,#fff,#f6f8fb);padding:40px}.login-card{width:min(440px,100%);background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:36px;border:1px solid #edf1f7}.login-card h2{margin:0 0 8px;font-size:30px}.login-card p{margin:0 0 26px;color:var(--muted)}.field{margin-bottom:16px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:8px;color:#34415d}.field input,.field select{width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:14px 16px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus{border-color:#93b7f2;box-shadow:0 0 0 4px rgba(15,76,129,.08)}.primary{background:linear-gradient(135deg,var(--gold),#c89338);color:#10203f;border-radius:14px;padding:14px 18px;font-weight:800;box-shadow:0 10px 22px rgba(217,174,95,.28)}.secondary{background:#eef3fb;color:#10203f;border-radius:14px;padding:12px 16px;font-weight:800}.ghost{background:transparent;color:var(--blue);font-weight:800}.danger{background:#feecec;color:#b42318;border-radius:12px;padding:10px 13px;font-weight:800}.full{width:100%}.demo-logins{margin-top:22px;padding:16px;background:#f7fafc;border-radius:16px;color:#4b5a75;font-size:13px;line-height:1.7}.error{display:none;margin:0 0 14px;padding:12px;border-radius:12px;background:#fff2f2;color:#b42318;font-weight:700}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#061833,#071326);color:#fff;padding:28px 20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.side-nav{display:grid;gap:8px}.nav-item{display:flex;gap:12px;align-items:center;border-radius:14px;padding:13px 14px;color:#cdd8e8;background:transparent;text-align:left;font-weight:700}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.10);color:#fff}.advisor-card{margin-top:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px}.advisor-card small{color:#cdd8e8}.content{padding:28px clamp(18px,3vw,44px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{font-size:28px;margin:0}.topbar p{color:var(--muted);margin:4px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.select{border:1px solid #dbe3ef;background:#fff;border-radius:14px;padding:12px 14px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.card{background:var(--card);border:1px solid #edf1f7;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.kpi-label{font-size:13px;color:var(--muted);font-weight:700}.kpi-value{font-size:28px;font-weight:900;margin-top:8px}.kpi-sub{font-size:13px;color:var(--muted);margin-top:5px}.positive{color:var(--green)}.negative{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.wide{grid-column:1/-1}.card h3{margin:0 0 18px;font-size:17px}.allocation{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:center}.donut{width:190px;height:190px;border-radius:50%;background:conic-gradient(#0f68bd 0 40%,#2f80ed 40% 62%,#08a982 62% 78%,#3cc7a3 78% 89%,#d9ae5f 89% 96%,#c7d2e2 96% 100%);position:relative;margin:auto}.donut:after{content:attr(data-total);position:absolute;inset:43px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:900;font-size:14px;white-space:pre-line}.legend{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;color:#334155}.dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}canvas{width:100%;height:250px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{border:1px solid #edf1f7;border-radius:16px;padding:16px;text-align:center;background:#fbfcfe}.metric small{color:var(--muted);font-weight:700}.metric strong{display:block;margin-top:8px;font-size:22px}.risk{height:12px;background:#edf2f7;border-radius:100px;overflow:hidden;margin-top:14px}.risk>span{display:block;height:100%;background:linear-gradient(90deg,#08a982,#d9ae5f);border-radius:100px}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #edf1f7;text-align:left;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.right{text-align:right}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toast{position:fixed;right:24px;bottom:24px;background:#061833;color:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);z-index:10}.audit-list{display:grid;gap:10px;max-height:360px;overflow:auto}.audit-item{border:1px solid #edf1f7;border-radius:14px;padding:12px;background:#fbfcfe}.audit-item strong{display:block}.audit-item span{color:var(--muted);font-size:12px}.mobile-menu{display:none}
@media(max-width:1100px){.login-page{grid-template-columns:1fr}.login-hero{min-height:44vh}.hero-badges{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpi-grid,.dashboard-grid,.admin-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.allocation{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.table-wrap{overflow:auto}.hero-copy h1{font-size:44px}}
.mini{display:inline-block;padding:8px 10px;border-radius:10px;font-size:12px;text-decoration:none;margin:2px}.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px}.split-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.period-controls{display:flex;gap:10px}.period-controls select{border:1px solid #dbe3ef;background:#fff;border-radius:12px;padding:10px 12px;font-weight:700}.wide-field{grid-column:1/-1}.form-grid .wide-field input{width:100%}
@media(max-width:1100px){.compact{grid-template-columns:1fr}.split-title{flex-direction:column}.period-controls{width:100%}.period-controls select{flex:1}}
.ghost-link{background:transparent;color:var(--blue);font-weight:800;margin-top:12px;width:100%;padding:10px;border-radius:12px}
.ghost-link:hover{background:#eef3fb}.small{padding:7px 10px;font-size:12px;border-radius:10px}.card .form-grid button{align-self:end}.side-nav{overflow:auto}.login-card .secondary{margin-top:10px}

/* v7 responsive refinements */
img,svg,canvas{max-width:100%}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:760px}
.content{min-width:0}.card{min-width:0}.top-actions{flex-wrap:wrap}.select,.secondary,.primary{max-width:100%}
@media(max-width:900px){
  .login-page{display:block;min-height:100vh}.login-hero{min-height:auto;padding:28px 22px}.login-panel{padding:22px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:16px}.hero-badges{display:none}
  .app-shell{display:block}.sidebar{height:auto;position:sticky;top:0;z-index:20;padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .sidebar .brand{font-size:18px}.sidebar .brand-mark{width:38px;height:38px;border-radius:12px}.advisor-card{display:none}
  .side-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.nav-item{flex:0 0 auto;white-space:nowrap;padding:10px 12px;font-size:13px}
  .content{padding:18px 14px}.topbar{gap:14px;margin-bottom:16px}.topbar h1{font-size:23px}.topbar p{font-size:14px}.top-actions{width:100%}.top-actions .select,.top-actions button{flex:1;min-width:150px}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.kpi-value{font-size:22px}.dashboard-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.card{padding:16px;border-radius:18px}.allocation{grid-template-columns:1fr}.donut{width:160px;height:160px}.donut:after{inset:36px}
  canvas{height:220px}.compact{grid-template-columns:1fr 1fr}.period-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
}
@media(max-width:540px){
  .login-card{padding:22px;border-radius:20px}.login-card h2{font-size:24px}.hero-copy h1{font-size:30px}.brand{font-size:20px}
  .content{padding:14px 10px}.kpi-grid,.compact,.metrics{grid-template-columns:1fr}.top-actions{display:grid;grid-template-columns:1fr}.top-actions .select,.top-actions button{width:100%}.period-controls{grid-template-columns:1fr}
  .card{padding:14px;border-radius:16px}th,td{padding:10px 8px;font-size:13px}.kpi-value{font-size:20px}.metric strong{font-size:18px}.toast{left:12px;right:12px;bottom:12px}
}

/* v8 premium UI interactions -------------------------------------------------
   Micro-interazioni leggere per rendere il portale più moderno senza
   compromettere performance, leggibilità e accessibilità. */
:root{
  --ease-premium:cubic-bezier(.2,.8,.2,1);
  --lift-shadow:0 24px 60px rgba(6,24,51,.16);
  --focus-ring:0 0 0 4px rgba(217,174,95,.24);
}

@media (prefers-reduced-motion:no-preference){
  .card,.kpi-grid .card,.metric,.nav-item,.primary,.secondary,.ghost,.danger,.select,
  .field input,.field select,.advisor-card,.login-card,.hero-badge,.audit-item,
  .period-controls select,.ghost-link,.mini,.table-wrap tbody tr,.donut,
  .top-actions button,.card button{
    transition:transform .22s var(--ease-premium), box-shadow .22s var(--ease-premium),
      border-color .22s var(--ease-premium), background .22s var(--ease-premium),
      color .22s var(--ease-premium), opacity .22s var(--ease-premium), filter .22s var(--ease-premium);
  }
  .nav-item:before,.primary:after,.secondary:after,.card:before{transition:opacity .22s var(--ease-premium), transform .22s var(--ease-premium)}
}

/* Card premium hover */
.card,.login-card,.hero-badge,.advisor-card,.metric,.audit-item{position:relative;isolation:isolate}
.card:before,.login-card:before,.hero-badge:before,.metric:before,.audit-item:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:linear-gradient(135deg,rgba(217,174,95,.16),rgba(15,76,129,.08) 45%,rgba(255,255,255,0));
  z-index:-1;
}
.card:hover,.metric:hover,.audit-item:hover{
  transform:translateY(-4px);
  box-shadow:var(--lift-shadow);
  border-color:#d8e2f1;
}
.card:hover:before,.metric:hover:before,.audit-item:hover:before,.login-card:hover:before{opacity:1}
.kpi-grid .card:hover .kpi-value{filter:saturate(1.12)}

/* Buttons */
.primary,.secondary,.danger,.ghost-link,.mini{position:relative;overflow:hidden;will-change:transform}
.primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(217,174,95,.34);filter:saturate(1.06)}
.secondary:hover,.ghost-link:hover,.mini:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(6,24,51,.10);background:#e8f0fb}
.danger:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,83,79,.14)}
.primary:active,.secondary:active,.danger:active,.ghost-link:active,.mini:active{transform:translateY(0) scale(.99)}
.primary:after,.secondary:after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);
}
.primary:hover:after,.secondary:hover:after{left:120%;opacity:1;transition:left .62s var(--ease-premium),opacity .18s var(--ease-premium)}

/* Sidebar menu */
.nav-item{position:relative;overflow:hidden}
.nav-item:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:4px;background:var(--gold);opacity:0;transform:translateX(-6px)}
.nav-item:hover{transform:translateX(3px);background:rgba(255,255,255,.12);color:#fff}
.nav-item.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 26px rgba(0,0,0,.16)}
.nav-item.active:before,.nav-item:hover:before{opacity:1;transform:translateX(0)}
.nav-item:active{transform:translateX(1px) scale(.995)}

/* Inputs and selects */
.field input:hover,.field select:hover,.select:hover,.period-controls select:hover{border-color:#b8c8dd;box-shadow:0 8px 20px rgba(6,24,51,.05)}
.field input:focus,.field select:focus,.select:focus,.period-controls select:focus{border-color:var(--gold);box-shadow:var(--focus-ring)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* Tables */
tbody tr:hover{background:linear-gradient(90deg,rgba(15,76,129,.045),rgba(217,174,95,.04));transform:scale(1.002)}
tbody tr:hover td:first-child{border-left:3px solid var(--gold)}
td:first-child{border-left:3px solid transparent}

/* Charts, donut and visual blocks */
.donut:hover{transform:scale(1.035) rotate(.4deg);box-shadow:0 20px 45px rgba(15,76,129,.12)}
.card canvas{border-radius:18px}
.card:hover canvas{filter:saturate(1.08) contrast(1.02)}
.risk>span{position:relative;overflow:hidden}
.risk>span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-120%)}
.card:hover .risk>span:after{transform:translateX(120%);transition:transform .9s var(--ease-premium)}

/* Login page */
.login-card:hover{transform:translateY(-3px);box-shadow:0 34px 90px rgba(6,24,51,.22)}
.hero-badge:hover{transform:translateY(-4px);border-color:rgba(217,174,95,.38);background:rgba(255,255,255,.12)}
.brand-mark{box-shadow:0 0 0 rgba(217,174,95,0)}
.brand:hover .brand-mark{box-shadow:0 0 0 8px rgba(217,174,95,.08)}

/* Subtle notification / toast polish */
.toast{animation:toastIn .28s var(--ease-premium)}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Mobile touch feedback: less movement, same premium feeling */
@media(max-width:900px){
  .card:hover,.metric:hover,.audit-item:hover,.login-card:hover{transform:none}
  .nav-item:hover{transform:none}.primary:hover,.secondary:hover,.ghost-link:hover,.mini:hover{transform:none}
  .side-nav{scroll-snap-type:x proximity}.nav-item{scroll-snap-align:start}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Correzione menu laterale: niente barra orizzontale, testo a capo */
.sidebar {
  overflow-x: hidden !important;
}

.side-nav {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.nav-item {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.25 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: flex-start !important;
}

@media (max-width: 700px) {
  .side-nav {
    display: grid !important;
    overflow-x: hidden !important;
  }

  .nav-item {
    flex: 1 1 auto !important;
    width: 100% !important;
    white-space: normal !important;
  }
}


/* Mobile iPhone: menu compatto, niente sidebar gigante */
.mobile-nav-toggle {
  display: none;
}

@media (max-width: 760px) {
  html, body {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .app-shell {
    display: block !important;
    min-height: 100vh !important;
  }

  .sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 12px 14px !important;
    gap: 8px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  .sidebar .brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    vertical-align: middle !important;
  }

  .brand-mark {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 22px !important;
  }

  .brand span {
    font-size: 20px !important;
    line-height: 1.1 !important;
  }

  .mobile-nav-toggle {
    display: inline-flex !important;
    float: right !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-weight: 900 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }

  .side-nav {
    display: none !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
    clear: both !important;
  }

  .sidebar.mobile-open .side-nav {
    display: grid !important;
  }

  .advisor-card {
    display: none !important;
  }

  .nav-item {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 10px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
    border-radius: 12px !important;
  }

  .content {
    padding: 16px 12px 34px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .topbar {
    display: block !important;
    margin-bottom: 16px !important;
  }

  .topbar h1 {
    font-size: 26px !important;
    line-height: 1.08 !important;
  }

  .top-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 14px !important;
  }

  .top-actions select,
  .top-actions button,
  .select {
    width: 100% !important;
  }

  .kpi-grid,
  .dashboard-grid,
  .admin-grid,
  .metrics,
  .allocation,
  .form-grid,
  .two-cols,
  .compact {
    grid-template-columns: 1fr !important;
  }

  .card {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  table {
    min-width: 640px !important;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100% !important;
    font-size: 16px !important;
  }

  .toast {
    left: 12px !important;
    right: 12px !important;
    bottom: 16px !important;
  }
}


/* Pulsante Esci visibile su iPhone */
.mobile-logout {
  display: none;
}

@media (max-width: 760px) {
  .mobile-logout {
    display: inline-flex !important;
    float: right !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 13px !important;
    margin-left: 8px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    font-weight: 900 !important;
    border: 1px solid rgba(255,255,255,.18) !important;
  }

  .mobile-nav-toggle {
    margin-left: 8px !important;
  }
}

/* Nasconde Esci/Menu nella schermata di login mobile */
.login-page .mobile-logout,
.login-page .mobile-nav-toggle {
  display: none !important;
}


/* Backtest: importo e date personalizzate */
.backtest-controls-modern {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.4fr) minmax(150px, .8fr) minmax(150px, .8fr) auto auto auto !important;
  gap: 10px !important;
  align-items: end !important;
}

.backtest-controls-modern .field {
  margin: 0 !important;
}

.backtest-controls-modern label {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 12px !important;
  color: var(--muted) !important;
  font-weight: 900 !important;
}

.backtest-money-field input {
  font-weight: 900 !important;
}

.hero-result {
  border-radius: 22px;
  padding: 20px;
  margin-bottom: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}

.hero-result small {
  display: block;
  color: var(--muted);
  font-weight: 900;
  margin-bottom: 8px;
}

.hero-result strong {
  display: block;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.hero-result span {
  display: block;
  margin-top: 8px;
  font-weight: 900;
}

.positive-hero span {
  color: var(--positive);
}

.negative-hero span {
  color: var(--negative);
}

@media (max-width: 900px) {
  .backtest-controls-modern {
    grid-template-columns: 1fr !important;
  }
}


/* ClearWealth FIX backtest: layout ordinato desktop/mobile */
.backtest-card-clean {
  overflow: hidden !important;
}

.backtest-head-clean {
  margin-bottom: 18px !important;
}

.backtest-head-clean h3 {
  margin: 0 0 8px 0 !important;
  font-size: 22px !important;
}

.backtest-head-clean p {
  margin: 0 !important;
  color: var(--muted) !important;
  max-width: 980px !important;
  line-height: 1.5 !important;
}

.backtest-form-clean {
  display: grid !important;
  grid-template-columns: minmax(240px, 1.3fr) minmax(160px, .8fr) minmax(160px, .8fr) minmax(190px, .8fr) minmax(145px, auto) minmax(180px, auto) !important;
  gap: 14px !important;
  align-items: end !important;
  margin-bottom: 20px !important;
}

.backtest-form-clean .field {
  margin: 0 !important;
}

.backtest-form-clean label {
  font-weight: 900 !important;
}

.backtest-form-clean input,
.backtest-form-clean select {
  width: 100% !important;
  min-height: 54px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.backtest-check-clean {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 6px !important;
  color: var(--muted) !important;
  line-height: 1.15 !important;
}

.backtest-check-clean input {
  width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  flex: 0 0 auto !important;
}

.backtest-check-clean span {
  font-weight: 900 !important;
}

.backtest-action-clean {
  min-height: 54px !important;
  width: 100% !important;
  min-width: 180px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

.backtest-placeholder-clean {
  color: var(--muted) !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

.hero-result-clean {
  border-radius: 22px !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  background: #fbfcfe !important;
  border: 1px solid #edf1f7 !important;
}

.hero-result-clean small {
  display: block !important;
  color: var(--muted) !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
}

.hero-result-clean strong {
  display: block !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}

.hero-result-clean span {
  display: block !important;
  margin-top: 8px !important;
  font-weight: 900 !important;
}

.positive-hero-clean span {
  color: var(--green) !important;
}

.negative-hero-clean span {
  color: var(--red) !important;
}

@media (max-width: 1300px) {
  .backtest-form-clean {
    grid-template-columns: 1fr 1fr 1fr !important;
  }

  .backtest-action-clean {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .backtest-form-clean {
    grid-template-columns: 1fr !important;
  }

  .backtest-action-clean {
    min-width: 0 !important;
  }
}
