﻿:root{--ink:#20322b;--muted:#718078;--paper:#f8f7f1;--line:#e5e5db;--leaf:#346249;--sage:#dfe9dc;--gold:#bc8734;--rose:#a64c42;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}body.app-booting{overflow:hidden}body.app-booting .app-shell{visibility:hidden}body.app-booting::before{content:"";position:fixed;inset:0;background:#f8f7f1;z-index:99998}body.app-booting::after{content:"Actualizando...";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:99999;color:#20322b;font:600 20px Fraunces,serif;letter-spacing:0;text-align:center}.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:#203a30;color:#f4f3ea;padding:32px 21px 24px;display:flex;flex-direction:column}.brand{font-family:Fraunces,serif;font-size:25px;letter-spacing:-1px;display:flex;gap:8px;align-items:center}.brand i{color:#d9ba78;font-style:normal}.brand-mark{color:#dec17c;font-size:27px}.brand-caption{color:#acc0b2;font-size:12px;letter-spacing:.12em;margin:6px 0 44px 38px;text-transform:uppercase}nav{display:grid;gap:6px}.nav-item{background:transparent;border:0;border-radius:10px;color:#d4e0d6;font:500 14px "DM Sans";padding:12px 13px;text-align:left;cursor:pointer}.nav-item span{display:inline-block;width:25px;color:#b8cbb9;font-size:17px}.nav-item:hover,.nav-item.active{background:#426a54;color:#fff}.sidebar-bottom{margin-top:auto}.side-rule{border-left:2px solid #d8af65;color:#c6d4c6;font:13px/1.55 Fraunces,serif;padding-left:11px;margin:0 4px 22px}.role-switch{width:100%;border:1px solid #688574;border-radius:8px;background:transparent;color:#e5eee5;padding:10px;font:500 13px "DM Sans";cursor:pointer}main{padding:0 46px 52px;max-width:1500px;width:100%;margin:auto}header{height:112px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}#eyebrow,.dialog-head p{font-size:11px;letter-spacing:.13em;color:var(--gold);font-weight:700;margin:0 0 7px}h1,h2,h3,p{margin-top:0}h1{font:600 30px Fraunces,serif;letter-spacing:-.8px;margin-bottom:0}.header-actions{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:13px}.primary,.secondary{border:0;border-radius:8px;padding:11px 15px;font:600 13px "DM Sans";cursor:pointer}.primary{background:var(--leaf);color:white}.secondary{background:#edf0e9;color:var(--ink)}.avatar{width:36px;height:36px;border-radius:50%;background:#dbb871;color:#3d311d;display:grid;place-items:center;font-size:12px;font-weight:700}.view{padding-top:30px}.hero-grid{display:grid;grid-template-columns:1.1fr .86fr .72fr;gap:20px;align-items:stretch}.farm-card{background:#264b3b;border-radius:16px;padding:28px;color:white;min-height:237px;position:relative;overflow:hidden}.farm-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #668574;border-radius:50%;right:-74px;bottom:-128px;box-shadow:0 0 0 28px #315a47,0 0 0 56px #3a624e}.farm-card p{color:#c8dbcc;font-size:13px;margin-bottom:10px}.farm-card .value{font:600 42px Fraunces,serif;letter-spacing:-1.5px;position:relative;z-index:1}.farm-card .tag{display:inline-block;background:#416c54;color:#d8eadb;border-radius:99px;padding:6px 10px;font-size:12px;margin-top:20px;position:relative;z-index:1}.status-card,.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px}.section-label{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:700}.traffic{font:600 27px Fraunces,serif;margin:12px 0 7px}.light{color:var(--muted);font-size:13px;line-height:1.5}.pill{display:inline-block;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700}.pill.green{color:#286640;background:#e1f0e3}.pill.yellow{color:#9b6b12;background:#fff0ca}.pill.red{color:#973c34;background:#fae1df}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.stat .number{font:600 22px Fraunces,serif;margin-top:7px}.stat .delta{font-size:12px;color:#39834f;margin-top:6px}.split{display:grid;grid-template-columns:1.45fr .95fr;gap:20px;margin-top:20px}.card h2{font:600 20px Fraunces,serif;margin-bottom:3px}.card-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:18px}.link-button{color:var(--leaf);border:0;background:transparent;font:600 12px "DM Sans";cursor:pointer}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;letter-spacing:.08em;color:var(--muted);text-align:left;padding:0 0 10px}.table td{border-top:1px solid var(--line);padding:13px 0;font-size:13px}.asset{font-weight:700}.small{color:var(--muted);font-size:12px}.allocation{display:grid;gap:15px}.allocation-row{display:grid;grid-template-columns:95px 1fr 42px;gap:9px;align-items:center;font-size:13px}.bar{height:8px;background:#edf0eb;border-radius:9px;overflow:hidden}.bar span{display:block;height:100%;background:var(--leaf);border-radius:9px}.notice{background:#fff8e9;border:1px solid #edddb4;border-radius:11px;padding:14px;color:#725820;font-size:12px;line-height:1.5;margin-top:18px}.rule-list{display:grid;gap:11px}.rule{border:1px solid var(--line);border-radius:11px;padding:15px 17px;background:#fff}.rule strong{display:block;font-size:13px;margin-bottom:4px}.rule p{color:var(--muted);font-size:12px;margin:0;line-height:1.45}.blackbox{border-left:3px solid var(--gold);padding:0 0 0 16px;margin:17px 0}.blackbox .date{font-size:11px;color:var(--gold);font-weight:700}.participant-top{display:flex;justify-content:space-between;align-items:center;background:#e7eee4;padding:16px 18px;border-radius:11px;margin-bottom:20px}.participant-top p{margin:0;font-size:13px}.empty{text-align:center;padding:56px 20px;color:var(--muted)}dialog{border:0;border-radius:16px;width:min(580px,calc(100% - 32px));box-shadow:0 18px 60px #1f322a55;padding:0}dialog::backdrop{background:#17291f88}dialog form{padding:27px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font:600 24px Fraunces,serif;margin:0}.close{border:0;background:none;font-size:25px;cursor:pointer;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:23px}label{font-size:12px;color:var(--muted);font-weight:600;display:grid;gap:6px}input,select,textarea{border:1px solid #dfe4db;border-radius:7px;padding:10px;font:14px "DM Sans";color:var(--ink);background:#fff}textarea{min-height:80px;resize:vertical}.full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.validation{color:var(--rose);font-size:12px;margin:13px 0 0;min-height:15px}.danger-note{background:#fff1f0;border-color:#f0c7c2;color:#7c352e}.danger-action{background:var(--rose)}.harvest-grid{align-items:start}.harvest-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.harvest-metrics span{background:#f4f6f1;border-radius:8px;padding:9px;font-size:12px}.simulation-result{border:1px solid #d8e4d4;background:#f7fbf5;border-radius:12px;padding:16px;margin-top:16px}.simulation-result.neutral{background:#f7f7f2;border-color:#e4e2d6}.simulation-result .amount{font:600 32px Fraunces,serif;color:var(--leaf);margin:7px 0}.simulator-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:20px}.simulator-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.simulator-form .wide{grid-column:1/-1}.execution-control{color:#d4e0d6;margin-bottom:14px}.execution-control select{margin-top:6px;width:100%;background:#29483b;color:#fff;border-color:#688574}@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr}.manual-cover-card{display:block;text-decoration:none;color:inherit;background:transparent;border:0;border-radius:16px;overflow:hidden;align-self:start;box-shadow:0 14px 32px #20322b12;line-height:0}.manual-cover-card img{width:100%;height:auto;min-height:0;object-fit:initial;object-position:center;background:transparent;display:block;border-radius:16px}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{padding:18px;min-height:auto}.brand-caption,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:14px}.nav-item{white-space:nowrap}main{padding:0 20px 35px}header{height:auto;padding:22px 0;gap:18px}.header-actions #today,.header-actions .primary{display:none}.hero-grid,.split,.simulator-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.admin-only{display:none}.form-grid,.simulator-form{grid-template-columns:1fr}}
.manual-cover-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:237px;position:relative;box-shadow:0 14px 32px #20322b12}.manual-cover-card img{width:100%;height:100%;min-height:237px;object-fit:contain;object-position:center;background:#efe6cf;display:block}.manual-cover-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px #20322b20}.manual-cover-card:focus-visible{outline:3px solid #d8af65;outline-offset:3px}
.manual-cover-card{display:block!important;text-decoration:none;color:inherit;background:transparent!important;border:0!important;border-radius:16px;overflow:hidden;align-self:start!important;min-height:0!important;position:relative;box-shadow:0 14px 32px #20322b12;line-height:0}.manual-cover-card img{width:100%!important;height:auto!important;min-height:0!important;object-fit:initial!important;object-position:center;background:transparent!important;display:block;border-radius:16px}@media(max-width:1100px){.manual-cover-card{grid-column:1/-1;max-width:380px}.manual-cover-card img{height:auto!important}}
.hero-grid .manual-cover-card{height:100%!important;min-height:237px!important;align-self:stretch!important}.hero-grid .manual-cover-card img{height:100%!important;min-height:237px!important;object-fit:cover!important;object-position:center!important}.hero-grid .farm-card,.hero-grid .status-card{min-height:237px}@media(max-width:1100px){.hero-grid .manual-cover-card{height:auto!important;min-height:0!important}.hero-grid .manual-cover-card img{height:auto!important;min-height:0!important;object-fit:contain!important}}
.pulse-card{position:relative;z-index:1;margin-top:18px;background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;padding:12px 12px 10px;max-width:310px}.pulse-card div{display:flex;align-items:end;justify-content:space-between;gap:10px}.pulse-card span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#c8dbcc;font-weight:700}.pulse-card strong{font:600 18px Fraunces,serif;color:#fff}.pulse-card svg{display:block;width:100%;height:74px;margin-top:4px;overflow:visible}.pulse-card polyline{fill:none;stroke:#dec17c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;animation:pulse-draw 1.1s ease-out forwards}.pulse-card .pulse-dot{fill:#fff4c7;stroke:#dec17c;stroke-width:2;filter:drop-shadow(0 0 7px #dec17c);animation:pulse-dot 1.8s ease-in-out infinite}.pulse-card small{display:flex;align-items:center;justify-content:flex-start;height:14px;color:#c8dbcc;font-size:11px;line-height:14px;margin-top:6px;white-space:nowrap;letter-spacing:0;font-variant-numeric:tabular-nums;text-align:left}@keyframes pulse-draw{to{stroke-dashoffset:0}}@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.35);opacity:1}}
body.traffic-green{--signal:#2f7a4d;--signal-dark:#173f2e;--signal-soft:#e7f3ea;--signal-line:#c7dfce;--signal-accent:#d9bd72}
body.traffic-yellow{--signal:#f97316;--signal-dark:#c2410c;--signal-soft:#ffedd5;--signal-line:#fed7aa;--signal-accent:#fb923c}
body.traffic-red{--signal:#d9232e;--signal-dark:#8f111a;--signal-soft:#fee8ea;--signal-line:#f6c7cc;--signal-accent:#ff9aa2}
body.traffic-green .sidebar,body.traffic-green .farm-card{background:linear-gradient(145deg,#173f2e,#2f7a4d)}
body.traffic-yellow .sidebar,body.traffic-yellow .farm-card{background:linear-gradient(145deg,#9a3412,#f97316)}
body.traffic-red .sidebar,body.traffic-red .farm-card{background:linear-gradient(145deg,#8f111a,#d9232e)}
body.traffic-yellow .nav-item:hover,body.traffic-yellow .nav-item.active{background:#ea580c}
body.traffic-red .nav-item:hover,body.traffic-red .nav-item.active{background:#c81e2a}
body.traffic-yellow .primary,body.traffic-yellow .bar span{background:#f97316}
body.traffic-red .primary,body.traffic-red .bar span{background:#d9232e}
body.traffic-yellow .farm-card .tag{background:#ffedd5;color:#9a3412}
body.traffic-red .farm-card .tag{background:#fee8ea;color:#8f111a}
body.traffic-yellow .status-card,body.traffic-yellow .stat{border-color:#fed7aa}
body.traffic-red .status-card,body.traffic-red .stat{border-color:#f6c7cc}
body.traffic-yellow .pulse-card polyline{stroke:#fed7aa}
body.traffic-red .pulse-card polyline{stroke:#ff9aa2}
body.traffic-yellow #eyebrow,body.traffic-yellow .section-label{color:#ea580c}
body.traffic-red #eyebrow,body.traffic-red .section-label{color:#d9232e}
body.traffic-blue{--signal:#2563eb;--signal-dark:#172554;--signal-soft:#dbeafe;--signal-line:#bfdbfe;--signal-accent:#93c5fd}
body.traffic-blue .sidebar,body.traffic-blue .farm-card{background:linear-gradient(145deg,#172554,#2563eb)}
body.traffic-blue .nav-item:hover,body.traffic-blue .nav-item.active{background:#1d4ed8}
body.traffic-green .nav-item:hover,body.traffic-green .nav-item.active{background:#426a54}
body.traffic-blue .primary,body.traffic-blue .bar span{background:#2563eb}
body.traffic-green .primary,body.traffic-green .bar span{background:#2f7a4d}
body.traffic-blue .farm-card .tag{background:#dbeafe;color:#172554}
body.traffic-blue .status-card,body.traffic-blue .stat{border-color:#bfdbfe}
body.traffic-blue .pulse-card polyline{stroke:#93c5fd}
body.traffic-blue #eyebrow,body.traffic-blue .section-label{color:#2563eb}
body.traffic-blue .role-switch{border-color:#93c5fd;color:#eff6ff}
body.traffic-yellow .role-switch{border-color:#fed7aa}
body.traffic-red .role-switch{border-color:#ff9aa2}
body.traffic-blue .link-button{color:#2563eb}
body.traffic-yellow .link-button{color:#ea580c}
body.traffic-red .link-button{color:#d9232e}
.pill.blue{color:#1d4ed8;background:#dbeafe}
.remember-login{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px;color:var(--ink);font-weight:500}.remember-login input{width:auto}
.participant-table{min-width:980px}.compact-action{padding:8px 10px;font-size:12px}.card:has(.participant-table){overflow-x:auto}
.participant-allocation{display:grid;gap:14px}.participant-allocation-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) 54px;gap:14px;align-items:center}.allocation-name{display:grid;gap:3px}.allocation-name strong{font-size:14px}.allocation-name span{font-size:12px;color:var(--muted)}.participant-allocation-row .bar{height:12px}.participant-allocation-row>strong{text-align:right;font-size:13px}
@media(max-width:700px){.participant-allocation-row{grid-template-columns:1fr 54px}.participant-allocation-row .bar{grid-column:1/-1;grid-row:2}}
.participant-dashboard .participant-hero-grid{display:grid;grid-template-columns:1.05fr .95fr 1fr;gap:14px;align-items:stretch}
.participant-dashboard .participant-main-card{min-height:230px}
.participant-name{position:relative;z-index:1;margin-top:18px;color:#d8eadb;font-size:13px;font-weight:700}
.participant-position-card{display:grid;align-content:start}
.position-list{display:grid;gap:10px;margin-top:14px}
.position-list div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:10px;font-size:13px}
.position-list span{color:var(--muted)}
.position-list strong{font-weight:700;text-align:right}
.position-list strong.green{color:#286640}.position-list strong.yellow{color:#9b6b12}.position-list strong.red{color:#973c34}
.participant-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat .delta.green{color:#286640}.stat .delta.yellow{color:#9b6b12}.stat .delta.red{color:#973c34}.personal-stat{border-color:#d7e4d5;background:#fbfdf9}
.participant-transparency-card .rule-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.manual-gate-card{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#d7e4d5;background:#fbfdf9}
.manual-gate-card h2,.access-expired-card h2{font:600 24px Fraunces,serif;margin:6px 0}
.manual-gate-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.manual-gate-steps span{border:1px solid #c9dbc7;background:#eef7eb;color:#2d5c39;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.manual-gate-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.manual-gate-actions a{text-decoration:none;display:inline-block}
.manual-quiz-dialog{width:min(760px,calc(100% - 32px))}
.manual-quiz-questions{display:grid;gap:14px;margin-top:18px}
.manual-quiz-question{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fbfbf7}
.manual-quiz-question legend{font-weight:700;font-size:13px;padding:0 4px}
.manual-quiz-question label{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;margin-top:10px;color:var(--ink);font-weight:500;line-height:1.4}
.manual-quiz-question input{width:auto;margin-top:2px}
.access-expired-card{max-width:720px;margin:auto}
@media(max-width:1100px){.participant-dashboard .participant-hero-grid{grid-template-columns:1fr}.participant-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.participant-stats,.participant-transparency-card .rule-list{grid-template-columns:1fr}.manual-gate-card{display:grid}.manual-gate-actions{align-items:stretch}.manual-gate-actions>*{width:100%;text-align:center}}
.manual-equity-controls{display:grid;grid-template-columns:minmax(170px,240px);margin:0 0 14px}.manual-equity-table input{width:130px;max-width:100%}.provisional-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.success-note{background:#f0f8ef;border-color:#cfe5cc;color:#285f39}@media(max-width:850px){.manual-equity-controls{grid-template-columns:1fr}.manual-equity-table{display:block;overflow-x:auto}.provisional-stats{grid-template-columns:1fr 1fr}}
.portfolio-total-row td{border-top:2px solid var(--leaf);font-weight:700;background:#f7faf5}.portfolio-total-row td:first-child{border-radius:8px 0 0 8px}.portfolio-total-row td:last-child{border-radius:0 8px 8px 0}

/* Ajuste visual compacto: centra la experiencia y baja la escala general. */
.app-shell{grid-template-columns:220px minmax(0,1fr)}
.sidebar{padding:24px 16px 20px}
.brand{font-size:22px;letter-spacing:0}
.brand-mark{font-size:23px}.brand-caption{font-size:10px;margin:5px 0 30px 31px}
.nav-item{border-radius:8px;font-size:13px;padding:9px 11px}.nav-item span{width:21px;font-size:15px}
.side-rule{font-size:12px;line-height:1.45;margin-bottom:16px}
main{max-width:1120px;padding:0 28px 38px}
header{height:86px}.header-actions{gap:9px;flex-wrap:wrap;justify-content:flex-end}.primary,.secondary{padding:9px 12px;font-size:12px}
h1{font-size:25px;letter-spacing:0}.view{padding-top:22px}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr) 150px;gap:14px;max-width:100%}
.hero-grid .manual-cover-card{display:block!important;min-height:188px!important;height:188px!important;align-self:stretch!important;box-shadow:0 10px 24px #20322b14}
.hero-grid .manual-cover-card img{height:188px!important;min-height:188px!important;object-fit:cover!important}
.farm-card{min-height:188px!important;border-radius:12px;padding:21px}.hero-grid .farm-card,.hero-grid .status-card{min-height:188px}
.farm-card .value{font-size:34px;letter-spacing:0}.farm-card:after{width:190px;height:190px;right:-82px;bottom:-112px}
.status-card,.card{border-radius:12px;padding:18px}
.traffic{font-size:23px;margin:9px 0 5px}.card h2{font-size:18px}.card-head{margin-bottom:13px}
.stats{gap:11px;margin:14px 0}.stat{border-radius:10px;padding:14px}.stat .number{font-size:19px}
.split{gap:14px;margin-top:14px}.table th{font-size:10px}.table td{padding:10px 0;font-size:12px}
.notice{border-radius:9px;padding:11px;margin-top:13px}.allocation{gap:11px}
.pulse-card{margin-top:13px;max-width:260px;padding:10px}.pulse-card svg{height:56px}.pulse-card strong{font-size:16px}
.manual-equity-table input{width:108px;padding:8px}.provisional-stats{gap:11px}
.dashboard-complete{display:grid;gap:12px;margin-top:14px}.manual-coinbase-card{margin-top:0}.coinbase-capture-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.coinbase-capture-form .wide{grid-column:auto}.data-stats{margin:0}.data-stats .stat .number{font-size:18px}.manual-mini-card{display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink)}.manual-mini-card strong{font:600 18px Fraunces,serif}.manual-mini-card span:last-child{color:var(--muted);font-size:12px}.clean-dashboard{gap:10px}.compact-head{align-items:center;margin-bottom:10px}.compact-head h2{margin:0}.clean-form{grid-template-columns:repeat(5,minmax(0,1fr))}.clean-stats .stat{display:grid;align-content:center;min-height:82px}.clean-stats .light{display:none}
.coinbase-config-dialog{width:min(760px,calc(100% - 32px))}.key-value-grid{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:22px;background:#fff}.kv-head,.kv-key,.kv-value{padding:12px;border-bottom:1px solid var(--line)}.kv-head{background:#f1f3ed;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.kv-key{font:700 13px "DM Sans";color:var(--ink);background:#fafaf6}.kv-value{display:block;margin:0}.kv-value input,.kv-value textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.kv-value textarea{min-height:140px}.key-value-grid>*:nth-last-child(-n+2){border-bottom:0}
@media(max-width:1100px){main{max-width:980px}.hero-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.hero-grid .manual-cover-card{display:block!important;max-width:180px;height:auto!important;min-height:0!important}.hero-grid .manual-cover-card img{height:auto!important;min-height:0!important;object-fit:contain!important}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{padding:14px}main{padding:0 16px 30px}header{padding:18px 0}.hero-grid,.stats,.provisional-stats,.coinbase-capture-form{grid-template-columns:1fr}.header-actions{justify-content:flex-start}}
@media(min-width:851px) and (max-width:1100px){.app-shell{grid-template-columns:216px minmax(0,1fr)}.sidebar{padding:24px 16px}.brand{font-size:22px}.brand-caption{margin-bottom:28px}main{max-width:none;padding:0 24px 40px}header{height:96px}.header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.header-actions .primary,.header-actions .secondary{padding:8px 10px;font-size:12px}.view{padding-top:22px}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) 132px!important;gap:12px!important;align-items:stretch}.farm-card,.hero-grid .farm-card,.status-card,.hero-grid .status-card{min-height:166px!important;border-radius:12px;padding:16px}.farm-card .value{font-size:27px;letter-spacing:0}.farm-card .tag{margin-top:10px;padding:5px 8px;font-size:11px}.farm-card:after{width:150px;height:150px;right:-82px;bottom:-92px}.pulse-card{margin-top:10px;padding:8px;max-width:210px}.pulse-card div{align-items:center}.pulse-card strong{font-size:14px}.pulse-card svg{height:40px}.traffic{font-size:22px;margin:8px 0 5px}.status-card .light,.sync-note{font-size:12px;line-height:1.35}.notice{margin-top:10px;padding:10px}.hero-grid .manual-cover-card{display:block!important;max-width:none!important;width:100%!important;min-height:166px!important;height:166px!important;align-self:stretch!important}.hero-grid .manual-cover-card img{height:166px!important;min-height:166px!important;object-fit:cover!important}.dashboard-complete{margin-top:12px;gap:10px}.manual-coinbase-card{padding:14px}.manual-coinbase-card .card-head{margin-bottom:10px}.manual-coinbase-card h2{font-size:18px}.coinbase-capture-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.coinbase-capture-form label{font-size:11px}.coinbase-capture-form input{padding:8px;font-size:12px}.coinbase-capture-form .primary{padding:9px 10px;align-self:end}.data-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.data-stats .stat{padding:12px}.data-stats .stat .number{font-size:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.stat{padding:13px}.stat .number{font-size:18px}.split{gap:14px;margin-top:14px}}
@media(min-width:851px) and (max-width:1100px){.hero-grid .manual-cover-card{grid-column:auto!important}.status-card>p.light{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-card>.notice{display:none}.status-card .coinbase-live{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.status-card .coinbase-live .sync-note{display:none}.status-card .coinbase-live strong{font-size:18px}.status-card .coinbase-live .section-label{display:block;margin-bottom:4px}}
@media(min-width:851px) and (max-width:1100px){.pulse-card{min-height:0}.pulse-card svg{display:block;height:44px}.pulse-card small{display:block;font-size:10px}.hero-grid .farm-card,.hero-grid .status-card{height:208px!important}.hero-grid .manual-cover-card,.hero-grid .manual-cover-card img{height:208px!important;min-height:208px!important}}
@media(min-width:851px){.hero-grid .farm-card,.hero-grid .status-card,.hero-grid .manual-cover-card{height:208px!important;min-height:208px!important}.hero-grid .manual-cover-card img{height:208px!important;min-height:208px!important;object-fit:cover!important}.pulse-card{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.dashboard-news-grid{grid-template-columns:1fr 1fr}
.finca-feed-card{min-width:0}
.feed-list{display:grid;gap:9px}
.feed-item{display:block;text-decoration:none;color:var(--ink);border-top:1px solid var(--line);padding:9px 0 0}
.feed-item:first-child{border-top:0;padding-top:0}
.feed-item span{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-bottom:3px}
.feed-item strong{display:block;font-size:13px;line-height:1.32}
.dividend-strip{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:7px}

/* Balance visual del tablero superior: valor, semaforo y manual con presencia pareja. */
@media(min-width:1101px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.98fr) minmax(250px,.76fr)!important;
    gap:18px!important;
    align-items:stretch!important;
  }
  .hero-grid .farm-card,
  .hero-grid .status-card,
  .hero-grid .manual-cover-card{
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    border-radius:16px!important;
  }
  .hero-grid .farm-card{
    padding:26px!important;
  }
  .hero-grid .farm-card .value{
    font-size:42px!important;
    letter-spacing:0!important;
    line-height:1.04!important;
  }
  .hero-grid .farm-card .pulse-card{
    margin-top:58px!important;
    max-width:280px!important;
  }
  .hero-grid .farm-card .pulse-card svg{
    height:62px!important;
  }
  .hero-grid .status-card{
    padding:24px!important;
  }
  .hero-grid .manual-cover-card{
    display:grid!important;
    place-items:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .hero-grid .manual-cover-card img{
    width:100%!important;
    height:100%!important;
    min-height:330px!important;
    object-fit:cover!important;
    object-position:center top!important;
    background:transparent!important;
    border-radius:16px!important;
  }
  .hero-grid .status-card>.notice{
    display:none!important;
  }
}

body.app-booting::after{
  content:none!important;
}

@media(min-width:851px) and (max-width:1100px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(160px,.72fr)!important;
  }
  .hero-grid .farm-card,
  .hero-grid .status-card,
  .hero-grid .manual-cover-card,
  .hero-grid .manual-cover-card img{
    height:220px!important;
    min-height:220px!important;
  }
  .hero-grid .manual-cover-card img{
    object-fit:cover!important;
    object-position:center top!important;
    background:transparent!important;
  }
  .hero-grid .status-card>.notice{
    display:none!important;
  }
  .hero-grid .farm-card .value{
    font-size:32px!important;
    line-height:1.05!important;
  }
}
.dividend-strip>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.dividend-strip strong{font-size:12px}
.dividend-strip span{color:var(--muted)}
@media(max-width:1100px){.dashboard-news-grid{grid-template-columns:1fr}}

/* Mantiene los controles administrativos cerca del menu, sin caer al fondo del panel. */
.sidebar-bottom{
  margin-top:38px!important;
  padding-top:6px;
}

.monthly-gain{
  margin-top:14px;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.monthly-gain-value{
  font:600 42px Fraunces,serif;
  letter-spacing:0;
  line-height:1;
  margin:7px 0 8px;
}
.monthly-gain.extraordinary .monthly-gain-value{color:#1f7a45}
.monthly-gain.excellent .monthly-gain-value{color:#2f6b4a}
.monthly-gain.good .monthly-gain-value{color:#bc8734}
.monthly-gain.progress .monthly-gain-value{color:#9b6b12}
.monthly-gain.review .monthly-gain-value{color:#973c34}
.monthly-gain-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:13px;
  margin-top:0;
}
.monthly-gain-amount{
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}
.monthly-goal-note{
  margin:10px 0 0;
  border-radius:10px;
  background:#fff8e9;
  border:1px solid #edddb4;
  color:#725820;
  padding:9px 10px;
  font-size:11px;
  line-height:1.3;
}

@media(min-width:1101px){
  .monthly-gain-value{
    font-size:42px;
  }
}

.pill.blue{
  color:#1f4f8f;
  background:#e4efff;
}
.monthly-gain.extraordinary .monthly-gain-value{
  color:#1f4f8f;
}
.monthly-gain.excellent .monthly-gain-value{
  color:#2f6b4a;
}

@media(min-width:851px){
  .hero-grid .status-card{
    height:auto!important;
    min-height:220px!important;
  }
}

.farm-card-stack{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.farm-card-stack .farm-card{
  width:100%;
}
.update-status-note{
  display:block;
  width:100%;
  max-width:100%;
  padding:0 2px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  color:#346249!important;
  box-shadow:none!important;
  font-size:11px!important;
  line-height:1.25!important;
}
.update-status-note strong{
  color:#285f39;
  font-weight:700;
}
.participant-update-note{
  white-space:nowrap;
}
@media(min-width:1101px){
  .hero-grid{
    margin-bottom:56px!important;
  }
  .hero-grid .farm-card-stack,
  .hero-grid .status-card,
  .hero-grid .manual-cover-card{
    height:350px!important;
    min-height:350px!important;
  }
  .hero-grid .farm-card-stack .farm-card{
    height:350px!important;
    min-height:350px!important;
  }
  .hero-grid .farm-card-stack .pulse-card{
    margin-top:72px!important;
  }
  .hero-grid .status-card{
    overflow:hidden;
  }
}
@media(min-width:851px) and (max-width:1100px){
  .app-shell{
    grid-template-columns:196px minmax(0,1fr)!important;
  }
  main{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(142px,.72fr)!important;
    gap:10px!important;
    margin-bottom:52px!important;
  }
  .hero-grid .farm-card-stack,
  .hero-grid .status-card,
  .hero-grid .manual-cover-card{
    height:266px!important;
    min-height:266px!important;
  }
  .hero-grid .farm-card-stack .farm-card{
    height:266px!important;
    min-height:266px!important;
  }
  .hero-grid .manual-cover-card{
    grid-column:auto!important;
    max-width:none!important;
  }
  .hero-grid .manual-cover-card,
  .hero-grid .manual-cover-card img{
    height:266px!important;
    min-height:266px!important;
  }
  .hero-grid .farm-card .value{
    font-size:29px!important;
  }
  .hero-grid .farm-card .pulse-card{
    margin-top:28px!important;
  }
  .hero-grid .status-card{
    overflow:hidden!important;
    padding:15px!important;
  }
  .hero-grid .status-card>.light{
    font-size:11.5px!important;
    line-height:1.25!important;
    margin-bottom:0!important;
  }
  .hero-grid .status-card .monthly-gain{
    margin-top:7px!important;
    padding-top:7px!important;
  }
  .hero-grid .status-card .monthly-gain-value{
    font-size:44px!important;
    line-height:.95!important;
    margin:4px 0 6px!important;
  }
  .hero-grid .status-card .monthly-gain-row{
    gap:8px!important;
  }
  .hero-grid .status-card .monthly-goal-note{
    margin-top:5px!important;
    padding:6px 8px!important;
    font-size:9.5px!important;
    line-height:1.12!important;
    max-height:31px!important;
    overflow:hidden!important;
  }
  .farm-card-stack{
    display:block!important;
  }
  .farm-card-stack .update-status-note{
    position:absolute!important;
    top:calc(100% + 7px)!important;
    left:0!important;
    right:0!important;
    padding:0 2px!important;
    font-size:10px!important;
    line-height:1.15!important;
    max-height:44px!important;
    overflow:hidden!important;
  }
  .farm-card-stack .update-status-note br{
    display:block!important;
  }
}

@media(min-width:851px) and (max-width:1100px){
  header{
    height:auto!important;
    min-height:96px!important;
    padding:14px 0 12px!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  header>div:first-child{
    flex:0 0 250px!important;
    min-width:250px!important;
    padding-top:0!important;
  }
  #pageTitle{
    white-space:nowrap!important;
    font-size:24px!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  .header-actions{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:7px!important;
    justify-content:flex-end!important;
    align-content:flex-start!important;
  }
  .header-actions #today{
    display:none!important;
  }
}
@media(min-width:1101px){
  .hero-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(min-width:851px){
  .farm-card-stack{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .farm-card-stack .update-status-note{
    position:static;
    left:auto;
    right:auto;
    top:auto;
    margin-top:0!important;
    z-index:3;
  }
}

@media(min-width:1101px){
  .hero-grid .status-card .traffic{
    margin:8px 0 6px;
  }
  .hero-grid .status-card>.light{
    line-height:1.38;
    margin-bottom:10px;
  }
  .hero-grid .status-card .monthly-gain{
    margin-top:10px;
    padding-top:10px;
  }
  .hero-grid .status-card .monthly-gain-value{
    margin:5px 0 7px;
  }
  .hero-grid .status-card .monthly-goal-note{
    margin-top:8px;
    padding:8px 9px;
    line-height:1.22;
  }
}

.brand-logo-card{
  display:block;
  width:100%;
  max-width:202px;
  margin:0 auto 34px;
  padding:0 4px 4px;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.brand-logo-card img{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 auto;
  height:auto;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.16)) saturate(1.03) contrast(1.03);
}

.archive-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.archive-actions .secondary{
  padding:8px 10px;
  font-size:12px;
}
.language-switch{
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px;
  border:1px solid #d8dfd5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px #20322b0d;
}
.lang-option{
  width:38px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  cursor:pointer;
  line-height:1;
  padding:3px;
}
.lang-option img{
  display:block;
  width:28px;
  height:19px;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 1px 3px #20322b24;
}
.lang-option.active{
  background:#f4f7f2;
  border-color:#bccbbf;
  box-shadow:0 2px 8px #20322b14,inset 0 0 0 1px #eef3ec;
}

.exchange-hero{
  display:grid;
  grid-template-columns:1fr .9fr 1fr;
  gap:16px;
  align-items:stretch;
}
.exchange-card{
  border-radius:16px;
  padding:20px;
  border:1px solid var(--line);
}
.primary-exchange-card{
  background:#1d4ed8;
  color:#fff;
  box-shadow:0 14px 30px #1d4ed824;
}
.primary-exchange-card .section-label,
.primary-exchange-card small{
  color:#eaf2ff;
}
.primary-exchange-card > .section-label,
body.traffic-blue .primary-exchange-card > .section-label,
body.traffic-green .primary-exchange-card > .section-label,
body.traffic-yellow .primary-exchange-card > .section-label,
body.traffic-red .primary-exchange-card > .section-label{
  color:#fff7d6;
  opacity:1;
}
.primary-exchange-card h2{
  font:600 25px Fraunces,serif;
  margin:7px 0;
}
.primary-exchange-card p{
  color:#eef6ff;
  font-size:12.5px;
  line-height:1.45;
}
.exchange-quote-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #ffffff2b;
  margin-top:18px;
  padding-top:18px;
}
.exchange-quote-line strong{
  font:600 24px Fraunces,serif;
}
.exchange-quote-breakdown{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  border-top:1px solid #ffffff2b;
  margin-top:14px;
  padding-top:14px;
}
.exchange-quote-breakdown.admin-detail{
  grid-template-columns:1fr;
}
.exchange-quote-breakdown div{
  display:block;
  background:#ffffff12;
  border:1px solid #ffffff22;
  border-radius:10px;
  min-width:0;
  overflow:hidden;
  padding:10px 12px 11px;
}
.exchange-quote-breakdown span{
  display:block;
  color:#e5efff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.15;
  margin-bottom:6px;
}
.exchange-quote-breakdown strong{
  display:block;
  margin-top:0;
  color:#fff;
  font:600 clamp(21px,2vw,26px) Fraunces,serif;
  line-height:1.05;
  overflow-wrap:normal;
  text-align:left;
}
.exchange-quote-breakdown .commission-fee{
  padding:10px 12px;
  background:#ffffff0d;
}
.exchange-quote-breakdown.client-detail .commission-fee{
  display:block;
}
.exchange-quote-breakdown .commission-fee span{
  margin-bottom:0;
  font-size:11px;
}
.exchange-quote-breakdown .commission-fee strong{
  font-size:clamp(14px,1.3vw,18px);
  opacity:.9;
}
.exchange-quote-breakdown .dop{
  display:block;
  background:#ffffff20;
  border-color:#ffffff55;
  padding:11px 13px;
}
.exchange-quote-breakdown .dop span{
  margin-bottom:6px;
}
.exchange-quote-breakdown .dop strong{
  color:#fff7d6;
  font-size:clamp(20px,1.8vw,25px);
  text-align:left;
}
.exchange-invite-card{
  margin:14px 0;
}
.exchange-client-sidebar-promo{
  display:none;
}
body.exchange-client-mode .exchange-client-sidebar-promo{
  display:block;
  margin-top:24px;
  color:#dce8de;
}
body.exchange-client-mode .exchange-sidebar-invite{
  border-left:2px solid #d8af65;
  padding:4px 0 2px 16px;
}
body.exchange-client-mode .exchange-client-sidebar-promo span{
  display:block;
  color:#d9ba78;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:12px;
}
body.exchange-client-mode .exchange-client-sidebar-promo strong{
  display:block;
  font:600 20px Fraunces,serif;
  line-height:1.18;
  margin-bottom:18px;
}
body.exchange-client-mode .exchange-client-sidebar-promo p{
  color:#bdd0c1;
  font-size:12.5px;
  line-height:1.62;
  margin:0 0 14px;
  max-width:220px;
}
body.exchange-client-mode .exchange-client-sidebar-promo p b{
  color:#f4f3ea;
  font-weight:800;
  display:block;
  margin-bottom:2px;
}
body.exchange-client-mode .exchange-client-sidebar-promo button{
  margin-top:12px;
  width:100%;
  border:1px solid #77937f;
  border-radius:8px;
  background:#ffffff10;
  color:#fff;
  padding:12px 10px;
  font:700 12px "DM Sans";
  cursor:pointer;
}
body.exchange-client-mode .exchange-client-sidebar-promo button:hover{
  background:#ffffff1c;
}
body.exchange-client-mode .exchange-client-sidebar-promo .seed-sidebar-action{
  margin-top:18px;
  background:#ffffff18;
  border-color:#d8af65;
}
body.exchange-client-mode .exchange-client-sidebar-promo .rules-sidebar-action{
  margin-top:24px;
  background:#ffffff08;
  color:#dce8de;
  border-color:#607a68;
}
.exchange-policy-compact{
  display:none;
}
.exchange-rules-dialog{
  max-width:720px;
  padding:26px;
  width:min(760px,calc(100% - 32px));
}
.exchange-rules-dialog .dialog-head{
  align-items:flex-start;
  margin-bottom:18px;
}
.exchange-rules-dialog .dialog-head p{
  margin-bottom:9px;
}
.exchange-rules-dialog .dialog-head h2{
  line-height:1.12;
}
.exchange-rules-dialog .close{
  margin-top:-8px;
}
.dialog-policy{
  display:grid;
  gap:12px;
  margin-top:0;
}
.dialog-policy div{
  background:#f7faf4;
  border:1px solid #dfe8dc;
  border-radius:10px;
  padding:12px;
}
.dialog-policy span{
  color:#21352c;
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  margin-bottom:5px;
  text-transform:uppercase;
}
.dialog-policy p{
  color:#647268;
  font-size:13px;
  line-height:1.5;
  margin:0;
}
.copy-line{
  display:flex;
  align-items:center;
  gap:10px;
  background:#f4f8f2;
  border:1px solid #dce7dc;
  border-radius:10px;
  padding:10px;
}
.copy-line span{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#24563d;
  font-size:12px;
  font-weight:700;
}
.exchange-client-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.exchange-client-form .full{
  grid-column:1/-1;
}
.exchange-client-farm-preview{
  margin-bottom:20px;
}
.seed-choice{
  border:1px solid #dce7dc;
  background:#f6faf5;
  border-radius:12px;
  padding:12px;
}
.seed-choice .remember-login{
  color:#24563d;
  font-size:13px;
}
.seed-choice .remember-login input{
  margin-right:8px;
}
.seed-amount-row{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) 1fr;
  gap:12px;
  align-items:end;
  margin-top:10px;
}
.seed-amount-row p{
  margin:0;
}
.exchange-settings-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.exchange-settings-form button{
  grid-column:1/-1;
}
.exchange-admin-hero{
  grid-template-columns:minmax(320px,.9fr) minmax(300px,.7fr);
}
.exchange-admin-lists-wrap{
  margin-top:16px;
}
.exchange-admin-lists{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.exchange-list-editor{
  background:#fbfcf8;
  border:1px solid #e5ece2;
  border-radius:12px;
  padding:14px;
}
.exchange-list-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.exchange-list-editor-head span{
  display:block;
  color:#21352c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.exchange-list-editor-head small{
  color:#728076;
  display:block;
  font-size:11px;
  line-height:1.35;
  margin:0;
}
.exchange-list-tools{
  display:flex;
  gap:6px;
  flex:0 0 auto;
}
.exchange-edit-rows{
  display:grid;
  gap:9px;
}
.exchange-edit-row{
  display:grid;
  gap:8px;
  align-items:center;
}
.exchange-edit-row.payment-row{
  grid-template-columns:1fr auto;
}
.exchange-edit-row.bank-row{
  grid-template-columns:minmax(120px,.8fr) minmax(120px,1fr) minmax(150px,1fr) minmax(120px,.9fr) auto;
}
.exchange-edit-row.wallet-row{
  grid-template-columns:minmax(90px,.55fr) minmax(110px,.65fr) minmax(220px,1.8fr) auto;
}
.exchange-edit-row input{
  width:100%;
  min-width:0;
  border:1px solid #dbe6d8;
  border-radius:8px;
  background:#fff;
  padding:10px;
  font-size:12px;
  color:#21352c;
}
.exchange-list-help{
  margin-top:14px;
  background:#eef4ee;
  border:1px solid #dce7dc;
  border-radius:10px;
  color:#24563d;
  font-size:12px;
  font-weight:700;
  line-height:1.45;
  padding:11px 12px;
}
.exchange-ticker{
  display:flex;
  gap:10px;
  overflow:hidden;
  white-space:nowrap;
  background:#eef4ee;
  border:1px solid #dce7dc;
  border-radius:999px;
  padding:9px 12px;
  margin:14px 0;
  color:#24563d;
  font-size:12px;
  font-weight:700;
}
.exchange-ticker span{
  animation:exchange-ticker 18s linear infinite;
}
.exchange-option-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.exchange-option-list span{
  border:1px solid #dce7dc;
  background:#f4f8f2;
  color:#24563d;
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:700;
}
.participant-exchange-view .notice{
  margin-top:16px;
}
.participant-voucher-card{
  margin:20px 0;
}
.compact-policy-note{
  margin:0 0 16px;
  padding:10px 12px;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.compact-policy-note .link-button{
  white-space:nowrap;
}
.participant-voucher-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.participant-voucher-form .full{
  grid-column:1/-1;
}
.nav-item{
  display:flex;
  align-items:center;
  gap:9px;
}
.nav-item .nav-icon{
  display:inline-grid!important;
  place-items:center;
  flex:0 0 22px;
  width:22px!important;
  height:22px;
  border-radius:7px;
  color:#173126!important;
  font-size:12px!important;
  font-weight:800;
  line-height:1;
  box-shadow:inset 0 0 0 1px #ffffff45;
}
.nav-item[data-view="overview"] .nav-icon{background:#e9c46a}
.nav-item[data-view="portfolio"] .nav-icon{background:#77c47a}
.nav-item[data-view="participants"] .nav-icon{background:#8fd3f4}
.nav-item[data-view="exchange"] .nav-icon{background:#6ea8fe}
.nav-item[data-view="operations"] .nav-icon{background:#f4a261}
.nav-item[data-view="reports"] .nav-icon{background:#d6b4fc}
.nav-item[data-view="personal"] .nav-icon{background:#ffd166}
.nav-item[data-view="family"] .nav-icon{background:#90be6d}
.nav-item[data-view="simulator"] .nav-icon{background:#b7e4c7}
.nav-item[data-view="blackbox"] .nav-icon{background:#a8b0b8}
.nav-item[data-view="rules"] .nav-icon{background:#f5d0a9}
.nav-item:hover .nav-icon,
.nav-item.active .nav-icon{
  background:#f7f2df;
  color:#20322b!important;
}
.fee-settings-form,
.reports-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end;
  margin:0 0 18px;
}
.fee-settings-form{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.participant-fee-accounting{
  margin-top:20px;
}
.fee-stats,
.report-stats,
.report-mini-stats{
  margin-bottom:0;
}
.sidebar-preview-links{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.sidebar-preview-link{
  display:block;
  text-align:center;
  text-decoration:none;
}
.sidebar-preview-link:hover{
  background:#426a54;
  color:#fff;
}
.reports-view .card{
  overflow:hidden;
}
.report-toolbar{
  margin-bottom:14px;
}
.report-title-card{
  margin-bottom:14px;
}
.report-bars{
  display:grid;
  gap:13px;
}
.report-bar-row{
  display:grid;
  gap:7px;
}
.report-bar-row>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:13px;
}
.report-bar-row span{
  color:var(--muted);
  font-weight:700;
}
.report-bar-track{
  height:12px;
  background:#eef2ea;
  border-radius:99px;
  overflow:hidden;
}
.report-bar-track i{
  display:block;
  height:100%;
  border-radius:99px;
  background:var(--leaf);
}
.report-bar-track i.blue{background:#2563eb}
.report-bar-track i.yellow{background:#d89a2b}
.report-bar-track i.red{background:#d9232e}
@media print{
  body{
    background:#fff;
  }
  .sidebar,
  header,
  .no-print{
    display:none!important;
  }
  .app-shell{
    display:block;
  }
  main{
    max-width:none;
    padding:0;
  }
  .view{
    padding:0;
  }
  .card,
  .stat{
    break-inside:avoid;
    box-shadow:none!important;
  }
  .split,
  .stats{
    grid-template-columns:1fr 1fr!important;
  }
}
@keyframes exchange-ticker{
  from{transform:translateX(0)}
  to{transform:translateX(-42px)}
}
@media(max-width:850px){
  .exchange-quote-breakdown,
  .exchange-quote-breakdown.admin-detail,
  .exchange-client-form,
  .seed-amount-row{
    grid-template-columns:1fr;
  }
  .exchange-hero{
    grid-template-columns:1fr;
  }
  .exchange-settings-form{
    grid-template-columns:1fr;
  }
  .exchange-edit-row.payment-row,
  .exchange-edit-row.bank-row,
  .exchange-edit-row.wallet-row{
    grid-template-columns:1fr;
  }
  .exchange-list-editor-head{
    flex-direction:column;
  }
  .participant-voucher-form{
    grid-template-columns:1fr;
  }
  .fee-settings-form,
  .reports-form{
    grid-template-columns:1fr;
  }
  .exchange-card,
  .exchange-view .card{
    border-radius:12px;
    padding:16px;
  }
  .exchange-quote-line strong{
    font-size:21px;
  }
  .exchange-stats{
    grid-template-columns:1fr 1fr;
  }
  .exchange-view .card-head{
    gap:10px;
    flex-direction:column;
  }
  .exchange-view .card-head .primary,
  .exchange-view .card-head .secondary{
    width:100%;
  }
}
body.exchange-client-mode .sidebar-bottom{
  display:none;
}
body.exchange-client-mode .nav-item[data-view="overview"]::after{
  content:"";
}

.avatar{
  border:0;
  cursor:pointer;
}

.avatar:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
}

.avatar:focus-visible{
  outline:3px solid #d8af65;
  outline-offset:3px;
}

.profile-summary{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:20px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfbf7;
}

.profile-avatar-large{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#dbb871;
  color:#3d311d;
  display:grid;
  place-items:center;
  font-weight:800;
}

.profile-summary strong{
  display:block;
  font:600 20px Fraunces,serif;
}

.profile-summary span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
}

.profile-actions{
  align-items:center;
}

.danger-outline{
  border:1px solid #efc3bd!important;
  background:#fff7f6!important;
  color:var(--rose)!important;
}

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

  .app-shell,
  .sidebar,
  main,
  header,
  .view,
  .hero-grid,
  .farm-card-stack,
  .farm-card,
  .status-card,
  .manual-cover-card,
  .stats,
  .split,
  .dashboard-complete,
  .card,
  .exchange-view,
  .exchange-card,
  .exchange-hero{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .sidebar{
    overflow:hidden;
  }

  .sidebar nav{
    display:flex;
    gap:8px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:5px;
    -webkit-overflow-scrolling:touch;
  }

  .nav-item{
    flex:0 0 auto;
    white-space:nowrap;
  }

  header{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    height:auto!important;
    min-height:0!important;
    padding:18px 0 14px!important;
  }

  .header-actions{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    justify-content:stretch;
    gap:8px;
    overflow:visible;
    padding-bottom:0;
  }

  .header-actions #today{
    display:none!important;
  }

  .header-actions .secondary{
    min-width:0;
    width:100%;
    padding:10px 12px;
    text-align:center;
    white-space:normal;
    line-height:1.15;
  }

  .header-actions .admin-only{
    display:none!important;
  }

  body.admin-mode .header-actions #configureCoinbase,
  body.admin-mode .header-actions #syncCoinbase{
    display:block!important;
  }

  body.admin-mode .header-actions #diagnoseCoinbase,
  body.admin-mode .header-actions #newOperation{
    display:none!important;
  }

  .header-actions .primary,
  .header-actions .secondary,
  .header-actions .avatar,
  .language-switch{
    min-width:0;
    white-space:nowrap;
  }

  .language-switch{
    justify-self:start;
    grid-column:1;
    gap:5px;
    padding:3px;
    border-radius:999px;
  }

  .lang-option{
    width:34px;
    height:24px;
    border-radius:999px;
    padding:2px;
  }

  .lang-option img{
    width:28px;
    height:18px;
    border-radius:2px;
  }

  .header-actions .avatar{
    grid-column:2;
    justify-self:end;
    width:38px;
    height:38px;
  }

  .header-actions #signIn,
  .header-actions #configureCoinbase,
  .header-actions #syncCoinbase{
    grid-column:span 1;
    min-height:42px;
  }

  .header-actions #syncCoinbase{
    grid-column:1 / -1;
  }

  .hero-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    margin-bottom:18px!important;
  }

  .hero-grid .farm-card-stack,
  .hero-grid .status-card,
  .hero-grid .manual-cover-card{
    height:auto!important;
    min-height:0!important;
  }

  .hero-grid .farm-card{
    height:auto!important;
    min-height:280px!important;
  }

  .hero-grid .manual-cover-card{
    max-width:none!important;
  }

  .hero-grid .manual-cover-card img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    object-fit:contain!important;
  }

  .farm-card .value{
    font-size:clamp(34px,12vw,44px)!important;
    overflow-wrap:anywhere;
  }

  .pulse-card{
    max-width:100%!important;
    width:100%;
  }

  .pulse-card small,
  .participant-update-note,
  .update-status-note{
    white-space:normal!important;
  }

  .monthly-gain-value{
    font-size:clamp(44px,15vw,60px)!important;
  }

  .card{
    overflow-x:auto;
  }

  .stat .number,
  .exchange-quote-breakdown strong{
    overflow-wrap:anywhere;
  }
  .exchange-quote-breakdown strong{
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* AhorraLink: marca publica separada de Salud & Paz. */
body.ahorralink-public-mode{
  --ahl-ink:#07111f;
  --ahl-muted:#5a6a77;
  --ahl-blue:#16bfe8;
  --ahl-blue-dark:#075985;
  --ahl-line:#d8e8ef;
  --ahl-paper:#f7fbfd;
  background:var(--ahl-paper);
  color:var(--ahl-ink);
}
body.ahorralink-public-mode .app-shell{
  display:block!important;
  min-height:100vh;
}
body.ahorralink-public-mode .sidebar,
body.ahorralink-public-mode main>header{
  display:none!important;
}
body.ahorralink-public-mode main{
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
body.ahorralink-public-mode .view{
  padding:0!important;
}
.ahl-public-shell{
  min-height:100vh;
  background:
    radial-gradient(circle at top left,#dff8ff 0,#f7fbfd 32%,transparent 52%),
    linear-gradient(180deg,#fff 0,#f7fbfd 100%);
}
.ahl-public-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:78px;
  padding:16px clamp(18px,4vw,56px);
  border-bottom:1px solid var(--ahl-line);
  background:#ffffffde;
  backdrop-filter:blur(14px);
}
.ahl-logo-lockup,
.ahl-brand-inline{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--ahl-ink);
  text-decoration:none;
  font:800 26px "DM Sans",sans-serif;
  letter-spacing:-.03em;
}
.ahl-logo-lockup img,
.ahl-brand-inline img{
  width:44px;
  height:44px;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
}
.ahl-logo-lockup i,
.ahl-brand-inline i{
  color:var(--ahl-blue);
  font-style:normal;
}
.ahl-public-header nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.ahl-public-header nav a{
  color:var(--ahl-muted);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.ahl-public-header nav a.active{
  color:#047a99;
  background:#e6faff;
  border-radius:999px;
  padding:8px 10px;
}
.ahl-primary,
.ahl-secondary{
  border:0;
  border-radius:8px;
  padding:11px 16px;
  font:800 13px "DM Sans",sans-serif;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.ahl-primary{
  background:linear-gradient(135deg,#0891b2,#22d3ee);
  color:#fff;
  box-shadow:0 10px 24px #0891b233;
}
.ahl-secondary{
  background:#fff;
  color:var(--ahl-blue-dark);
  border:1px solid var(--ahl-line);
}
.ahl-public-main{
  max-width:1180px;
  margin:0 auto;
  padding:42px clamp(16px,4vw,34px) 76px;
}
.ahl-hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);
  gap:34px;
  align-items:center;
  min-height:520px;
}
.ahl-kicker{
  color:#047a99;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  margin:0 0 12px;
}
.ahl-hero h1{
  font:800 clamp(42px,7vw,76px)/.95 "DM Sans",sans-serif;
  letter-spacing:-.06em;
  max-width:850px;
  margin:0 0 22px;
}
.ahl-hero p{
  color:var(--ahl-muted);
  font-size:18px;
  line-height:1.55;
  max-width:720px;
}
.ahl-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.ahl-hero-card{
  border:1px solid var(--ahl-line);
  border-radius:8px;
  padding:26px;
  background:#fff;
  box-shadow:0 22px 60px #0b314015;
}
.ahl-hero-card img{
  width:130px;
  height:130px;
  object-fit:contain;
  display:block;
  margin:0 auto 20px;
}
.ahl-hero-card strong{
  display:block;
  font:800 21px "DM Sans",sans-serif;
  margin-bottom:8px;
}
.ahl-hero-card p{
  font-size:14px;
  line-height:1.55;
  margin:0;
}
.ahl-role-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);
  gap:24px;
  align-items:stretch;
  padding:34px;
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 22px 60px #0b314010;
}
.ahl-role-hero h1{
  font:800 clamp(36px,5vw,58px)/1 "DM Sans",sans-serif;
  max-width:820px;
  margin:0 0 18px;
}
.ahl-role-hero p{
  max-width:720px;
  color:var(--ahl-muted);
  font-size:17px;
  line-height:1.6;
}
.ahl-role-hero aside{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:12px;
  min-height:260px;
  color:#fff;
  text-align:center;
  border-radius:8px;
  background:linear-gradient(135deg,#06131f,#0891b2 70%,#22d3ee);
  padding:24px;
}
.ahl-role-hero aside img{
  width:104px;
  height:104px;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
}
.ahl-role-hero aside strong{
  font:800 26px "DM Sans",sans-serif;
}
.ahl-role-hero aside span{
  max-width:260px;
  color:#d5f4fa;
  line-height:1.45;
}
.ahl-flow,
.ahl-section,
.ahl-map-band,
.ahl-multiply-band{
  margin-top:34px;
}
.ahl-flow h2,
.ahl-section h2,
.ahl-map-band h2,
.ahl-multiply-band h2{
  font:800 34px "DM Sans",sans-serif;
  letter-spacing:-.04em;
  margin-bottom:18px;
}
.ahl-flow>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.ahl-flow article,
.ahl-plan-card,
.ahl-ledger-grid>div{
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
}
.ahl-flow article{
  display:grid;
  gap:14px;
  padding:18px;
}
.ahl-flow b{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e6faff;
  color:#047a99;
}
.ahl-map-band,
.ahl-multiply-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);
  gap:20px;
  align-items:center;
  border-radius:8px;
  background:#07111f;
  color:#fff;
  padding:30px;
  overflow:hidden;
}
.ahl-map-band p,
.ahl-multiply-band p,
.ahl-multiply-band li{
  color:#c7d6df;
  line-height:1.55;
}
.ahl-map-card{
  min-height:210px;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px solid #2b5365;
  border-radius:8px;
  background:linear-gradient(135deg,#0e7490,#07111f);
  padding:22px;
}
.ahl-map-card span{
  width:74px;
  height:74px;
  border-radius:50%;
  background:#22d3ee;
  box-shadow:0 0 0 18px #22d3ee22,0 0 0 42px #22d3ee12;
}
.ahl-map-card strong{
  display:block;
  font-size:22px;
}
.ahl-map-card small{
  color:#c7d6df;
}
.ahl-section-head{
  max-width:720px;
}
.ahl-section-head p{
  color:var(--ahl-muted);
  line-height:1.55;
}
.ahl-directory{
  margin-top:34px;
}
.ahl-directory-controls{
  display:grid;
  grid-template-columns:minmax(250px,.8fr) minmax(0,1fr);
  gap:14px;
  align-items:end;
  margin-top:18px;
}
.ahl-directory-controls label{
  display:grid;
  gap:8px;
  color:#047a99;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ahl-directory-controls input{
  width:100%;
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  color:var(--ahl-ink);
  padding:12px 13px;
  font:700 14px "DM Sans",sans-serif;
  outline:none;
}
.ahl-directory-controls input:focus{
  border-color:#16bfe8;
  box-shadow:0 0 0 4px #16bfe81a;
}
.ahl-directory-controls>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ahl-directory-controls button{
  border:1px solid var(--ahl-line);
  border-radius:999px;
  background:#fff;
  color:#38606d;
  padding:9px 11px;
  font:900 12px "DM Sans",sans-serif;
  cursor:pointer;
}
.ahl-directory-controls button.active{
  border-color:#0891b2;
  background:#e6faff;
  color:#047a99;
}
.ahl-directory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.ahl-directory-card,
.ahl-directory-empty{
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  padding:18px;
  box-shadow:0 14px 34px #0b31400d;
}
.ahl-directory-card{
  display:grid;
  gap:14px;
}
.ahl-directory-card span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#e6faff;
  color:#047a99;
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ahl-directory-card strong,
.ahl-directory-empty strong{
  display:block;
  font:800 22px "DM Sans",sans-serif;
  letter-spacing:-.03em;
  margin-top:10px;
}
.ahl-directory-card p,
.ahl-directory-empty p{
  color:var(--ahl-muted);
  line-height:1.5;
  margin:8px 0 0;
}
.ahl-directory-card dl{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 12px;
  margin:0;
  padding-top:14px;
  border-top:1px solid var(--ahl-line);
}
.ahl-directory-card dt{
  color:var(--ahl-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ahl-directory-card dd{
  margin:0;
  color:#07111f;
  font-size:13px;
  font-weight:800;
  text-align:right;
}
.ahl-directory-empty{
  grid-column:1/-1;
  min-height:150px;
  display:grid;
  align-content:center;
  background:linear-gradient(135deg,#fff,#e6faff);
}
.ahl-map-link{
  display:inline-flex;
  justify-content:center;
  width:100%;
  border-radius:8px;
  background:#07111f;
  color:#fff;
  padding:10px 12px;
  font:900 13px "DM Sans",sans-serif;
  text-decoration:none;
}
.ahl-receipt-card,
.ahl-invoice-card,
.ahl-receipt-empty{
  border:1px solid #d9eef4;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbfd);
  padding:18px;
  margin-top:14px;
}
.ahl-receipt-top{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid #d9eef4;
  margin-bottom:14px;
}
.ahl-receipt-top img{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
}
.ahl-receipt-top span{
  display:block;
  color:#047a99;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.ahl-receipt-top strong{
  display:block;
  color:#07111f;
  font:900 20px "DM Sans",sans-serif;
}
.ahl-receipt-card dl,
.ahl-invoice-card dl{
  display:grid;
  grid-template-columns:1fr auto;
  gap:9px 12px;
  margin:0;
}
.ahl-receipt-card dt,
.ahl-invoice-card dt{
  color:#5a6a77;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ahl-receipt-card dd,
.ahl-invoice-card dd{
  margin:0;
  color:#07111f;
  font-size:13px;
  font-weight:900;
  text-align:right;
}
.ahl-receipt-card p,
.ahl-invoice-card p,
.ahl-receipt-empty p{
  color:#5a6a77;
  font-size:13px;
  line-height:1.5;
}
.ahl-receipt-card .ahl-primary{
  width:100%;
  margin-top:8px;
}
.ahl-invoice-card dd small{
  display:block;
  margin-top:2px;
  color:#5a6a77;
  font-size:11px;
  font-weight:700;
}
.ahl-invoice-card .ahl-row-actions{
  margin-top:14px;
}
.ahl-invoice-card .ahl-primary,
.ahl-invoice-card .ahl-secondary{
  justify-content:center;
  min-height:42px;
}
.ahl-plan-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.ahl-plan-card{
  padding:18px;
}
.ahl-plan-card>div{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}
.ahl-plan-card span{
  font-weight:900;
}
.ahl-plan-card strong{
  font:800 28px "DM Sans",sans-serif;
  color:#047a99;
}
.ahl-plan-card dl{
  display:grid;
  gap:9px;
  margin:0;
}
.ahl-plan-card dt{
  color:var(--ahl-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ahl-plan-card dd{
  margin:-6px 0 4px;
  font-size:13px;
}
.ahl-multiply-band{
  background:linear-gradient(135deg,#e6faff,#fff);
  color:var(--ahl-ink);
  border:1px solid var(--ahl-line);
}
.ahl-multiply-band p,
.ahl-multiply-band li{
  color:var(--ahl-muted);
}
.ahl-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.ahl-route-grid article{
  min-height:170px;
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  padding:20px;
  box-shadow:0 12px 34px #0b31400c;
}
.ahl-route-grid b{
  display:block;
  color:#047a99;
  font:900 15px "DM Sans",sans-serif;
  margin-bottom:10px;
}
.ahl-route-grid p{
  color:var(--ahl-muted);
  line-height:1.55;
  margin:0;
}
.ahl-user-preview{
  display:grid;
  grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);
  gap:24px;
  align-items:center;
  margin-top:34px;
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  padding:26px;
  box-shadow:0 18px 48px #0b314010;
}
.ahl-user-preview h2{
  font:800 38px "DM Sans",sans-serif;
  letter-spacing:-.05em;
  margin:0 0 12px;
}
.ahl-user-preview p{
  color:var(--ahl-muted);
  line-height:1.58;
}
.ahl-user-phone{
  border-radius:28px;
  padding:18px;
  color:#fff;
  background:linear-gradient(155deg,#06131f,#075985 58%,#16bfe8);
  box-shadow:0 24px 58px #07598525;
}
.ahl-phone-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:900;
  margin-bottom:18px;
}
.ahl-phone-top b{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  color:#075985;
  background:#fff;
}
.ahl-points-balance{
  border:1px solid #ffffff2e;
  border-radius:18px;
  padding:18px;
  background:#ffffff14;
}
.ahl-points-grid{
  display:grid;
  gap:12px;
}
.ahl-points-balance.pending{
  border-color:#fde68a66;
  background:linear-gradient(145deg,#fef3c71f,#ffffff10);
}
.ahl-points-balance.pending span,
.ahl-points-balance.pending small{
  color:#fff2bd;
}
.ahl-points-balance.pending strong{
  color:#ffe9a3;
}
.ahl-points-balance span,
.ahl-points-balance small{
  display:block;
  color:#d5f4fa;
  font-weight:800;
}
.ahl-points-balance strong{
  display:block;
  font:900 54px/1 "DM Sans",sans-serif;
  letter-spacing:-.06em;
  margin:8px 0;
}
.ahl-user-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.ahl-user-list p{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0;
  border-radius:12px;
  background:#ffffff12;
  padding:12px;
  color:#d5f4fa;
}
.ahl-user-list b{
  color:#fff;
  white-space:nowrap;
}
.ahl-countdown-line{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  margin-top:6px;
}
.ahl-clock{
  width:14px;
  height:14px;
  border:2px solid currentColor;
  border-radius:50%;
  display:inline-block;
  position:relative;
  flex:0 0 auto;
  opacity:.9;
}
.ahl-clock:before,
.ahl-clock:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  background:currentColor;
  border-radius:2px;
  transform-origin:bottom center;
}
.ahl-clock:before{
  height:5px;
  transform:translate(-50%,-100%) rotate(0deg);
}
.ahl-clock:after{
  height:4px;
  transform:translate(-50%,-100%) rotate(90deg);
}
.ahl-lead-card{
  display:grid;
  grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin-top:34px;
  border:1px solid var(--ahl-line);
  border-radius:8px;
  background:#fff;
  padding:24px;
  box-shadow:0 18px 48px #0b314010;
}
.ahl-lead-card h2{
  font:800 30px "DM Sans",sans-serif;
  letter-spacing:-.04em;
  margin:0 0 10px;
}
.ahl-lead-card p{
  color:var(--ahl-muted);
  line-height:1.55;
}
.ahl-public-form{
  margin-top:0;
}
.ahl-form-status{
  min-height:22px;
  margin:0;
  color:#047a99;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}
.ahl-form-status.error{
  color:#b91c1c;
}
.ahl-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.ahl-row-actions .link-button{
  padding:6px 8px;
  border-radius:7px;
  background:#f2fbfd;
  color:#047a99;
}
.ahl-row-actions .danger-link{
  background:#fff7f6;
  color:#b91c1c;
}
.ahl-business-dashboard{
  margin-top:34px;
  padding:26px;
  border:1px solid var(--ahl-line);
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f7fcff);
  box-shadow:0 18px 48px #0b314010;
}
.ahl-business-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:14px;
  margin-top:20px;
}
.ahl-business-card{
  border:1px solid var(--ahl-line);
  border-radius:10px;
  background:#fff;
  padding:20px;
  box-shadow:0 12px 30px #0b31400c;
}
.ahl-business-card.main{
  display:flex;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(135deg,#fff,#eafaff);
}
.ahl-business-card span,
.ahl-business-metrics span,
.ahl-feature-preview span{
  display:block;
  color:#047a99;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ahl-business-card h3,
.ahl-feature-preview h3{
  font:900 28px "DM Sans",sans-serif;
  letter-spacing:-.05em;
  margin:8px 0 8px;
  color:#07111f;
}
.ahl-business-card p,
.ahl-feature-preview p{
  color:var(--ahl-muted);
  line-height:1.5;
  margin:0;
}
.ahl-business-status{
  display:flex;
  align-content:flex-start;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.ahl-business-card.qr{
  text-align:center;
}
.ahl-qr-box{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  border-radius:18px;
  background:repeating-linear-gradient(45deg,#07111f 0 7px,#fff 7px 14px);
  color:#16bfe8;
  font-weight:900;
  box-shadow:inset 0 0 0 10px #fff,0 10px 26px #07111f18;
}
.ahl-alert-strip{
  margin-top:14px;
  border:1px solid #f2d592;
  border-radius:10px;
  background:#fff8e6;
  color:#83560a;
  padding:12px 14px;
  font-weight:800;
  line-height:1.4;
}
.ahl-business-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.ahl-business-metrics>div{
  border:1px solid #d9eef4;
  border-radius:10px;
  background:#fff;
  padding:16px;
}
.ahl-business-metrics strong{
  display:block;
  color:#07111f;
  font:900 25px "DM Sans",sans-serif;
  letter-spacing:-.04em;
  margin:6px 0 4px;
}
.ahl-business-metrics small{
  color:var(--ahl-muted);
  line-height:1.35;
}
.ahl-business-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.ahl-form.compact{
  grid-template-columns:1fr;
}
.ahl-form.compact button.full{
  justify-self:stretch;
}
.ahl-feature-preview{
  margin-top:14px;
}
.ahl-feature-preview article{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
  align-items:center;
  border:1px solid #d9eef4;
  border-radius:10px;
  background:#07111f;
  color:#fff;
  padding:16px;
  overflow:hidden;
}
.ahl-feature-preview img,
.ahl-feature-placeholder{
  width:100%;
  aspect-ratio:4/3;
  border-radius:10px;
  object-fit:cover;
  background:linear-gradient(135deg,#0e7490,#16bfe8);
}
.ahl-feature-placeholder{
  display:grid;
  place-items:center;
  color:#dffaff;
  font-weight:900;
}
.ahl-feature-preview h3,
.ahl-feature-preview p{
  color:#fff;
}
.ahl-feature-preview strong{
  display:inline-flex;
  margin-top:12px;
  border-radius:999px;
  background:#e6faff;
  color:#047a99;
  padding:8px 11px;
  font-size:13px;
}
.ahl-business-report{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.ahl-business-report article{
  border-radius:10px;
  background:#e6faff;
  border:1px solid #bdebf5;
  padding:16px;
}
.ahl-business-report b{
  color:#07111f;
}
.ahl-business-report p{
  color:#38606d;
  line-height:1.5;
  margin:8px 0 0;
}
.ahl-admin-view .ahl-admin-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,.42fr);
  gap:18px;
  align-items:stretch;
  padding:24px;
  border:1px solid #d9eef4;
  border-radius:12px;
  background:linear-gradient(135deg,#f5fcff,#fff);
}
.ahl-admin-hero h2{
  font:800 34px "DM Sans",sans-serif;
  letter-spacing:-.05em;
  margin:14px 0 8px;
}
.ahl-cloud-note{
  display:inline-flex;
  max-width:100%;
  margin:10px 0 0;
  border:1px solid #d9eef4;
  border-radius:8px;
  background:#fff;
  color:#38606d;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.ahl-brand-inline{
  font-size:24px;
}
.ahl-rule-card{
  border-radius:8px;
  padding:20px;
  color:#fff;
  background:linear-gradient(135deg,#06131f,#0891b2);
}
.ahl-rule-card span{
  display:block;
  color:#9eeaff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:12px;
}
.ahl-rule-card strong{
  display:block;
  font:800 24px "DM Sans",sans-serif;
  margin-bottom:8px;
}
.ahl-rule-card p{
  color:#d5f4fa;
  line-height:1.5;
  margin:0;
}
.ahl-split{
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
}
.ahl-plans-admin .ahl-plan-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.ahl-ledger-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.ahl-ledger-grid>div{
  padding:16px;
}
.ahl-ledger-grid span{
  display:block;
  font-weight:900;
  color:#047a99;
  margin-bottom:8px;
}
.ahl-ledger-grid p{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  margin:0;
}
.ahl-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0;
}
.ahl-tabs button{
  border:1px solid #d9eef4;
  background:#fff;
  color:#38606d;
  border-radius:8px;
  padding:10px 13px;
  font:800 12px "DM Sans",sans-serif;
  cursor:pointer;
}
.ahl-tabs button.active{
  background:#0891b2;
  border-color:#0891b2;
  color:#fff;
  box-shadow:0 10px 24px #0891b222;
}
.ahl-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.ahl-form.settings{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ahl-form .full{
  grid-column:1/-1;
}
.ahl-form button.full{
  justify-self:start;
}
.table-scroll{
  overflow:auto;
}
.table-scroll table{
  min-width:760px;
}
.ahl-ledger-grid.mini{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ahl-ledger-grid.mini>div{
  background:#f7fbfd;
}
.ahl-founder-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:18px;
  align-items:stretch;
  border-color:#bcebf3;
  background:linear-gradient(135deg,#ffffff,#f2fbfd);
}
.ahl-founder-number{
  border-radius:16px;
  background:#082f3d;
  color:#fff;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ahl-founder-number span{
  color:#95e8f7;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ahl-founder-number strong{
  font-family:"Fraunces",serif;
  font-size:34px;
  line-height:1;
  margin:8px 0;
}
.ahl-founder-number p{
  color:#d5f4fa;
  line-height:1.45;
  margin:0;
}
.ahl-settings-section{
  border-top:1px solid #d9eef4;
  padding-top:18px;
  margin-top:8px;
}
.ahl-settings-section h3{
  margin:0 0 4px;
  color:#082f3d;
}
.ahl-scale-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);
  gap:18px;
  align-items:center;
  margin-bottom:18px;
  border-color:#bfe8f2;
  background:linear-gradient(135deg,#fff 0%,#f2fbfe 100%);
}
.ahl-scale-health{
  border:1px solid #caedf5;
  border-radius:12px;
  padding:18px;
  background:#fff;
}
.ahl-scale-health span{
  display:block;
  color:#047a99;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ahl-scale-health strong{
  display:block;
  font:700 34px Fraunces,serif;
  margin:6px 0;
}
.ahl-scale-health strong.green{
  color:#187c53;
}
.ahl-scale-health strong.yellow{
  color:#a26c07;
}
.ahl-scale-health p{
  margin:0;
  color:var(--ahl-muted);
  font-size:13px;
}
.ahl-scale-grid>div{
  min-height:104px;
}
@media(max-width:980px){
  .ahl-public-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .ahl-public-header nav{
    width:100%;
    justify-content:flex-start;
    overflow:auto;
    padding-bottom:4px;
  }
  .ahl-hero,
  .ahl-role-hero,
  .ahl-lead-card,
  .ahl-map-band,
  .ahl-multiply-band,
  .ahl-scale-hero,
  .ahl-founder-hero,
  .ahl-admin-view .ahl-admin-hero,
  .ahl-business-grid,
  .ahl-business-editor,
  .ahl-feature-preview article,
  .ahl-split{
    grid-template-columns:1fr;
  }
  .ahl-flow>div,
  .ahl-route-grid,
  .ahl-plan-grid,
  .ahl-plans-admin .ahl-plan-grid,
  .ahl-directory-grid,
  .ahl-business-metrics,
  .ahl-business-report,
  .ahl-ledger-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ahl-user-preview{
    grid-template-columns:1fr;
  }
  .ahl-business-card.main{
    display:block;
  }
  .ahl-business-status{
    justify-content:flex-start;
    margin-top:12px;
  }
  .ahl-form,
  .ahl-form.settings{
    grid-template-columns:1fr;
  }
  .ahl-directory-controls{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  body.ahorralink-public-mode main{
    padding:0!important;
  }
  .ahl-public-header{
    position:relative;
    min-height:0;
    padding:14px 16px;
  }
  .ahl-logo-lockup{
    font-size:24px;
  }
  .ahl-public-header .ahl-primary{
    width:100%;
  }
  .ahl-public-main{
    padding:24px 14px 50px;
  }
  .ahl-hero{
    min-height:0;
    gap:22px;
  }
  .ahl-hero h1{
    font-size:42px;
  }
  .ahl-hero p{
    font-size:16px;
  }
  .ahl-role-hero{
    grid-template-columns:1fr;
    padding:22px;
  }
  .ahl-role-hero h1{
    font-size:36px;
  }
  .ahl-role-hero p{
    font-size:16px;
  }
  .ahl-flow>div,
  .ahl-route-grid,
  .ahl-plan-grid,
  .ahl-plans-admin .ahl-plan-grid,
  .ahl-directory-grid,
  .ahl-ledger-grid,
  .ahl-stats{
    grid-template-columns:1fr;
  }
  .ahl-user-preview{
    padding:18px;
  }
  .ahl-user-preview h2{
    font-size:32px;
  }
  .ahl-business-dashboard{
    padding:18px;
  }
  .ahl-business-metrics,
  .ahl-business-report{
    grid-template-columns:1fr;
  }
  .ahl-map-band,
  .ahl-multiply-band{
    padding:22px;
  }
}

.theme-toggle{
  min-width:74px;
}
.personal-farm-view .dashboard-complete{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.personal-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:24px;
  align-items:center;
  margin-bottom:20px;
  background:linear-gradient(135deg,#ffffff,#f2f7ef);
}
.personal-hero h2{
  font:600 30px Fraunces,serif;
  letter-spacing:0;
  margin:8px 0 10px;
  max-width:760px;
}
.personal-security-badge{
  border:1px solid #d8e4d4;
  border-radius:14px;
  padding:18px;
  background:#f7fbf5;
  display:grid;
  gap:6px;
}
.personal-security-badge strong{
  font:600 22px Fraunces,serif;
}
.personal-tile-grid,
.family-wallet-grid,
.blackbox-module-grid,
.personal-owner-grid,
.personal-bridge-grid,
.personal-flow-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.personal-tile,
.family-wallet-grid>div,
.blackbox-module-grid>div,
.personal-owner-grid>div,
.personal-bridge-grid>div,
.personal-flow-steps>div{
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  background:#fbfcf8;
}
.personal-tile strong,
.family-wallet-grid strong,
.blackbox-module-grid strong,
.personal-owner-grid strong,
.personal-bridge-grid strong,
.personal-flow-steps strong{
  display:block;
  margin:4px 0 6px;
  font:600 18px Fraunces,serif;
}
.personal-tile p,
.family-wallet-grid p,
.blackbox-module-grid p,
.personal-owner-grid p,
.personal-bridge-grid p,
.personal-flow-steps p{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  margin:0;
}
.family-wallet-grid span,
.blackbox-module-grid span,
.personal-owner-grid span,
.personal-bridge-grid span{
  color:var(--gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.personal-business-bridge{
  grid-column:1/-1;
  border-color:#cfe0d1;
  background:linear-gradient(135deg,#ffffff,#f5fbf7);
}
.family-shared-bridge{
  border-color:#d9e6d6;
}
.personal-flow-card{
  border-color:#ead8ad;
  background:linear-gradient(135deg,#ffffff,#fffaf0);
}
.personal-flow-steps{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.personal-form-card{
  grid-column:1/-1;
}
.personal-inline-form{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:end;
  margin:16px 0;
}
.personal-inline-form label{
  display:grid;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
}
.personal-inline-form .full{
  grid-column:1/-1;
}
.personal-inline-form button{
  min-height:42px;
}
.compact-ledger{
  margin-top:8px;
}
.compact-action{
  padding:8px 10px;
  min-height:0;
}
.personal-bridge-grid strong{
  font-size:22px;
}
.personal-bridge-breakdown{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.personal-bridge-breakdown>div{
  border:1px solid #d8e4d4;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.personal-bridge-breakdown span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.personal-bridge-breakdown strong{
  display:block;
  margin-top:4px;
  font:600 18px Fraunces,serif;
}
.personal-upload-band{
  margin-top:16px;
  border:1px solid #d8e4d4;
  border-radius:14px;
  background:#f4faf4;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.personal-upload-band.family{
  background:#fff9ed;
  border-color:#ecdab0;
}
.personal-file-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--leaf);
  color:#fff;
  padding:11px 14px;
  cursor:pointer;
  white-space:nowrap;
}
.personal-file-button input{
  display:none;
}
.calm-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.calm-steps span{
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 12px;
  color:var(--ink);
  background:#f7fbf5;
  font-size:12px;
  font-weight:700;
}
.personal-blackbox-card{
  grid-column:1/-1;
}
.personal-blackbox-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
@media(max-width:850px){
  .personal-farm-view .dashboard-complete,
  .personal-hero,
  .personal-tile-grid,
  .family-wallet-grid,
  .blackbox-module-grid,
  .personal-owner-grid,
  .personal-bridge-grid,
  .personal-flow-steps,
  .personal-bridge-breakdown,
  .calm-steps,
  .personal-inline-form{
    grid-template-columns:1fr;
  }
  .personal-upload-band{
    align-items:stretch;
    flex-direction:column;
  }
}
.ahl-public-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.theme-night{
  --ink:#edf7f0;
  --muted:#a9b8b0;
  --paper:#0d1411;
  --line:#26382f;
  --leaf:#3fa36b;
  --sage:#17231d;
  --gold:#e3bb69;
  --rose:#e07a70;
  --white:#121c17;
  background:#0d1411;
  color:#edf7f0;
}
body.theme-night.app-booting::before{
  background:#0d1411;
}
body.theme-night.app-booting::after{
  color:#edf7f0;
}
body.theme-night .app-shell,
body.theme-night main{
  background:#0d1411;
}
body.theme-night header{
  border-color:#26382f;
}
body.theme-night .secondary,
body.theme-night input,
body.theme-night select,
body.theme-night textarea{
  background:#17231d;
  color:#edf7f0;
  border-color:#334a3f;
}
body.theme-night .card,
body.theme-night .stat,
body.theme-night .status-card,
body.theme-night .manual-cover-card,
body.theme-night .rule,
body.theme-night .participant-top,
body.theme-night .manual-mini-card,
body.theme-night dialog form,
body.theme-night .profile-summary,
body.theme-night .manual-quiz-question,
body.theme-night .exchange-accounting-card,
body.theme-night .finca-feed-card,
body.theme-night .simulation-result,
body.theme-night .key-value-grid,
body.theme-night .kv-key,
body.theme-night .kv-value{
  background:#121c17;
  border-color:#26382f;
  color:#edf7f0;
}
body.theme-night .table td,
body.theme-night .feed-item,
body.theme-night .dividend-strip{
  border-color:#26382f;
}
body.theme-night .bar,
body.theme-night .harvest-metrics span,
body.theme-night .kv-head{
  background:#223329;
}
body.theme-night .notice{
  background:#241f14;
  border-color:#5b4521;
  color:#f1d28f;
}
body.theme-night .empty,
body.theme-night .light,
body.theme-night .small,
body.theme-night .rule p,
body.theme-night label,
body.theme-night .manual-mini-card span:last-child,
body.theme-night .feed-item span{
  color:#a9b8b0;
}
body.theme-night dialog::backdrop{
  background:#030605cc;
}
body.theme-night .manual-gate-steps span,
body.theme-night .pill.green{
  background:#183827;
  border-color:#2f6b47;
  color:#bdf0cb;
}
body.theme-night .pulse-card small,
body.theme-night .pulse-card span,
body.theme-night .farm-card p,
body.theme-night .participant-name{
  color:#d6eadc;
}
body.theme-night .exchange-ticker{
  background:#10231c;
  border-color:#294739;
  color:#dbf3e3;
}
body.theme-night.ahorralink-public-mode,
body.theme-night .ahl-public-shell{
  --ahl-ink:#e8fbff;
  --ahl-muted:#9fc0c9;
  --ahl-paper:#07111f;
  --ahl-line:#1e3a49;
  background:#07111f;
  color:#e8fbff;
}
body.theme-night .ahl-public-header,
body.theme-night .ahl-hero-card,
body.theme-night .ahl-role-hero,
body.theme-night .ahl-flow article,
body.theme-night .ahl-plan-card,
body.theme-night .ahl-directory-card,
body.theme-night .ahl-directory-empty,
body.theme-night .ahl-lead-card,
body.theme-night .ahl-business-dashboard,
body.theme-night .ahl-business-card,
body.theme-night .ahl-business-metrics>div,
body.theme-night .ahl-admin-view .ahl-admin-hero,
body.theme-night .ahl-ledger-grid>div,
body.theme-night .ahl-receipt-card,
body.theme-night .ahl-invoice-card,
body.theme-night .ahl-receipt-empty,
body.theme-night .ahl-tabs button{
  background:#0d1b2a;
  border-color:#1e3a49;
  color:#e8fbff;
}
body.theme-night .ahl-business-card.main,
body.theme-night .ahl-multiply-band,
body.theme-night .ahl-directory-empty,
body.theme-night .ahl-user-preview{
  background:linear-gradient(135deg,#0d1b2a,#082f49);
}
body.theme-night .personal-hero,
body.theme-night .personal-security-badge,
body.theme-night .personal-tile,
body.theme-night .family-wallet-grid>div,
body.theme-night .blackbox-module-grid>div,
body.theme-night .personal-owner-grid>div,
body.theme-night .calm-steps span{
  background:#121c17;
  border-color:#26382f;
  color:#edf7f0;
}
body.theme-night .personal-upload-band{
  background:#13251c;
  border-color:#294739;
}
body.theme-night .personal-upload-band.family{
  background:#241f14;
  border-color:#5b4521;
}
body.theme-night .ahl-public-header nav a,
body.theme-night .ahl-logo-lockup,
body.theme-night .ahl-business-card h3,
body.theme-night .ahl-feature-preview h3,
body.theme-night .ahl-directory-card strong,
body.theme-night .ahl-directory-empty strong,
body.theme-night .ahl-route-grid b,
body.theme-night .ahl-business-metrics strong,
body.theme-night .ahl-flow article b{
  color:#e8fbff;
}
body.theme-night .ahl-public-header nav a.active,
body.theme-night .ahl-secondary,
body.theme-night .theme-toggle,
body.theme-night .ahl-tabs button.active{
  background:#10283a;
  border-color:#1e6f87;
  color:#dffaff;
}
body.theme-night .ahl-directory-controls input,
body.theme-night .ahl-directory-controls button,
body.theme-night .ahl-form input,
body.theme-night .ahl-form select,
body.theme-night .ahl-form textarea{
  background:#07111f;
  color:#e8fbff;
  border-color:#1e3a49;
}
body.theme-night .ahl-kicker,
body.theme-night .ahl-ledger-grid span{
  color:#67e8f9;
}
body.theme-night .ahl-public-header .ahl-primary,
body.theme-night .ahl-primary{
  background:#06b6d4;
  color:#04131a;
}
body.theme-night .ahl-points-balance.pending{
  background:#132235;
  border-color:#2d5874;
}
@media(max-width:620px){
  .ahl-public-actions{
    width:100%;
  }
  .ahl-public-actions .theme-toggle,
  .ahl-public-actions .ahl-primary{
    flex:1 1 130px;
  }
}

.performance-promo{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.performance-promo>div{
  border:1px solid rgba(47,111,71,.18);
  background:rgba(47,111,71,.07);
  border-radius:10px;
  padding:8px 9px;
  min-width:0;
}
.performance-promo span{
  display:block;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.performance-promo strong{
  display:block;
  margin-top:2px;
  font-family:Georgia,serif;
  font-size:1rem;
  color:var(--leaf);
}
.performance-history-card{
  margin-top:18px;
}
.performance-history-card h3{
  margin:0 0 10px;
  font-size:1rem;
  color:var(--ink);
}
.performance-history-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:18px;
  align-items:start;
}
.performance-chip-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.performance-chip-grid.months{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.performance-chip{
  min-height:58px;
  border:1px solid var(--line);
  background:#fffefa;
  border-radius:12px;
  padding:9px 10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.performance-chip small{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.performance-chip strong{
  font-family:Georgia,serif;
  font-size:1.05rem;
  color:var(--leaf);
}
.performance-chip.blue strong{color:#2858a8}
.performance-chip.green strong{color:#2f7c4e}
.performance-chip.yellow strong{color:#b47a22}
.performance-chip.red strong{color:#d8212d}
.performance-chip.live{
  border-color:#d9b76f;
  background:#fff9ea;
}
.performance-chip.empty{
  background:#f7f6ef;
  color:var(--muted);
}
.performance-chip.empty strong{
  color:#9a9a8e;
}
body.theme-night .performance-promo>div,
body.theme-night .performance-chip{
  background:#17231d;
  border-color:#294739;
}
body.theme-night .performance-chip.live{
  background:#241f14;
  border-color:#5b4521;
}
body.theme-night .performance-chip.empty{
  background:#111a16;
}
body.theme-night .performance-history-card h3{
  color:#edf7f0;
}
@media(max-width:900px){
  .performance-history-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .performance-promo{
    grid-template-columns:1fr;
  }
  .performance-chip-grid,
  .performance-chip-grid.months{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

