:root{color-scheme:light;--ink:#14233c;--mid:#485366;--brand:#1d4f9f;--pale:#edf1f7;--line:#dce0e8}*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#e4e9f3,#f7f8fa 55%);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;display:grid;place-items:center}.shell{max-width:660px;width:100%;padding:32px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand strong{font-size:19px}.brand small{display:block;color:var(--mid);font-size:12px}.mark{height:48px;width:48px;display:grid;place-items:center;border-radius:14px;background:var(--brand);color:white;font-weight:850}.notice{background:#fff8e9;border:1px solid #eedcb6;border-radius:12px;padding:14px 16px;font-size:13px;margin-bottom:20px}.panel{background:white;border-radius:20px;padding:28px;border:1px solid var(--line);box-shadow:0 15px 50px #17253e12}.panel[hidden],[hidden]{display:none!important}h1{font-size:26px;margin:0 0 8px}p{color:var(--mid);font-size:14px;margin:6px 0 18px}form{display:grid;gap:8px}label{font-size:13px;font-weight:700;margin-top:8px}input{border:1px solid #b7beca;border-radius:10px;padding:12px;font:inherit;max-width:100%}input:focus-visible,button:focus-visible{outline:3px solid #7897cd;outline-offset:2px}button{cursor:pointer;background:var(--brand);color:white;border:1px solid var(--brand);border-radius:10px;padding:12px 15px;font:inherit;font-weight:750;margin-top:12px}button:disabled{opacity:.65;cursor:wait}.outline{background:white;color:var(--brand);white-space:nowrap;margin:0}.flex{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.permission-grid{display:grid;gap:8px}.permission-grid button{text-align:left;background:var(--pale);color:var(--brand);margin-top:0}.status{font-size:13px;margin-top:15px;min-height:1.3em}footer{font-size:12px;color:var(--mid);padding-top:14px}@media(max-width:520px){.shell{padding:16px}.panel{padding:21px}.flex{display:block}.outline{margin-bottom:12px}}
.workspace{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.workspace h2{margin:0;font-size:18px}.mini{color:var(--mid);font-size:12px;font-weight:400;margin-left:5px}.inlineForm{display:flex;gap:10px;align-items:end}.inlineForm input{flex:1;min-width:0}.inlineForm button{white-space:nowrap}.currentWorkspace{background:var(--pale);border-radius:9px;padding:12px}.workspace input{width:100%}@media(max-width:520px){.inlineForm{flex-direction:column;align-items:stretch}.inlineForm button{width:100%}}

.adminPanel{margin-top:20px}.adminPanel h2{margin-top:0}.adminPanel h3{font-size:16px;margin:22px 0 10px}.adminToolbar{border-top:1px solid var(--line);padding-top:15px}.adminToolbar label{display:block}.adminList{display:grid;gap:7px;margin:12px 0}.adminRow{display:grid;gap:3px;text-align:left;margin:0;width:100%;background:#f0f3f7;color:var(--ink);border:1px solid var(--line)}.adminRow small{font-size:12px;color:var(--mid)}.adminRow strong{font-size:14px}.pager{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;color:var(--mid)}.pager button{margin:0;padding:8px 11px}.adminDetails{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}.adminDetails summary{cursor:pointer;font-weight:700}.adminForm{display:grid;gap:4px;margin-top:12px}.adminForm input,.adminForm select{max-width:100%;min-width:0;width:100%;border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;background:white}.adminForm button{margin-top:10px}.selectedRecord{padding-top:15px;margin-top:17px;border-top:1px solid var(--line)}.adminAuditRow{border-bottom:1px solid var(--line);padding:9px 0;margin:0;font-size:12px;overflow-wrap:anywhere}

.masterPanel{margin-top:20px}.masterPanel h2{margin-top:0}.mastersFilters{margin:18px 0 12px}.mastersFilters label{display:block}.mastersFilters select,.adminForm select{background:white;border:1px solid #b7beca;border-radius:10px;padding:11px;font:inherit;width:100%}.mastersFilters select{margin:6px 0 9px}.masterPanel .currentWorkspace{overflow-wrap:anywhere}.masterPanel button:disabled{opacity:.55}.masterPanel h3{font-size:16px;margin:22px 0 9px}.masterPanel .adminList button{margin:0}.masterPanel .adminDetails{margin-bottom:14px}

.openingsPanel{margin-top:20px}.openingsPanel h2{margin:0}.openingsPanel h3{font-size:17px;margin:23px 0 9px}.openingsPanel select{background:white;border:1px solid #b7beca;border-radius:10px;font:inherit;padding:11px;min-width:0}.openingRows{display:grid;gap:10px;margin:13px 0}.openingRow{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8f9fb;display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr;gap:8px}.openingRow label{grid-column:1/-1;margin:0}.openingRow input,.openingRow select{min-width:0;width:100%;margin:0}.openingRow button{grid-column:1/-1;margin:0}.openingActions{display:flex;gap:8px;flex-wrap:wrap}.openingActions button{margin:0}.openingSummary p{padding:8px 0;margin:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.openingsPanel .adminRow{margin:0}.openingsPanel .adminForm input{width:100%}@media(max-width:560px){.openingRow{grid-template-columns:1fr 1fr}.openingRow label{grid-column:1/-1}}

.commissionPanel{margin-top:20px}.commissionPanel h2{margin:0}.commissionPanel h3{font-size:16px;margin:22px 0 9px}.commissionWarning{background:#fff8e9;border:1px solid #eedcb6;padding:12px;border-radius:10px;font-size:13px;color:#654a19}.commissionPanel .adminForm select,.commissionPanel select{background:white;border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;min-width:0;width:100%}.commissionPanel .adminForm input{width:100%}.commissionPanel .inlineForm{align-items:center}.commissionSlip{border:1px solid #eedcb6;border-radius:12px;background:#fffefa;padding:15px;display:grid;gap:4px}.commissionSlip h4{margin:4px 0}.commissionSlip p{margin:3px 0;overflow-wrap:anywhere;font-size:13px}.commissionSlip strong{color:#713b00}.commissionPanel .openingActions{display:flex;gap:8px;flex-wrap:wrap}.commissionPanel button:disabled{opacity:.5}

.auctionPanel{margin-top:20px}.auctionPanel h2{margin:0}.auctionPanel h3{font-size:16px;margin:20px 0 8px}.auctionPanel .adminForm select,.auctionPanel select{background:white;border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;min-width:0;width:100%}.auctionPanel .adminForm input{width:100%}.auctionPanel .adminRow{margin:0}.auctionPanel .currentWorkspace{overflow-wrap:anywhere}

.ownedPanel{margin-top:20px}.ownedPanel h2{margin:0}.ownedPanel h3{font-size:16px;margin:20px 0 8px}.ownedPanel .adminForm select,.ownedPanel select{background:white;border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;min-width:0;width:100%}.ownedPanel .adminForm input{width:100%}.ownedPanel .adminRow{margin:0}.ownedPanel .currentWorkspace{overflow-wrap:anywhere}

.expensePanel{margin-top:20px}.expensePanel h2{margin:0}.expensePanel h3{font-size:16px;margin:20px 0 8px}.expensePanel .adminForm select,.expensePanel select{background:white;border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;min-width:0;width:100%}.expensePanel .adminForm input{width:100%}.expensePanel .adminRow{margin:0}.expensePanel .currentWorkspace{overflow-wrap:anywhere}

/* Books, approvals and event preview tables */
#booksOutput table,#apprLines table,#apprJournalView table,#eventPreview table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.92rem}
#booksOutput th,#booksOutput td,#apprLines th,#apprLines td,#apprJournalView th,#apprJournalView td,#eventPreview th,#eventPreview td{border-bottom:1px solid #e5e0d4;padding:.35rem .5rem;text-align:left}
#booksOutput td:nth-child(n+3),#apprLines td:nth-child(n+3),#apprJournalView td:nth-child(n+3){text-align:right;white-space:nowrap}
/* Print only the report being viewed */
@media print{
 body:not(.printDoc) *{visibility:hidden}
 body:not(.printDoc) #booksOutput,body:not(.printDoc) #booksOutput *{visibility:visible}
 body:not(.printDoc) #booksOutput{position:absolute;left:0;top:0;width:100%}
 #booksOutput button{display:none}
 body.printDoc>*:not(#docOutput){display:none!important}
 body.printDoc #docOutput{display:block!important}
}

/* ---------------- App shell: sidebar + top bar + tabs (signed in) ---------------- */
body{display:block;place-items:initial}
.loginWrap{min-height:100vh;display:grid;place-items:center}
.appShell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sidebar{background:#11203b;color:#e7ebf3;padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}
.sideBrand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid #2a3c5a;margin-bottom:12px}
.sideBrand .mark{height:40px;width:40px;border-radius:12px;background:#2c569d}
.sideBrand strong{display:block;color:white}.sideBrand small{color:#a8b6ce;font-size:12px}
#sideNav{display:grid;gap:4px}
.navItem{display:block;width:100%;text-align:left;margin:0;padding:10px 12px;border-radius:10px;background:transparent;border:1px solid transparent;color:#d6deec;font-weight:600}
.navItem:hover{background:#1b2d4b}.navItem.active{background:#2c569d;color:white;border-color:#3c69b6}
.appMain{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.topbar h1{font-size:20px;margin:0}.topbar small{color:#9a6b12;font-size:13px}
.topbarRight{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbarRight label{margin:0}.topbarRight select{min-width:240px;padding:8px 10px;border-radius:10px;border:1px solid #b7beca;font:inherit;background:white}
.topbarRight button{margin:0;padding:8px 14px}
.tabs{display:flex;gap:6px;padding:10px 28px 0;background:#f5f7fa;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs[hidden]{display:none!important}
.tab{margin:0;background:transparent;color:var(--mid);border:1px solid transparent;border-bottom:none;border-radius:10px 10px 0 0;padding:9px 16px;font-weight:650;white-space:nowrap}
.tab.active{background:white;color:var(--brand);border-color:var(--line)}
#views{padding:22px 28px 40px;display:grid;gap:20px;align-content:start}
#views>.panel{max-width:none;margin:0;box-shadow:0 6px 24px #17253e0d}
.viewHidden{display:none!important}
#views .adminPanel{margin-top:0}
/* forms inside the wide layout */
#views .adminForm{max-width:720px}
#views .inlineForm{flex-wrap:wrap}
#views .inlineForm input,#views .inlineForm select{flex:1 1 180px;min-width:160px}
#views select{border:1px solid #b7beca;border-radius:10px;padding:10px;font:inherit;background:white;max-width:100%}
/* overview */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:12px 0 20px}
.card{background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:14px}
.card small{display:block;color:var(--mid);font-size:12px}.card strong{font-size:20px}
#homeTable table{width:100%;border-collapse:collapse;font-size:14px}
#homeTable th,#homeTable td{border-bottom:1px solid #e5e0d4;padding:8px;text-align:left}
#homeTable td:nth-child(n+3){text-align:right}
.clickRow{cursor:pointer}.clickRow:hover{background:#f0f3f7}
/* exports */
.exportButtons{display:grid;gap:12px;margin-top:16px}
.exportItem{display:grid;gap:4px;max-width:720px}
.buttonLink{display:inline-block;background:var(--brand);color:white;text-decoration:none;border-radius:10px;padding:12px 16px;font-weight:750;width:max-content}
.exportItem small{color:var(--mid)}
/* event rule editor: fixed grid, every cell keeps a usable width */
.ruleRow{display:grid;gap:8px;align-items:center;margin:6px 0}
.ruleRow input,.ruleRow select{width:100%;min-width:0;padding:9px 10px;border-radius:9px;border:1px solid #b7beca;font:inherit;background:white}
.ruleRow button{margin:0;padding:8px 12px}
.paramRow{grid-template-columns:150px 220px 140px minmax(160px,1fr) 90px}
.lineRow{grid-template-columns:minmax(220px,1.4fr) minmax(220px,1.2fr) 90px minmax(140px,.8fr) 90px}
.ruleHead{font-size:12px;font-weight:700;color:var(--mid);margin-bottom:0}
.formulaInput{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.checkCell{display:flex;justify-content:center;margin:0}
.checkCell input{width:auto}
@media(max-width:900px){
 .appShell{grid-template-columns:1fr}
 .sidebar{position:static;height:auto;padding:10px}
 #sideNav{display:flex;overflow-x:auto;gap:6px}.navItem{white-space:nowrap;width:auto}
 .sideBrand{display:none}
 .topbar{position:static;flex-direction:column;align-items:flex-start;padding:12px 16px}
 .topbarRight select{min-width:0;width:100%}
 #views{padding:14px 12px}.tabs{padding:8px 12px 0}
 .paramRow,.lineRow{grid-template-columns:1fr 1fr}.ruleHead{display:none}
}
@media print{.sidebar,.topbar,.tabs{display:none!important}.appShell{display:block}}

#booksOutput tr.groupRow td{font-weight:700;background:#f5f7fa}
#booksOutput tr.indentRow td:first-child{padding-left:28px;color:var(--mid)}
#booksOutput tr.totalRow td{font-weight:800;border-top:2px solid var(--ink)}

.reportTable table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
.reportTable th,.reportTable td{border-bottom:1px solid #e5e0d4;padding:6px 8px;text-align:left}
tr.bulk-error td{background:#fff1f0}tr.bulk-skipped td{color:var(--mid)}
.checkLine{display:flex;align-items:center;gap:8px;font-weight:600}.checkLine input{width:auto}
.warnNote{background:#fff8e9;border:1px solid #eedcb6;border-radius:10px;padding:10px;color:#7a5410}
.docRow{padding:4px 0}

.docOutput{display:none}
.docOutput{font-size:14px;color:#111;padding:10mm}
.docOutput h1{font-size:22px;margin:14px 0;border-bottom:2px solid #111;padding-bottom:6px}
.docOutput h2{margin:0;font-size:20px}.docOutput h3{font-size:15px;margin:16px 0 4px}
.docOutput table{width:100%;border-collapse:collapse}.docOutput td{border-bottom:1px solid #ccc;padding:6px 4px}
.docOutput td:last-child{text-align:right}.docOutput .docMeta td:last-child{text-align:left}
.docOutput tr.docTotal td{font-weight:800;border-top:2px solid #111}
.docFooter{font-size:11px;color:#444;margin-top:14px}
.txnDetail{padding:6px 10px 12px;border-left:3px solid var(--line);margin:-4px 0 6px}

/* Explicit, bounded trader-directory lookup for CA users. */
.topbarRight .traderSearch{display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:100%;margin:0}
.topbarRight .traderSearch label{white-space:nowrap;font-weight:650}
.topbarRight .traderSearch input{width:150px;min-width:0;padding:8px;border-radius:8px;font-size:13px}
.topbarRight .traderSearch button{padding:7px 9px;border-radius:8px}
.topbarRight .traderSearch output{font-size:12px;color:var(--mid);min-width:105px}
@media(max-width:850px){.topbar{flex-wrap:wrap}.topbarRight{width:100%;justify-content:flex-start}.topbarRight .traderSearch{width:100%}.topbarRight select{min-width:0;flex:1 1 160px}}


.intPhoto{max-width:100%;max-height:420px;border:1px solid #b7beca;border-radius:10px;margin:8px 0;display:block}#intMedia audio,#capPlayback{width:100%;margin:8px 0}#intDraft{width:100%;border-collapse:collapse;font-size:14px}#intDraft th,#intDraft td{border-bottom:1px solid #dfe2e8;padding:4px 6px;text-align:left}
.soonList{margin:6px 0 16px 20px;padding:0}.soonList li{margin:4px 0;line-height:1.4}
.bulkRow{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.bulkRow input[type=checkbox]{width:20px;height:20px;margin:0}

.clickCard{cursor:pointer;transition:border-color .15s,box-shadow .15s}.clickCard:hover,.clickCard:focus-visible{border-color:var(--brand);box-shadow:0 4px 14px #1d4f9f26;outline:none}.homeParties{margin:8px 0 20px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow-x:auto}.homeParties table{border-collapse:collapse;width:100%;font-size:14px}.homeParties th,.homeParties td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}.homeParties .r{text-align:right;white-space:nowrap}

.steps{display:grid;gap:12px;padding-left:20px}.steps li{line-height:1.7}.warnNote{background:#fff8e9;border:1px solid #eedcb6;border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink)}#onboardResult table,#onboardCredList table{border-collapse:collapse;width:100%;font-size:13px}#onboardResult th,#onboardResult td,#onboardCredList th,#onboardCredList td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.scroll{overflow-x:auto}tr.rowError td{color:#9b1c1c}tr.rowWarning td{color:#8a5a00}

.mark{font-size:14px;letter-spacing:0}
