@font-face{font-family:Inter;src:url('/assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f7f5f0;--ink:#11151b;--muted:#727780;--line:#deddd9;--accent:#c8420b;--selected:#faeddb;--green:#21663a;--red:#d62220;--orange:#f5911b;--radius:7px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,select,input[type=file]{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button,img{vertical-align:middle}img{width:22px;height:22px;flex-shrink:0}button{border:0;background:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bf641f;outline-offset:4px}button:hover,a:hover{color:var(--accent)}[hidden]{display:none!important}.topbar{height:69px;display:flex;align-items:center;padding:0 40px;border-bottom:1px solid var(--line);gap:64px}.brand{font-size:30px;font-weight:750;letter-spacing:-.7px;white-space:nowrap}.brand span{color:var(--accent)}nav{display:flex;gap:20px;height:100%}nav a{display:flex;align-items:center;padding:0 16px;color:#62666e;font-size:18px;border-bottom:3px solid transparent;padding-top:3px}nav a.active{color:var(--ink);border-color:var(--accent);font-weight:600}.quiet{padding:8px 0;color:var(--muted);display:inline-flex;align-items:center;gap:12px}.update{margin-left:auto;white-space:nowrap}.update img{opacity:.6}main{padding:0 40px;min-height:calc(100vh - 69px);display:flex;flex-direction:column}main>section:not(.empty){flex:1}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:30px 0 27px}.page-heading h1{font-size:46px;line-height:1.22;font-weight:720;letter-spacing:-1.55px;margin:0 0 5px}.subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:18px;margin:0}.subtitle select{border:0;padding:0 22px 0 0;background:transparent;color:var(--muted);max-width:100%;font-size:18px}.period-actions{display:flex;align-items:center;gap:32px;padding-top:10px}.period-actions select,#report-month{min-width:184px}select,input,textarea{background:transparent;border:1px solid #d2d1cd;border-radius:var(--radius);padding:10px 16px}select{cursor:pointer}.accent{color:var(--accent);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.accent img{filter:invert(29%) sepia(78%) saturate(2756%) hue-rotate(16deg) brightness(91%)}.summary-strip{display:flex;align-items:center;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:81px;padding:18px 0;margin-bottom:30px;flex-wrap:wrap}.summary-item{display:flex;gap:14px;align-items:center;font-size:22px}.summary-item+.summary-item{border-left:1px solid var(--line);padding-left:32px}.summary-item img{width:30px;height:30px}.summary-item.violated{color:var(--accent);font-weight:650}.summary-item.violated img{filter:invert(39%) sepia(81%) saturate(1922%) hue-rotate(359deg)}.summary-item.compliant{color:var(--green)}.pnl-summary{color:#4e535d}.pnl-summary>img{filter:invert(35%) sepia(15%) saturate(1393%) hue-rotate(89deg)}.summary-item strong{font-size:27px;font-weight:650}.positive{color:var(--green)}.negative{color:var(--red)}.review-grid{display:grid;grid-template-columns:39% 61%;min-height:640px}.session{padding-right:39px}.session h2{font-size:30px;letter-spacing:-.7px;line-height:1.25;margin:-3px 0 24px}.detail{border-left:1px solid var(--line);padding-left:46px}.timeline{position:relative}.timeline::before{content:"";position:absolute;top:0;bottom:24px;left:95px;width:1px;background:#d8d6d1}.event{position:relative;display:grid;grid-template-columns:62px 46px 1fr auto;gap:14px;align-items:start;width:100%;text-align:left;min-height:105px;padding:19px 0 20px;border-bottom:1px solid var(--line);border-radius:0}.event:last-child{border-bottom:0}.event time{color:#565c67;padding-top:3px;font-size:18px}.event .event-dot{position:relative;width:37px;height:37px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eceae5;border:1px solid #ddd9d1;z-index:1}.event-dot img{width:24px;height:24px}.event.loss .event-dot{background:#ffd8d0;border-color:#f3b5ad}.event.loss .event-dot img{filter:invert(21%) sepia(84%) saturate(3325%) hue-rotate(353deg)}.event.win .event-dot{background:#dce9d7;border-color:#c4d8c0}.event.win .event-dot img{filter:invert(28%) sepia(37%) saturate(830%) hue-rotate(88deg)}.event.selected{background:var(--selected);border-color:transparent;border-radius:var(--radius);margin:0 -16px;padding:24px 16px;width:calc(100% + 32px);min-height:126px}.event.selected .event-dot{background:#ff981d;border-color:#ec8618}.event.selected time{color:var(--ink)}.event-title{display:block;font-weight:550;font-size:18px;line-height:1.45;margin-top:1px}.event-meta{display:block;color:var(--muted);font-size:16px;margin-top:2px}.event-warning{display:block;color:var(--accent);font-size:17px;margin-top:2px}.event-pnl{padding-top:3px;font-size:21px;white-space:nowrap}.more{margin-top:17px;gap:20px;font-size:16px}.more img{width:27px}.more img:last-child{width:20px}.eyebrow{font-size:14px;letter-spacing:1.05px;color:var(--accent);font-weight:650;margin:2px 0 8px}.detail h2{font-size:39px;line-height:1.22;letter-spacing:-1px;margin:8px 0 23px;font-weight:720}.evidence-times{display:grid;gap:8px;margin:0 0 22px}.evidence-time{display:grid;grid-template-columns:74px 1fr;gap:16px;font-size:19px}.evidence-time time{color:#626772}.detail blockquote{border-left:2px solid #d8d5cf;margin:20px 0 24px 10px;padding:7px 20px 6px 35px}.detail blockquote p{font-family:Georgia,serif;font-size:25px;line-height:1.3;margin:0 0 10px}.detail cite{font:normal 16px Inter,Arial,sans-serif;color:var(--muted)}.explanation{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding:13px 0 19px;color:#515763;font-size:17px}.explanation img{background:#dfdedc;border-radius:50%;width:38px;height:38px;padding:7px;opacity:.8}.detail-actions{display:flex;align-items:center;gap:30px;margin-bottom:28px}.primary{background:var(--accent);color:white;border:1px solid #b83b08;border-radius:6px;padding:14px 30px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:550;line-height:1.35}.primary:hover{background:#aa3507;color:#fff}.primary img{filter:invert(1)}.text-link{color:var(--accent);font-size:17px;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.note-label{display:block;font-size:17px;margin-bottom:6px}.note-box{width:100%;height:85px;resize:vertical;font-size:17px;padding:12px 18px;background:#faf9f6}.note-meta{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding:12px 0 24px;color:var(--muted);font-size:14px}footer button{font-size:14px;padding:0!important}.coverage-warning,.section-note{color:#6e6659;font-size:16px;line-height:1.6;margin:0 0 25px}.coverage-warning{padding:10px 14px;background:#fbecd6;border-radius:6px}.rule-row{display:flex;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.rule-row h2{font-size:23px;margin:0 0 7px}.rule-row p{margin:4px 0;color:#5d626b}.rule-meta{font-size:14px;color:var(--muted)}.pill{display:inline-block;font-size:13px;padding:3px 9px;border:1px solid var(--line);border-radius:4px;margin-left:10px;vertical-align:middle}.pill.enabled{color:var(--green);border-color:#b5cdb8}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{color:var(--muted);font-weight:500;font-size:15px;padding:15px 12px;border-bottom:1px solid var(--line)}td{padding:22px 12px;border-bottom:1px solid var(--line)}td:first-child,th:first-child{padding-left:0}td:last-child{text-align:right}.section-note{margin-top:22px}.empty{padding:100px 0;color:var(--muted)}.empty h1,.empty h2{color:var(--ink);font-size:32px}.empty button{margin-top:10px}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;width:min(670px,calc(100vw - 32px));background:#faf8f3;color:var(--ink);max-height:90vh;overflow-y:auto;box-shadow:0 18px 80px #25201526}dialog::backdrop{background:#28251f70}dialog h2{font-size:27px;letter-spacing:-.6px;margin:0}dialog p{color:#62666c;font-size:16px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.icon-button{display:flex;padding:10px}.dialog-heading img{width:24px;height:24px}dialog label{display:block;font-size:16px;margin:16px 0 6px}dialog input:not([type=checkbox]),dialog select{width:100%;background:#fffdfa}dialog .file-label{display:block;padding:22px;border:1px dashed #b7ada0;border-radius:6px;background:#f4eee3;margin-top:22px}input[type=file]{font-size:14px;padding:12px 0 0!important;border:0;background:none!important}.hint{font-size:14px;color:var(--muted)}.dialog-actions{margin-top:24px;display:flex;gap:15px}.history{border-top:1px solid var(--line);margin-top:28px;padding-top:10px}.history h3{font-size:18px}.history-item{display:flex;width:100%;padding:13px 0;border-bottom:1px solid var(--line);gap:20px;text-align:left;justify-content:space-between;font-size:15px}.history-item small{color:var(--muted)}.preview-counts{font-weight:600;margin-top:18px}.preview-warnings{font-size:14px;color:#706353;padding-left:20px}.preview-warnings li{margin-bottom:10px}.error{padding:12px;background:#fbe5df;color:#9b260a!important;border-radius:6px;font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkbox{display:flex;align-items:center;gap:12px;margin:20px 0!important}.checkbox input{accent-color:var(--accent);width:20px;height:20px}#rule-form>.primary{margin-top:14px}.evidence-fields{display:grid;grid-template-columns:140px 1fr;font-size:16px;gap:9px}.evidence-fields dt{color:var(--muted)}.evidence-fields dd{margin:0;overflow-wrap:anywhere}pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}details{margin:20px 0}summary{cursor:pointer}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263f2f;color:#fff;padding:12px 22px;border-radius:6px;box-shadow:0 3px 15px #0002;z-index:10;font-size:15px;max-width:90vw}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{display:block;padding:12px;background:white}.blank-detail{padding:30px 0;max-width:650px}.blank-detail p{color:var(--muted)}
.footer-actions{display:flex;gap:24px;align-items:center}#login-form{max-width:480px}#login-form label{display:block;margin:18px 0 6px;font-size:16px}#login-form input{display:block;width:100%;background:#fffdfa}#login-form .primary{margin-top:24px}.event-title{font-weight:450}.event.opening .event-dot img{filter:none}.detail-actions .primary{font-weight:450}.page-heading h1{font-size:49px;font-weight:700}.detail h2{font-size:41px;font-weight:700}.detail blockquote p{font-weight:400}
@media(min-width:1600px){main,.topbar{padding-left:max(40px,calc((100vw - 1484px)/2 + 40px));padding-right:max(40px,calc((100vw - 1484px)/2 + 40px))}}
@media(max-width:1250px){.topbar{gap:35px;padding:0 28px}main{padding:0 28px}.page-heading h1{font-size:36px}.period-actions{gap:20px;flex-direction:column;align-items:flex-end}.detail{padding-left:30px}.session{padding-right:28px}.event{grid-template-columns:48px 35px 1fr;gap:10px}.event-pnl{grid-column:3;font-size:18px;padding:0}.timeline::before{left:75px}.event .event-dot{width:34px;height:34px}.detail h2{font-size:32px}.detail-actions{gap:16px;flex-wrap:wrap}.summary-item{font-size:18px}.summary-item strong{font-size:24px}.event-title{font-size:16px}.event-meta{font-size:14px}.review-grid{grid-template-columns:40% 60%}}
@media(max-width:800px){.topbar{height:auto;min-height:108px;flex-wrap:wrap;gap:0;padding:12px 20px 0}.brand{font-size:25px}.update{font-size:14px}.update img{width:18px}nav{order:3;width:100%;gap:16px;height:47px;margin-top:8px}nav a{font-size:15px;padding:0 8px}.page-heading{margin:24px 0;display:block}.page-heading h1{font-size:32px;letter-spacing:-1px}.period-actions{flex-direction:row;justify-content:space-between;align-items:center;margin-top:20px;gap:12px;font-size:14px}.period-actions select{min-width:145px}main{padding:0 20px;min-height:calc(100vh - 108px)}.subtitle,.subtitle select{font-size:14px}.summary-strip{gap:12px;padding:16px 0;margin-bottom:24px}.summary-item{font-size:16px;gap:8px}.summary-item+.summary-item{padding-left:0;border:0}.summary-item strong{font-size:22px}.summary-item img{width:23px;height:23px}.review-grid{display:block;min-height:0}.session{padding:0}.session h2{font-size:25px}.event{grid-template-columns:53px 40px 1fr auto;gap:10px;min-height:92px;padding:17px 0}.event-pnl{grid-column:auto;font-size:17px;padding-top:3px}.event-title{font-size:16px}.event time{font-size:15px}.event.selected{padding:20px 12px;margin:0 -12px;width:calc(100% + 24px);min-height:112px}.timeline::before{left:80px}.event .event-dot{width:34px;height:34px}.detail{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;margin-top:26px}.detail h2{font-size:29px;margin-bottom:22px}.detail blockquote{padding-left:22px;margin-left:0}.detail blockquote p{font-size:23px}.evidence-time{font-size:16px;grid-template-columns:63px 1fr;gap:10px}.detail-actions{gap:12px}.primary{font-size:16px;padding:13px 20px}.explanation{font-size:15px;gap:14px}.more{font-size:14px;gap:10px}.note-box{font-size:16px}.note-label{font-size:16px}footer{font-size:12px;flex-wrap:wrap;margin-top:30px}.rule-row{display:block}.rule-row h2{font-size:21px}.rule-row button{margin-top:14px}.table-scroll{font-size:14px}th,td{padding:14px 10px}td .accent{font-size:13px}dialog{padding:22px}.form-grid{gap:12px}.evidence-fields{grid-template-columns:110px 1fr;font-size:14px}#monthly-summary{display:block}#monthly-summary .summary-item{margin:10px 0}#rules-view .page-heading button{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .13s,color .13s}dialog[open]{animation:appear .14s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
