/* GOODDAY888 v25 — presentation only. Financial logic and permissions are untouched. */
:root{--bg:#10181d;--panel:#141f26;--line:#2c3a42;--gold:#e9c575;--text:#f0f4f6;--muted:#a1afb8;--green:#50d6b6;color-scheme:dark}
body{background:radial-gradient(ellipse at 100% 0,#1c303a55,transparent 65%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;line-height:1.5}
.app{padding:0 28px 24px;max-width:1920px;margin:0 auto}
header{height:88px;border-bottom:1px solid var(--line);gap:16px}
.brand{gap:12px}.brand-logo{width:54px;height:54px;border-radius:10px;object-fit:contain}.eyebrow{font-size:23px;font-weight:700;letter-spacing:.7px}.brand h1{font-size:12px;color:var(--muted);letter-spacing:2px;margin:1px 0}
#main{padding-left:208px;min-width:0}nav{position:fixed;left:0;top:88px;bottom:0;width:212px;min-height:0;border-right:1px solid var(--line);padding:20px 12px;gap:6px;background:#10191f;overflow-y:auto;z-index:20}
.tab{display:flex;align-items:center;gap:13px;padding:13px 14px;border:1px solid transparent;border-radius:7px;color:#c1ccd3;font-size:14px;font-weight:500;background:none;min-height:47px;flex-shrink:0}.tab:before{display:none}.tab:hover{background:#ffffff08;filter:none}.tab.active{background:linear-gradient(100deg,#b08b3e50,#9e803b20);border:1px solid #b7934c66;color:#ffe5a7;font-weight:650}.nav-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none}footer{margin-left:208px;border-top:1px solid var(--line);margin-top:24px;gap:10px;flex-wrap:wrap}
.view{min-width:0;padding-top:22px}.page-heading{margin:0 0 20px}.page-heading h2,.report-title h2{margin:0;font-size:26px;letter-spacing:.5px;color:var(--text);font-weight:650}.page-heading p{margin:5px 0 0}.report-title{padding:0 0 16px}.report-title small{color:var(--muted)}
.panel{background:linear-gradient(120deg,#18252c,#131e24);border:1px solid var(--line);border-radius:10px;padding:21px;margin:16px 0;box-shadow:0 4px 18px #0000000c;min-width:0}.panel h2{font-size:18px;color:var(--text);margin:0 0 12px}.panel h3{font-size:16px;color:var(--text);margin:22px 0 12px}.panel>h3:first-child{margin-top:0}.panel>.muted:first-of-type{margin-top:0}.muted{font-size:12px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}
.cards{gap:14px;margin:16px 0}.stat,.hero-cards .stat,.currency-cards .stat{background:linear-gradient(125deg,#1b2a33,#142028);border:1px solid #31414c;border-radius:9px;padding:20px;min-width:0;box-shadow:none}.stat span,.hero-cards .stat span{font-size:12px;color:#b7c5ce}.stat strong,.hero-cards .stat strong{font-size:clamp(21px,2vw,30px);font-weight:650;letter-spacing:.1px;line-height:1.25;font-variant-numeric:tabular-nums;color:var(--text);margin-top:10px;overflow-wrap:anywhere;white-space:normal}.stat small,.hero-cards small{color:var(--muted);font-size:11px;margin-top:8px}.hero-cards .stat{min-height:120px;gap:12px}.hero-cards i{color:var(--gold);background:#e9c57510;width:42px;height:42px;line-height:42px;font-size:25px}.currency-cards strong{font-size:22px}
#todayProfit,#companyProfit,#reportGross,#reportProfit,#closingTodayProfit{color:var(--green)}#reportTurnover{color:var(--gold)}
button,.demo-btn{background:linear-gradient(110deg,#f1d48f,#d9b568);color:#221a0b;border:1px solid #e3c075;border-radius:6px;padding:11px 17px;font-size:13px;font-weight:650;transition:background .15s,box-shadow .15s;min-height:41px}button:hover,.demo-btn:hover{filter:brightness(1.07);box-shadow:0 2px 9px #0002}button:disabled{cursor:not-allowed;box-shadow:none}button.secondary,.ghost{background:#1c2a33;color:#dce4e9;border:1px solid #40515c}.ghost{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
input,select,textarea{font-family:inherit;font-size:14px;background:#101b22;border:1px solid #42535f;border-radius:6px;color:var(--text);min-height:42px;padding:10px 12px;margin-top:7px;max-width:100%;box-shadow:inset 0 2px 4px #0001}input::placeholder,textarea::placeholder{color:#7e919e}select option{background:#15212a;color:var(--text)}label{color:#ccd7de;font-size:13px;margin:12px 0}.grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.calc{background:#10212a;border:1px solid #344954;color:#afc0ca;padding:14px 16px;margin:10px 0}.quote{border-left:3px solid var(--gold)}.quote strong{font-size:27px}.quote small{color:var(--muted)}
.notice{background:#9a6c2014;border:1px solid #a8803c66;color:#e9c895;padding:12px 15px;border-radius:7px;font-size:12px}.risk-item{background:#8e672013;border-color:#a47c414a;color:#e6cda7;border-radius:7px}.safe-item{background:#28a5810c;border-color:#3c87714d;color:#8ae0c7;border-radius:7px}.risk-dot{background:#dfb968;color:#281f0c}.risk-details{background:#101b21;border-color:#354750}.risk-details summary{color:#cad5dc}.ack{background:#a4823910;border-color:#79663f;color:#dccda9}.ack input{min-height:18px}.report-positive{color:var(--green)!important}.report-negative{color:#f2968d!important}
.platform-breakdown{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.platform-tile{background:#1c2a33;border:1px solid #354955;border-radius:8px;min-height:120px;gap:8px;padding:16px}.platform-tile:hover{background:#263740}.platform-tile strong{font-size:28px;color:var(--text)}.platform-tile span{color:#dce7ed}.platform-tile small{color:var(--muted)}.platform-brand img{background:transparent;border-radius:5px;width:24px;height:24px}.account-brand img{border-radius:6px;background:#fff;width:29px;height:29px;flex-basis:29px}.account-brand{gap:8px}.platform-tile .platform-brand img{width:32px;height:32px}.platform-tile .platform-brand{gap:10px}
.tablewrap{overflow:visible;min-width:0;margin-top:12px}table,.finance-table,.report-group-table,.platform-table,.dashboard-table,#accountList table,#reports table{width:100%;min-width:0!important;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}th,td,#reports th,#reports td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;border-bottom:1px solid #2b3b45;padding:12px 9px;line-height:1.6;vertical-align:middle;font-variant-numeric:tabular-nums}th,.dashboard-table th,#reports th{background:#23313b;color:#b8c9d4;font-weight:550;font-size:11px}.dashboard-table th,.dashboard-table td{font-size:12px;padding:11px 9px}th:first-child{border-top-left-radius:6px}th:last-child{border-top-right-radius:6px}tbody tr:hover{background:#ffffff03}tfoot,.platform-table .total-row{background:#c4a15b0d;color:#ecd29b}.smallbtn,.platform-table button{padding:6px 9px;font-size:11px;min-height:32px;margin:3px 2px;border-radius:5px}.smallbtn{background:#21333e;border:1px solid #495c68;color:#e4c47f}#accountList th:last-child{width:22%}#accountList th:first-child{width:18%}#accountList .smallbtn{padding:6px 8px}.danger{color:#ff9e98!important;border-color:#a75d5d80!important;background:#803e3e14}.finance-table .difference{color:#ffbba5}
.trade-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px;align-items:start}.trade-layout>.full-width{grid-column:1/-1}.trade-layout>label{align-self:end}.trade-layout>.grid{margin:0;align-items:end}.trade-layout>.grid label{margin:12px 0}.trade-layout .notice{margin:8px 0}.trade-layout>button[type=submit]{margin-top:16px;min-height:48px}.trade-layout>#refreshTradeAccountOptions{justify-self:start}.trade-layout>p:empty{display:none}
.funds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.funds-grid>.panel{margin:0}.funds-grid .funds-ledger{grid-column:1/-1}.funds-grid form>button{width:100%;margin-top:12px}.funds-grid h3{margin-top:0}.funds-grid .grid{gap:12px}
.compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.compact-form>h3,.compact-form>p{grid-column:1/-1}.compact-form>button{justify-self:start}.compact-form>p:empty{display:none}.compact-form .grid{align-items:end}#reconcileform{display:grid;grid-template-columns:1fr auto;gap:0 18px;align-items:end}#reconcileform>button{margin-bottom:12px}#reconcileform>p{grid-column:1/-1}
.staff-roles{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:0 28px}.staff-roles>h2,.staff-roles>p{grid-column:1/-1}.staff-fields{background:#111e26;border:1px solid #304651;padding:6px 18px 18px;border-radius:8px}.staff-fields button{width:100%}#stafflist{min-width:0;align-self:start}.demo-box{background:#12222b;border-color:#3c535f;border-radius:8px}.demo-box strong{color:var(--gold)}.demo-link{line-height:1.7}.finance-dialog{background:#15232c;color:var(--text);border:1px solid #4e626f;border-radius:12px;box-shadow:0 30px 80px #0008}.finance-dialog::backdrop{background:#060e14bf;backdrop-filter:blur(3px)}.trace-grid dt,.trace-grid dd{border-color:var(--line)}.trace-grid dt{color:var(--muted)}.trace-grid dd{color:var(--text)}.dialog-actions{flex-wrap:wrap}#login{margin:64px auto;max-width:460px}#login label{margin:20px 0}#signin{width:100%}
.report-filters{gap:12px}.report-filters label{color:var(--muted)}.report-filters button{height:43px}.charts-grid{gap:16px}.chart-panel{padding:18px}.chart-panel .section-heading h3{margin:0}.chart-panel .section-heading{margin-bottom:7px}.breakdown-grid{gap:16px}.trend-heading h3{color:var(--text)}.legend.green:before{background:var(--green)}details.panel{padding:15px 20px}details summary{color:#bacbd5}details[open] summary{margin-bottom:15px}.empty-state{color:var(--muted);padding:45px 12px}.report-actions{margin-top:16px}#records .record-filter-actions{align-items:center}#records table th:first-child{width:12%}#records table th:last-child{width:17%}
@media(min-width:1920px){nav{left:calc((100vw - 1920px)/2)}}
@media(min-width:761px) and (max-height:750px){nav{padding-top:10px;gap:2px}.tab{padding:9px 14px;min-height:41px}}
@media(max-width:1200px){.app{padding-left:20px;padding-right:20px}#main{padding-left:184px}nav{width:186px}.tab{gap:10px;padding:12px;font-size:13px}.page-heading h2{font-size:24px}footer{margin-left:184px}.panel{padding:17px}.hero-cards i{display:none}.hero-cards .stat strong{font-size:23px}.compact-form{grid-template-columns:1fr}.compact-form>.grid{grid-column:1/-1}.funds-grid .grid{grid-template-columns:1fr}.funds-grid .grid label{margin:7px 0}th,td{padding:10px 6px}.staff-roles{grid-template-columns:1fr 1.1fr;gap:0 18px}.breakdown-grid{grid-template-columns:1fr}}
@media(max-width:900px){.hero-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-layout{grid-template-columns:1fr}.trade-layout>.full-width{grid-column:auto}.staff-roles{grid-template-columns:1fr}.staff-fields{margin-bottom:20px}.grid{gap:12px}.stat{padding:15px}#accountList th:last-child{width:20%}}
@media(max-width:760px){.app{padding:0 14px 18px}header{height:78px;padding:12px 0;gap:8px;flex-wrap:nowrap}.brand{gap:8px}.brand-logo{width:39px;height:39px}.eyebrow{font-size:17px}.brand h1{font-size:10px;letter-spacing:1px}#logout{margin-left:auto;padding:8px 10px;min-height:36px;font-size:12px}.menu-toggle{display:block;min-height:36px;padding:8px 10px;font-size:12px;white-space:nowrap}#main{padding:0}nav{display:none;position:static;width:100%;height:auto;min-height:0;border:1px solid var(--line);border-radius:8px;margin-top:12px;padding:10px;overflow:visible;background:#15222a;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}nav.menu-open{display:grid}.tab{font-size:13px;white-space:normal;min-height:43px;gap:9px;border:1px solid transparent}.tab.active{border:1px solid #b7934c66}.nav-icon{width:18px;height:18px}.view{padding-top:20px}.page-heading{margin-bottom:16px}.page-heading h2,.report-title h2{font-size:23px}.panel{padding:16px;margin:12px 0}.cards,.hero-cards,.currency-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat,.hero-cards .stat,.currency-cards .stat{padding:15px}.hero-cards .stat{min-height:110px}.stat strong,.hero-cards .stat strong{font-size:22px}.admin-stat{grid-column:auto}.funds-grid{grid-template-columns:1fr;gap:12px}.funds-grid .funds-ledger{grid-column:auto}.funds-grid .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-grid,.breakdown-grid{grid-template-columns:1fr}.chart-panel .section-heading{flex-direction:row;align-items:center}.chart-panel .section-heading h3{font-size:15px}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-title>select{width:130px}.section-heading{gap:10px}.section-heading button{max-width:100%}#reconcileform{grid-template-columns:1fr}#reconcileform>button{justify-self:start;margin:6px 0 0}.staff-roles{display:block}.staff-fields{margin:16px 0}.demo-box{padding:14px}.platform-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-tile{min-height:116px;padding:14px}.platform-tile strong{font-size:25px}footer{margin-left:0;font-size:10px}.finance-dialog{padding:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Full records become labeled cards instead of a sideways-scrolling table. */
table.ui-table,#reports table.ui-table,table.ui-table tbody,table.ui-table tfoot{display:block;width:100%;table-layout:auto}table.ui-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}table.ui-table tbody tr,table.ui-table tfoot tr,#reports table.ui-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:12px;border:1px solid var(--line);border-radius:8px;margin:10px 0;background:#111e25}table.ui-table td,#reports table.ui-table td{display:block;width:auto!important;white-space:normal!important;border:0;padding:7px 0;font-size:13px;text-align:left!important;min-width:0}table.ui-table td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:4px;font-weight:400}table.ui-table td:first-child,#reports table.ui-table tr td:first-child{grid-column:1/-1;color:var(--gold);font-weight:600}table.ui-table td[data-actions]{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}table.ui-table td[colspan]{grid-column:1/-1}#accountList table{min-width:0!important}.tablewrap{overflow:visible}.account-brand img{width:29px;height:29px;flex-basis:29px}.trace-grid{grid-template-columns:1fr}.trace-grid dt{border-bottom:0;padding-bottom:0}.trace-grid dd{padding-top:3px}.dialog-actions button{flex:1}}
@media(max-width:390px){.grid,.funds-grid .grid{grid-template-columns:1fr}.brand-logo{display:none}.eyebrow{font-size:16px}.stat strong,.hero-cards .stat strong{font-size:19px}.panel{padding:13px}.report-filters{gap:9px}button{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{nav,header,footer,.menu-toggle{display:none!important}#main{padding:0}.app{padding:0}body{background:#fff;color:#111}.panel,.stat{break-inside:avoid;box-shadow:none}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}.trade-notes{padding:14px 0 0;margin-top:10px;border-top:1px solid var(--line)}.trade-notes summary{cursor:pointer;font-size:12px;color:var(--muted)}body:has(#main.hidden) .menu-toggle{display:none}
/* v26: selected account logos and transaction direction badges. Native selects retain keyboard and mobile controls. */
.logo-select{position:relative;display:block;min-width:0;margin-top:7px}.logo-select select{margin-top:0}.logo-select.has-logo select{padding-left:49px}.logo-select>img{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;object-fit:contain;background:#fff;border-radius:5px;pointer-events:none}.logo-select>img[hidden]{display:none}.trade-type-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:650;white-space:nowrap;border:1px solid}.trade-type-badge.buy{color:#60e1bd;background:#1ea77e20;border-color:#2aa68155}.trade-type-badge.sell{color:#ffaaa0;background:#dc5b5120;border-color:#ce6c5c55}.trade-type-icon{font-size:16px;line-height:1}.trade-type-detail{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
/* v27: every summary card has a consistent, meaningful decorative icon. */
.stat.with-summary-icon,.hero-cards .stat.with-summary-icon{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;padding:18px 15px}.summary-content{min-width:0}.summary-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid currentColor;background:#e9c57512;color:var(--gold);flex-shrink:0}.summary-icon svg{width:27px;height:27px;display:block}.summary-icon.tone-teal{color:#69e4c5;background:#159c7b25;border-color:#249b7e60}.summary-icon.tone-green{color:#65dcb7;background:#25ac8720;border-color:#3aac8b50}.summary-icon.tone-blue{color:#8fcaff;background:#388bd025;border-color:#4c9ed050}.summary-icon.tone-red{color:#ffb3ae;background:#d9655d25;border-color:#d9696150}.summary-icon.tone-amber{color:#ffce81;background:#d98f2625;border-color:#d69b4350}.summary-icon.tone-gold{color:#eac778;background:#b98e3225;border-color:#b58d4650}.with-summary-icon .summary-content strong{font-size:clamp(19px,1.7vw,27px);white-space:normal;overflow-wrap:anywhere}.with-summary-icon .summary-content small{line-height:1.5}.with-summary-icon .summary-content>div{min-width:0}
@media(min-width:761px) and (max-width:1250px){.stat.with-summary-icon,.hero-cards .stat.with-summary-icon{grid-template-columns:1fr;gap:11px}.summary-icon{width:40px;height:40px}.summary-icon svg{width:24px;height:24px}}
@media(max-width:760px){.stat.with-summary-icon,.hero-cards .stat.with-summary-icon{grid-template-columns:1fr;gap:10px;padding:15px;align-content:start}.summary-icon{width:38px;height:38px}.summary-icon svg{width:23px;height:23px}.with-summary-icon .summary-content strong{font-size:21px}.with-summary-icon .summary-content span{font-size:12px}}
@media(max-width:390px){.with-summary-icon .summary-content strong{font-size:19px}}
