.login-card{max-width:420px;margin:10vh auto;padding:30px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.login-card label{display:grid;gap:6px;margin:16px 0}
.login-card button{width:100%}
.nav-link{display:block;padding:12px;border-radius:7px;text-decoration:none;color:var(--text)}
.nav-link.active{background:#2a3b59}
.workspace-section{margin:18px 0}
.workspace-section h2{font-size:20px}
.workspace-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}
.workspace-actions input{min-width:230px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.settings-card h2{margin-top:0;font-size:18px}
.settings-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--border);padding:12px 0}
.settings-row button{font-size:var(--ui-font-body)}
.settings-row small{display:block}
.control-row{display:flex;gap:8px;flex-wrap:wrap}
.journal-entry{border-bottom:1px solid var(--border);padding:15px 0}
.journal-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--ui-font-caption);color:var(--muted)}
#feedback{margin:14px 0;color:var(--positive);min-height:22px}
.permission-list{max-height:260px;overflow:auto}
.permission-list label{margin:8px 0}
dialog{width:620px}
.form-note{font-size:var(--ui-font-caption);color:var(--muted)}
.readonly-note{background:#263953;padding:12px;border-radius:8px}
.login-card h1{margin-top:0}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}
}
@media(max-width:760px){.login-card{margin:25px 12px}
.hero .profile>div{display:none}
.workspace-actions input{min-width:0;width:100%}
}
[hidden]{display:none!important}


#feedback:empty{min-height:0;margin:0}
.workspace-actions form{display:flex;gap:8px;flex-wrap:wrap}

/* Readable defaults and persistent service controls. */
body{font-size:var(--ui-font-body)}button,input,select,textarea{font:inherit}textarea{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px}table,thead,tbody,td,th,.settings-row button{font-size:var(--ui-font-body)}.form-note,.subtle{font-size:var(--ui-font-caption)}small,.review-strip{font-size:var(--ui-font-caption)}.topbar{height:auto;min-height:76px;gap:14px;flex-wrap:wrap}.topbar .profile{display:flex;align-items:center;gap:10px}.topbar .profile b,.topbar .profile small{display:block}.top-widget{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.status-bar{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);margin:12px 0}.status-dot{color:var(--positive)}#feedback{margin:0;min-height:0;color:var(--text)}.settings-grid{margin:18px 0}.help-shot{max-width:100%;border:1px solid var(--border);border-radius:8px}dialog{max-height:90vh;overflow:auto}dialog ol li{margin-bottom:12px}summary{cursor:pointer}fieldset{border:1px solid var(--border);border-radius:8px}#content h2{font-size:22px}.settings-card h3{margin-top:0}.settings-card button{margin:4px}.topbar .avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#1264b2}.topbar .profile small{color:var(--muted)}
@media(max-width:760px){.topbar{gap:8px}.topbar .profile{margin-left:auto}.topbar .profile b{font-size:var(--ui-font-body)}.top-widget{font-size:var(--ui-font-body)}.topbar .top-spacer{display:none}.hero-heading h1{font-size:28px}.settings-row{flex-wrap:wrap}dialog{width:calc(100% - 24px)}}

.service-menu{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 14px;margin-bottom:8px;border:1px dashed var(--border);border-radius:8px;background:#101724;font-size:var(--ui-font-body)}.service-label{color:var(--muted)}.global-menu{border-bottom:1px solid var(--border);margin-bottom:16px}

.page-help{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:32px;padding:18px 0;border-top:1px solid var(--border);color:var(--muted);font-size:var(--ui-font-body)}

.page-help{display:block;max-width:900px;margin:36px auto}.help-toggle{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px}.help-toggle input{accent-color:var(--accent);width:36px;height:20px}.page-guide{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);line-height:1.65}.page-guide h2{font-size:22px}.page-guide li{margin:12px 0}.help-boundary{padding:16px;background:var(--surface2);border-radius:10px;margin:20px 0}.help-boundary h3{margin-top:0}

.help-toggle input{appearance:none;border:1px solid var(--border);border-radius:20px;background:var(--surface2);padding:2px;cursor:pointer;width:38px;height:22px}.help-toggle input:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:white;transition:transform .15s}.help-toggle input:checked{background:var(--accent)}.help-toggle input:checked:before{transform:translateX(16px)}

.settings-row>span{min-width:0;overflow-wrap:anywhere}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;flex-shrink:0}.settings-card .row-actions button{margin:0;white-space:nowrap}@media(max-width:760px){.row-actions{flex-wrap:wrap;max-width:100%}}

/* Dialogs share the shell typography, including inherited UI zoom. */
dialog{font:inherit}
dialog label,dialog input,dialog select,dialog textarea,dialog button{font:inherit}
dialog .dialog-head h2{font-size:var(--ui-font-heading);line-height:1.3}
dialog .form-note,dialog .subtle,dialog small,dialog .error{font-size:var(--ui-font-caption)}
.guide-figure{margin:24px 0}.guide-figure a{display:block}.guide-figure figcaption{font-size:var(--ui-font-caption);color:var(--muted);margin-top:8px}.guide-figure img{display:block;width:100%;height:auto}
:root { --rule-accent: #7184e2; }
.rule-list{display:grid;gap:1rem;margin-block:1rem}
.rule-card{border-left:3px solid var(--rule-accent)}
.rule-card.paused{border-left-color:var(--border)}
.rule-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.rule-card-heading>div:first-child{min-width:0}
.rule-card-heading .text-link{font-weight:700;font-size:1.125rem;text-align:left;overflow-wrap:anywhere}
.rule-card-heading small{display:block;margin-top:.35rem}
.rule-conditions{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-block:1rem;overflow-wrap:anywhere}
.rule-conditions b{color:var(--rule-accent)}
.rule-targets{display:flex;flex-wrap:wrap;gap:.5rem}
.rule-condition-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:.5rem;margin-bottom:.7rem;align-items:start}
.rule-condition-editor input,.rule-condition-editor select{width:100%;min-width:0}
.rule-preview-rows{display:grid;gap:.8rem;max-height:55vh;overflow:auto;padding:.25rem}
.rule-preview-rows .text-link{text-align:left;overflow-wrap:anywhere}
@media(max-width:700px){.rule-card-heading{align-items:flex-start;flex-direction:column}.rule-condition-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rule-condition-editor input,.rule-condition-editor select[data-condition-value]{grid-column:1/-1}.rule-card .row-actions{flex-wrap:wrap}}

.rule-editor-section{padding:1rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);margin-block:1rem}
.rule-editor-section h3{margin-top:0}
.exchange-columns{margin-block:1rem;min-width:0}
.exchange-columns .ledger{max-width:100%;overflow:auto}
.exchange-columns th select{display:block;min-width:12rem;max-width:16rem;margin-top:.5rem}
.exchange-columns td{max-width:22rem;overflow-wrap:anywhere}
.exchange-columns .directory-filters{align-items:end}
