:root{--app-font:Vazirmatn,-apple-system,BlinkMacSystemFont,sans-serif;--app-text:#f5f7fb;--app-muted:#a9b7cc;--app-surface:#17283f;--app-surface-raised:#203854;--app-border:#36536f;--app-accent:#2387f5;--app-success:#12b981;--app-danger:#ff5964;--app-warning:#f4b740;--app-radius-control:14px;--app-radius-card:22px;--app-control-height:52px;--app-control-px:16px;--app-control-py:12px;--app-font-body:14px;--app-font-button:16px;--app-font-caption:12px;--app-button-bg:linear-gradient(180deg,var(--app-surface-raised),var(--app-surface));--app-button-border:var(--app-border)}
.appui-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-card);padding:20px}
/* BASE UI CONTROL CONTRACT — prevents iOS/WebKit native white buttons and keeps all feature modules on the same visual layer. */
button,.file-label,input,select,textarea{font-family:var(--app-font)}
button,.file-label{-webkit-appearance:none;appearance:none;color:var(--app-text);border:1px solid var(--app-button-border);background:var(--app-button-bg);font-family:var(--app-font)}
button.primary{background:linear-gradient(180deg,#2f94ff,var(--app-accent));border-color:#4ca2ff;color:#fff}
button.secondary{background:var(--app-button-bg);border-color:var(--app-border);color:var(--app-text)}
button.danger,button.danger-small{background:var(--app-button-bg);color:var(--app-danger);border-color:color-mix(in srgb,var(--app-danger) 45%,var(--app-border))}
button:disabled{opacity:.48}
.appui-button,#settings .settings-list>button,#settings .settings-list>.file-label{box-sizing:border-box;width:100%;min-height:var(--app-control-height);padding:var(--app-control-py) var(--app-control-px);border:1px solid var(--app-border);border-radius:var(--app-radius-control);background:var(--app-button-bg);color:var(--app-text);font-family:var(--app-font);font-size:var(--app-font-button);font-weight:700;line-height:1.35;text-align:center;-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;margin:0}.appui-button:active,#settings .settings-list>button:active,#settings .settings-list>.file-label:active{transform:translateY(1px)}.appui-status{margin:12px 2px 0;color:var(--app-muted);font-family:var(--app-font);font-size:var(--app-font-body);line-height:1.8}.appui-status[data-type="ok"]{color:var(--app-success)}.appui-status[data-type="warn"]{color:var(--app-warning)}.appui-caption{color:var(--app-muted);font-size:var(--app-font-caption);line-height:1.7}.appui-update .settings-list{margin-top:12px}.appui-update h3{margin:0 0 8px;font-weight:800}.appui-update .privacy-note{margin:0}#settings>.settings-list,#settings .panel>.settings-list{display:grid;gap:12px}#settings>.settings-list{margin:16px 0 20px}#settings .panel{border-radius:var(--app-radius-card)}#settings .panel h3{font-family:var(--app-font);font-weight:800}#settings .privacy-note{font-family:var(--app-font);color:var(--app-muted);line-height:1.9}#settings .settings-list>button.danger{color:var(--app-danger);border-color:color-mix(in srgb,var(--app-danger) 45%,var(--app-border));background:var(--app-button-bg)}
/* Feature cards that are implemented as buttons must look like app surfaces, never native controls. */
.ck-report-btn,.ck-card,.section-title button,.mini-row button,.investment-action-picker button,#modalBody button{font-family:var(--app-font);-webkit-appearance:none;appearance:none}
.ck-report-btn,.ck-card{background:var(--app-button-bg)!important;color:var(--app-text)!important;border:1px solid var(--app-border)!important}
/* Shared SVG/action contract. */
.app-icon{width:18px;height:18px;display:block;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.app-icon-button{display:flex!important;align-items:center;justify-content:center;gap:7px}.il-actions{display:flex;gap:var(--btn-action-gap,7px);margin:7px 0 13px}.il-actions button{flex:1;min-height:var(--btn-h-small,38px)!important;padding:8px 12px!important;border-radius:var(--btn-radius-small,12px)!important;font-family:var(--app-font)!important;font-size:var(--btn-font-small,12.5px)!important;font-weight:700;line-height:1.45;background:var(--app-button-bg)!important;color:var(--app-text)!important;border:1px solid var(--app-border)!important}.il-actions button.danger-small{color:var(--app-danger)!important;border-color:color-mix(in srgb,var(--app-danger) 45%,var(--app-border))!important}.inv-sale-row .il-actions{grid-column:1/-1;margin:7px 0 0}.form-grid .field input,.form-grid .field select,.form-grid .field button{font-family:var(--app-font)}
/* BASE MODAL CONTRACT — compact text close stays at top-left, level with the modal title. */
#modalBody{position:relative}.base-modal-close{position:sticky!important;top:0;z-index:30;float:left;clear:none;margin:0 12px 8px 0!important;width:auto!important;height:auto!important;min-height:36px!important;padding:7px 13px!important;border-radius:12px!important;display:flex!important;align-items:center;justify-content:center;background:var(--app-button-bg)!important;color:var(--app-text)!important;border:1px solid var(--app-border)!important;box-shadow:none!important;font-size:13px!important;font-weight:700!important;line-height:1.4!important}[data-inv-close]{display:none!important}