.profit-section{margin:12px 0 44px}.profit-section .section-line{margin-bottom:24px}.profit-assumption{font-size:11px;color:#777}.profit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.profit-card{padding:8px 26px 14px;min-width:0;border-left:1px solid #e9e9e9;display:flex;flex-direction:column}.profit-card:first-child{padding-left:0;border-left:0}.profit-card .eyebrow{font-size:9px;letter-spacing:.1em;margin:0 0 15px;color:#999}.profit-card h3{margin:10px 0 0;font-size:14px;order:2}.profit-card strong{font-size:clamp(21px,2.6vw,38px);font-weight:600;letter-spacing:-.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.profit-card>p:last-child{color:#999;font:10px ui-monospace,monospace;line-height:1.5;margin:9px 0 0;order:3}.profit-footnote{font:10px ui-monospace,monospace;color:#888;margin:24px 0 0}.combined strong{color:#f4511e}

:root{color:#171717;background:#fff;font-family:Arial,Helvetica,sans-serif}main{max-width:1400px;padding:28px 44px}.mark{background:#171717;border-radius:3px}.brand{color:#171717}.sub,.muted,.eyebrow,.card p,.card small,.event-time,footer{color:#888}header{border-color:#e9e9e9}.intro{padding:36px 0 24px}h1{font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.05em}.intro-note strong{color:#f4511e}.intro-note{color:#888}button{background:#171717;border-radius:4px}.quiet{color:#333;border-color:#ddd;border-radius:4px}.badge{background:#fafafa;border-color:#e5e5e5;color:#666;border-radius:4px}.panel{background:#fff;border-color:#e5e5e5;border-radius:3px}.channels{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid #e9e9e9;padding-top:28px}.channel{border:1px solid #e6e6e6;padding:24px 22px 20px;min-width:0}.channel-heading{margin-bottom:28px}.channel-heading h2{font-size:20px;font-weight:500;letter-spacing:-.04em}.channel-heading>span:last-child{font:11px ui-monospace,monospace;color:#999}.dot,.two,.three{background:#f4511e;width:5px;height:5px}.pair{gap:0}.card{border:0;border-radius:0;background:white;padding:0 18px 0 0}.card+.card{border-left:1px solid #eee;padding:0 0 0 18px}.card .label{font:9px ui-monospace,monospace;color:#888;margin-bottom:18px;letter-spacing:.04em}.card strong{color:#161616;font-size:clamp(28px,3.1vw,43px);font-weight:500}.card p{line-height:1.6}.card small{font:9px ui-monospace,monospace}.level .percent>span{color:#999;font-size:17px}.level.low{background:#fff}.level.low strong,.level.low .percent>span{color:#f4511e}progress,progress::-webkit-progress-bar{background:#f2f2f2;border-radius:0}progress::-webkit-progress-value,.low progress::-webkit-progress-value{background:#f4511e;border-radius:0}progress::-moz-progress-bar{background:#f4511e}.refill{color:#555;border-color:#eee}.summary-line{border-color:#eee;color:#888;padding:24px 0}.summary-line strong{color:#171717}.low-banner{border-radius:3px;background:#fff6f0;border-color:#ffd8c7;color:#b4431c}.plus{border-color:#eee;background:#fafafa;color:#555;border-radius:3px}li{border-color:#eee}dialog{background:white;color:#171717;border-color:#ddd;border-radius:4px}dialog::backdrop{background:#0005}footer{border-color:#eee}#message{color:#777;font:11px ui-monospace,monospace}.alert-toast{position:fixed;right:24px;bottom:24px;width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid #f4511e;border-top:4px solid #f4511e;padding:20px 24px;box-shadow:0 12px 48px #0002;z-index:100}.alert-top{display:flex;align-items:center;justify-content:space-between;color:#c84b24;font:10px ui-monospace,monospace;letter-spacing:.1em}.alert-top button{font-size:20px;padding:2px 8px}.alert-toast h2{font-size:22px;margin:18px 0 10px}.alert-toast p{font-size:14px;line-height:1.6}.alert-toast small{font-size:11px;color:#888;line-height:1.6;display:block}

@media(max-width:1100px){.channels{gap:18px}.channel{padding:20px 14px}.pair{grid-template-columns:1fr}.card+.card{border-left:0;border-top:1px solid #eee;margin-top:22px;padding:22px 0 0}.card{padding:0}.profit-card{padding-right:16px;padding-left:16px}}

@media(max-width:700px){main{padding:20px}.channels{grid-template-columns:1fr;gap:26px}.channel{padding:24px}.pair{grid-template-columns:1fr 1fr}.card+.card{border-top:0;border-left:1px solid #eee;margin:0;padding:0 0 0 22px}.card{padding-right:22px}.card strong{font-size:40px}.profit-grid{grid-template-columns:1fr 1fr;gap:28px 0}.profit-card:nth-child(3){padding-left:0;border-left:0}.profit-card strong{font-size:27px}.profit-section .section-line{flex-wrap:wrap;gap:0}.intro-note{display:none}.alert-toast{right:16px;bottom:16px}header{align-items:flex-start}.brand{font-size:9px;gap:6px}.brand .mark{width:26px;font-size:24px}.sub{display:none}header .actions{gap:6px}header .quiet{font-size:10px;padding:8px}.intro{padding-top:22px}}



.money-chart{margin:32px 0 20px;border:1px solid #e7e7e7;padding:26px 28px 18px}.money-chart h2{font-size:20px;font-weight:500;margin:8px 0}.money-chart .eyebrow{font:9px ui-monospace,monospace;letter-spacing:.12em}.chart-select{display:flex;align-items:center;gap:10px;color:#888}.chart-select select{font:12px Arial,sans-serif;padding:9px 28px 9px 10px;background:white;border:1px solid #ddd;border-radius:3px;color:#333}.chart-value{display:flex;align-items:baseline;gap:16px;margin:24px 0 20px}.chart-value strong{font-size:30px;font-weight:500;letter-spacing:-.04em}.chart-value span{font:10px ui-monospace,monospace;color:#999}#moneyGraph{display:block;width:100%;height:auto;overflow:visible}.money-chart .profit-footnote{line-height:1.7;margin-top:14px}@media(max-width:700px){.money-chart{padding:18px 12px}.money-chart .section-line{gap:8px}.chart-value{flex-wrap:wrap;gap:8px}.chart-value strong{font-size:26px}#moneyGraph{min-height:150px}}



.chart-controls label{display:flex;align-items:center;gap:8px;color:#888;margin:0}.chart-controls select,select{font:12px Arial,sans-serif;background:#fff;border:1px solid #ddd;padding:9px;border-radius:4px}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto;margin:0}.powder-tools{border:1px solid #e5e5e5;padding:18px}.powder-tools h3{margin:0 0 14px}.powder-tools .actions{gap:6px}.powder-tools button{font-size:11px;padding:9px}.channel-profit{font-size:13px;margin:22px 0 8px;padding-top:16px;border-top:1px solid #eee}.forecast{font-size:11px;color:#888;line-height:1.5}.chart-legend{font-size:11px;color:#666}#operationError{color:#b43d18}#operationHistory,#notificationHistory{max-height:260px;overflow:auto;font-size:12px}details{margin-top:20px;font-size:13px}.settings-grid{align-items:start}



.graph-tooltip{padding:12px 16px;background:#172740;color:white;border-radius:4px;font-size:13px;min-height:42px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}td,th{padding:15px 12px;border-bottom:1px solid #eee;white-space:nowrap}th{font-weight:500;color:#888}


#settingsButton,#settings,#logout{display:none!important}


:root{--navy:#203d53;--green:#5c793d;--leaf:#a6bd70;--cream:#fcf9f0;--line:#dce2d3;--muted:#5e6c70;--warning:#965420;color:var(--navy);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{background:var(--cream)}main{max-width:1440px;padding:24px 40px}header{border-color:var(--line);padding-bottom:20px;gap:24px}.brand{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.nfs-logo{position:relative;width:290px;aspect-ratio:1360/410;overflow:hidden;flex-shrink:0;border-radius:6px}.nfs-logo img{position:absolute;max-width:none;width:147.059%;height:auto;left:-23.529%;top:-95.122%}.nfs-role{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:22px;font-weight:600}
h1,h2,h3,.brand,.card strong,.summary-line strong{color:var(--navy)}h1{font-weight:550;letter-spacing:-.045em}.muted,.card p,.card small,.event-time,footer,.profit-assumption,.profit-footnote,.forecast,.chart-value span,.chart-select,.chart-controls label,.intro-note,.summary-line,th,#message{color:var(--muted)}.eyebrow,.money-chart .eyebrow{color:var(--green)}.eyebrow,.card .label,.profit-card .eyebrow{font-size:12px}.profit-assumption,.profit-footnote,.card p,.card small,.forecast,.chart-value span,.footnote,footer{font-size:12px;line-height:1.65}.intro-note strong{color:var(--green)}
button,header form button{background:var(--navy)!important;color:white;border-radius:7px}button:hover{filter:brightness(1.1)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}.quiet{background:transparent!important;color:var(--navy);border-color:#bcc8c8}.badge{background:#edf2e5;color:#3f602d;border-color:#ced9bf;border-radius:30px}.badge.stale{background:#fff2df;color:var(--warning);border-color:#e6c398}
.profit-grid{gap:16px}.profit-card,.profit-card:first-child{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 3px 14px #203d5304}.profit-card .eyebrow{color:var(--muted)}.profit-card>p:last-child{font:12px/1.6 inherit;color:var(--muted)}.profit-card strong{font-size:clamp(23px,2.55vw,37px);letter-spacing:-.04em;color:var(--navy)}.profit-card.combined{background:var(--navy);border-color:var(--navy)}.profit-card.combined strong,.profit-card.combined h3{color:white}.profit-card.combined .eyebrow,.profit-card.combined>p:last-child{color:#d8e4c8}
.money-chart,.panel,.channel{background:#fff;border:1px solid var(--line);border-radius:12px}.money-chart{padding:28px}.chart-value strong{color:var(--green);font-weight:600}.graph-tooltip{background:var(--navy);border-radius:6px}.channels{border-top-color:var(--line);gap:24px}.channel{padding:24px}.channel-heading h2{font-weight:600}.channel-heading>span:last-child{color:var(--muted)}.dot{background:var(--green);width:9px;height:9px}.dot.two{background:var(--navy)}.dot.three{background:#8c7042}.card{background:transparent}.card+.card{border-color:var(--line)}.card .label{color:var(--muted);font-size:11px}.level .percent>span{color:var(--green)}.level.low strong,.level.low .percent>span{color:var(--warning)}progress,progress::-webkit-progress-bar{background:#e9eedf;border-radius:5px}progress::-webkit-progress-value{background:var(--green);border-radius:5px}progress::-moz-progress-bar{background:var(--green)}.low progress::-webkit-progress-value{background:var(--warning)}.low progress::-moz-progress-bar{background:var(--warning)}.refill{background:transparent!important;color:var(--green);border-color:var(--line);font-size:12px}.channel-profit{border-color:var(--line);color:var(--green);font-weight:600}.summary-line{border-color:var(--line)}
.panel{padding:26px}.powder-tools{border-color:var(--line);border-radius:8px;background:var(--cream)}.powder-tools button{font-size:12px}input,select,.chart-select select,.chart-controls select{color:var(--navy);border-color:#bdc9c6;font-family:inherit;font-size:14px;border-radius:6px;background:#fff}a{color:#41652d;text-underline-offset:3px}th{background:#f4f6ef}td,th,li{border-color:var(--line)}.plus{color:var(--green);background:#f0f4e8;border-color:var(--line)}.low-banner{background:#fff3df;color:#784217;border-color:#dfbf91}.alert-toast{border-color:var(--warning);border-top-color:var(--warning);border-radius:10px;background:#fffcf5;box-shadow:0 16px 48px #203d5326}.alert-top{color:var(--warning);font-size:12px}.alert-toast small{color:var(--muted);font-size:12px}.alert-top button{background:transparent!important;color:var(--navy)}dialog{background:var(--cream);color:var(--navy);border-color:var(--line);border-radius:12px}dialog::backdrop{background:#203d5366}#message{font:14px/1.6 inherit}footer{border-color:var(--line)}
@media(max-width:1100px){.profit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profit-card:nth-child(3){padding:24px;border-left:1px solid var(--line)}.nfs-role{display:none}}
@media(max-width:700px){main{padding:18px}.brand{gap:8px}header{flex-wrap:wrap;gap:14px}.nfs-logo{width:240px}header .actions{width:100%;gap:10px}header .quiet{font-size:12px;padding:10px 14px}.profit-grid{gap:12px}.profit-card,.profit-card:first-child,.profit-card:nth-child(3){padding:18px}.profit-card strong{font-size:25px}.money-chart{padding:20px 16px}.channel{padding:22px}.pair{gap:0}.card .label{white-space:normal}.card strong{font-size:36px}.panel{padding:20px}.settings-grid{grid-template-columns:1fr}.chart-controls{gap:8px}.chart-controls label{flex-wrap:wrap}.chart-select{flex-wrap:wrap}.summary-line{flex-direction:column}}
@media(max-width:390px){.profit-grid{grid-template-columns:1fr}.pair{grid-template-columns:1fr}.card+.card{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:20px}.profit-card strong{font-size:32px}}

/* Live sign-in uses Supabase accounts, not the demonstration password. */
body:has(#loginPanel:not([hidden])) main{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1180px}
body:has(#loginPanel:not([hidden])) header,body:has(#loginPanel:not([hidden])) footer,body:has(#loginPanel:not([hidden])) #settings,body:has(#loginPanel:not([hidden])) #message{grid-column:1/-1}
body:has(#loginPanel:not([hidden])) header{margin-bottom:48px}
body:has(#loginPanel:not([hidden])) .intro{background:var(--navy);border-radius:18px 0 0 18px;padding:64px 48px;display:block;margin:0}
body:has(#loginPanel:not([hidden])) .intro h1{color:var(--cream);font-size:56px;max-width:380px}
body:has(#loginPanel:not([hidden])) .intro .muted{color:#d0dddd;max-width:340px}
body:has(#loginPanel:not([hidden])) .intro .eyebrow{color:var(--leaf)}
body:has(#loginPanel:not([hidden])) .intro-note{display:none}
#loginPanel{max-width:none;margin:0;border-radius:0 18px 18px 0;padding:48px;border-left:0}
#loginPanel h2{font-size:28px;margin-top:12px}#loginPanel button[type=submit],#loginPanel form>button{background:var(--green)!important;margin:12px 0}
#loginPanel .check-label{display:flex;gap:10px;align-items:center}#loginPanel .check-label input{width:auto;margin:0}
@media(max-width:700px){body:has(#loginPanel:not([hidden])) main{grid-template-columns:1fr}body:has(#loginPanel:not([hidden])) .intro{border-radius:14px 14px 0 0;padding:32px}body:has(#loginPanel:not([hidden])) .intro h1{font-size:40px}#loginPanel{border-radius:0 0 14px 14px;border-left:1px solid var(--line);padding:28px}body:has(#loginPanel:not([hidden])) header{margin-bottom:24px}}

body:has(#loginPanel:not([hidden])) #quickTestAlert{display:none}
/* Keep the public sign-in page focused on account access. */
body:has(#loginPanel:not([hidden])) main{display:block;max-width:520px;min-height:100vh;padding:clamp(28px,9vh,100px) 24px 32px;box-sizing:border-box}
body:has(#loginPanel:not([hidden])) header,
body:has(#loginPanel:not([hidden])) .intro,
body:has(#loginPanel:not([hidden])) footer{display:none!important}
body:has(#loginPanel:not([hidden])) #loginPanel{border:1px solid var(--line);border-radius:18px;padding:36px}
body:has(#loginPanel:not([hidden])) #loginPanel>p.muted{display:none}
body:has(#loginPanel:not([hidden])) #message{margin:16px 0}
.registration-link{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}
.nfs-logo{display:none}
body:has(#loginPanel[hidden]){background:linear-gradient(#fcf9f08c,#fcf9f08c),url('dashboard-background.png') center/cover fixed no-repeat}
body:has(#loginPanel[hidden]) main{background:#fcf9f0c9;border-radius:16px}
@media(max-width:600px){body:has(#loginPanel:not([hidden])) #loginPanel{padding:24px}body:has(#loginPanel:not([hidden])) main{padding-top:32px}}

body:has(#loginPanel[hidden]) #logout:not([hidden]){display:inline-flex!important}
#manageAccounts[hidden]{display:none!important}
.welcome-image{display:block;width:calc(100% + 72px);max-width:none;margin:-36px -36px 28px;border-radius:18px 18px 0 0;height:auto}

@media(max-width:600px){.welcome-image{width:calc(100% + 48px);margin:-24px -24px 24px}}

body:has(#loginPanel:not([hidden])){background:#faf7f0 url('login-background.png') center bottom/cover fixed no-repeat}

/* A softer, unified welcome surface. */
body:has(#loginPanel:not([hidden])) main{max-width:520px;padding:36px 24px 28px}
body:has(#loginPanel:not([hidden])) #loginPanel{max-width:none;margin:0;padding:32px 38px;border:1px solid rgba(255,255,255,.65);border-radius:28px;background:linear-gradient(155deg,rgba(255,253,247,.9),rgba(255,253,247,.72));box-shadow:0 16px 64px rgba(65,69,34,.09),inset 0 1px 0 rgba(255,255,255,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;color:#193d35}
body:has(#loginPanel:not([hidden])) .welcome-image{width:calc(100% + 76px);height:208px;object-fit:cover;object-position:center;margin:-32px -38px 0;border-radius:0;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
#loginPanel h2{font-size:30px;letter-spacing:-.04em;font-weight:550;margin:0 0 24px;color:#193d35}
#loginPanel input:not([type=checkbox]){background:rgba(255,255,255,.62);border:1px solid #cdd4c5;border-radius:11px;min-height:46px;transition:border-color .15s,box-shadow .15s}
#loginPanel input:not([type=checkbox]):focus{border-color:#6b7e4d;box-shadow:0 0 0 3px #6b7e4d18;outline:none}
#loginPanel label{color:#425744;margin:14px 0}
#loginPanel button[type=submit]{border-radius:11px;min-height:48px;background:#526e38;box-shadow:0 4px 12px #526e3820;transition:background .15s,transform .15s}
#loginPanel button[type=submit]:hover{background:#405a2a;transform:translateY(-1px)}
#loginPanel .registration-link{border-top:1px solid #6b7e4d26;margin-top:24px;padding-top:16px}
#loginPanel .registration-link h3{font-size:15px;margin:0 0 8px;color:#425744}
#loginPanel .registration-link p{margin:8px 0;font-size:13px;line-height:1.6}
#loginPanel .registration-link a{color:#3e5b2c;text-underline-offset:4px;font-weight:600}
#loginPanel .registration-link .muted{color:#697461}
@media(max-width:600px){body:has(#loginPanel:not([hidden])) main{padding:20px 16px}body:has(#loginPanel:not([hidden])) #loginPanel{padding:28px;border-radius:24px}body:has(#loginPanel:not([hidden])) .welcome-image{width:calc(100% + 56px);height:190px;margin:-28px -28px 0}#loginPanel h2{font-size:28px}}
