/* Solid, iOS-inspired hierarchy. Controls belong to their report, not the whole page. */
:root{--paper:#f5f6f8;--card:#fff;--ink:#17251f;--muted:#48564f;--line:#dce1e5;--ui-font:-apple-system,BlinkMacSystemFont,"DM Sans",sans-serif}
body,button,input,select{font-family:var(--ui-font)}
.app-header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #e5e8eb}
.filtered-report{position:relative;display:flow-root}
.daily-section,#profit-daily-section{scroll-margin-top:calc(var(--header-height) + 12px)}
.filtered-report>.period-tabs,.page>.period-tabs{position:sticky;top:var(--header-height);z-index:19;display:flex;width:100%;gap:3px;margin:0 0 16px;padding:8px 3px;background:var(--paper);border-radius:0;box-shadow:none;scrollbar-width:none}
.filtered-report>.period-tabs button,.page>.period-tabs button{flex:1 1 auto;min-width:0;padding:0 10px;min-height:42px;border-radius:12px;color:#46534d;font-size:13px;font-weight:600}
.filtered-report>.period-tabs button.active,.page>.period-tabs button.active{color:#173d83;background:#e5edfb;box-shadow:inset 0 0 0 1px #d5e1f6}
.period-tabs button .pending-mini{width:12px;height:12px;margin-left:3px}
.bottom-nav{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #dce1e5;border-radius:22px 22px 0 0;box-shadow:0 -3px 18px #17251f06}
.bottom-nav button.active{background:#e5edfb;color:#173d83}
.daily-report-card,.profit-day{box-shadow:none}
.daily-report-card header,.profit-day header{background:#f0f4fa}
.daily-report-card.selected-day{border-color:#d1dcd3;box-shadow:none}
.quality-badge,.profit-day .quality-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;height:auto;padding:3px 7px;margin:4px 0 0 5px;border:1px solid transparent;border-radius:7px;font:600 12px/1.25 var(--ui-font);font-style:normal;text-transform:none;letter-spacing:0;white-space:normal;vertical-align:middle;opacity:1}
.quality-badge.actual,.quality-status.actual{color:#146044;background:#e8f3ed;border-color:#cfe6d9}
.quality-badge.estimated,.quality-status.estimated,.quality-status.open{color:#805000;background:#fff2db;border-color:#f0ddba}
.quality-badge.partial,.quality-status.partial{color:#922e36;background:#fbecee;border-color:#edccd0}
.quality-notice,.quality-notice.estimated{background:#fff7e9;color:#755019;border:1px solid #ecdfc8}
.quality-status{opacity:1;font:600 12px/1.25 var(--ui-font)}
.profit-bridge-row>div>i{opacity:.55}
.profit-bridge-row>b{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.profit-bridge-row>b>.quality-badge{margin:0}
.profit-period,.estimate-pill,.period-context{background:#edf0f4;color:#44536b;font-size:12px;border-radius:9px;font-weight:600}
.profit-status-chip{line-height:1.5;text-align:left;color:#59636b;font-size:13px;min-height:38px}
.profit-daily{grid-auto-columns:calc((100% - 10px)/2);gap:10px;padding:2px 0 10px;scrollbar-width:thin;overscroll-behavior-x:contain;position:relative}
.profit-day{padding:0;min-width:0;scroll-snap-stop:always}
.profit-day header{margin:0;padding:11px 12px;align-items:center;gap:4px}
.profit-day header>div{min-width:0}
.profit-day header b{font:600 14px/1.25 var(--ui-font)}
.profit-day header>div>span{font-size:12px;color:#4c6074}
.profit-day header>.quality-status{display:grid;place-items:center;width:22px;height:22px;padding:0;border-radius:50%;flex-shrink:0}
.profit-day .compact-total{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;background:#edf4f0}
.profit-day .compact-total>strong{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font:600 25px/1.15 var(--ui-font);letter-spacing:-.6px}
.profit-day .compact-total>strong>.quality-badge{margin:0}
.profit-day .compact-total>small{font-size:12px;color:#46564d}
.profit-day .compact-total>.formula-info{position:absolute;right:9px;bottom:10px}
.profit-day-channel{padding:10px 12px;font-size:13px}
.profit-day-channel>b{display:block;font-size:13px;color:#293f34}
.profit-day-channel>div{display:grid;gap:10px;margin-top:9px}
.profit-day-channel>div>span{position:relative;display:block;padding-right:22px;font-size:12px;line-height:1.3;color:#4b5b51}
.profit-day-channel strong{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:2px;font-size:14px;line-height:1.35;color:#17251f}
.profit-day-channel strong>.quality-badge{margin:0;font-size:11px;padding:2px 4px}
.profit-day-channel .formula-info{position:absolute;right:0;top:12px;margin:0}
.formula-info{color:#43566d;border-color:#92a2b6;background:#fff}
.formula-dialog{border-radius:22px;background:#fff}
.sheet-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.formula-dialog p{font-size:14px}.formula-dialog small{font-size:12px;color:#4c5a53}
.daily-pair-step button{border-radius:12px;min-width:38px;min-height:38px}
.daily-pair-step button:disabled{color:#75827a;background:#f0f2f5}
@media(max-width:760px){
  .filtered-report>.period-tabs button{font-size:12px;padding-inline:6px}
  .profit-daily{grid-auto-columns:calc((100% - 8px)/2);gap:8px}
  .profit-day header,.profit-day .compact-total,.profit-day-channel{padding:10px 9px}
  .profit-day .compact-total>strong{font-size:23px}
  .profit-day-channel strong{font-size:13px}
  .profit-bridge-row>span{font-size:13px;line-height:1.4}
  .profit-bridge-row>b{font-size:14px}
  .profit-bridge-row{grid-template-columns:minmax(100px,1fr) 8px auto}
  .profit-period{font-size:11px;padding:6px 8px}
  .profit-bridge-card .card-head{gap:8px;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
