/* Shared visual hierarchy: primary, supporting, and destructive actions. */
.button,button,.actions a{min-height:38px;border-radius:8px;font-weight:650}.button.secondary,button.secondary,.actions a,.back-link{border-color:#cde2da;background:var(--primary-soft);color:var(--primary-dark)}.button.secondary:hover,button.secondary:hover,.actions a:hover,.back-link:hover{border-color:#a9cec0;background:#dceee7;color:var(--primary-dark)}.danger,button.danger,.actions button.danger{border-color:var(--danger);background:var(--danger);color:#fff}.danger:hover,button.danger:hover,.actions button.danger:hover{border-color:#912018;background:#912018;color:#fff}.back-link{display:inline-flex;align-items:center;min-height:32px;margin-bottom:12px;padding:6px 10px;border:1px solid #cde2da;border-radius:8px;font-size:.78rem;font-weight:650;text-decoration:none}.page-back{margin-bottom:10px}.actions{align-items:center}.actions form{display:flex;margin:0}.actions a,.actions button{min-height:34px;padding:7px 10px;font-size:.78rem}.compact-heading{margin-bottom:12px}.card>h2:first-child,.transaction-list>h2:first-child{margin-bottom:10px}.filters.card{margin-bottom:12px}.narrow form>button:last-child{margin-top:4px}button:disabled,.button[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
@media(max-width:600px){.compact-heading{margin-bottom:9px}.back-link{margin-bottom:9px}.actions a,.actions button{min-height:36px}}
.header-actions{display:flex;align-items:center;gap:6px}.header-actions form{margin:0}.top .logout-link,.top .exit-link{min-height:34px;padding:7px 10px;border:1px solid transparent}.top .logout-link{border-color:#cde2da;background:var(--primary-soft);color:var(--primary-dark)}.top .logout-link:hover{border-color:#a9cec0;background:#dceee7;color:var(--primary-dark)}.top .exit-link{border-color:#fecdca;background:var(--danger-soft);color:var(--danger)}.top .exit-link:hover{border-color:var(--danger);background:var(--danger);color:#fff}@media(max-width:600px){.header-actions{gap:4px}.top .logout-link,.top .exit-link{min-height:32px;padding:6px 8px;font-size:.76rem}}
.signed-in-user{display:flex;align-items:center;gap:7px;max-width:150px;min-height:34px;padding:4px 9px 4px 5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:.8rem;font-weight:700;text-decoration:none}.signed-in-user:hover{border-color:#a9cec0;background:var(--primary-soft);color:var(--primary-dark)}.user-avatar{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:.7rem;font-weight:800}.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.signed-in-user{width:32px;min-width:32px;height:32px;padding:3px;border:0;background:transparent}.signed-in-user .user-name{display:none}.user-avatar{width:26px;height:26px;flex-basis:26px}}
.user-menu{position:relative;margin:0}.user-menu>summary{list-style:none;cursor:pointer}.user-menu>summary::-webkit-details-marker{display:none}.user-menu-caret{color:var(--muted);font-size:.65rem;transition:transform .15s}.user-menu[open] .user-menu-caret{transform:rotate(180deg)}.user-menu.active .signed-in-user,.user-menu[open] .signed-in-user{border-color:#a9cec0;background:var(--primary-soft);color:var(--primary-dark)}.user-menu-panel{position:absolute;z-index:80;top:calc(100% + 8px);right:0;width:220px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.user-menu-identity{padding:7px 9px 9px;border-bottom:1px solid var(--border)}.user-menu-identity strong,.user-menu-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-identity strong{font-size:.84rem}.user-menu-identity small{margin-top:2px;color:var(--muted);font-size:.72rem}.user-menu-panel>a,.user-menu-panel form button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:36px;margin:0;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);font:650 .8rem/1 var(--font);text-decoration:none}.user-menu-panel>a:hover,.user-menu-panel form button:hover{background:var(--primary-soft);color:var(--primary-dark)}.user-menu-panel form{display:block;width:100%;margin:0}.user-menu-panel form .user-menu-exit{color:var(--danger)}.user-menu-panel form .user-menu-exit:hover{background:var(--danger-soft);color:var(--danger)}@media(max-width:600px){.user-menu-caret{display:none}.user-menu-panel{position:fixed;top:58px;right:8px;width:min(240px,calc(100vw - 16px))}}
.top nav a.active{background:var(--primary-soft);color:var(--primary-dark)}.bottom a.active{color:var(--primary);font-weight:800}.page-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
@media (max-width:900px){.admin-ledger-view .top{gap:12px;padding-inline:14px}.admin-ledger-view .top nav{display:flex;gap:2px;overflow-x:auto}.admin-ledger-view .top nav a{padding-inline:7px;font-size:.78rem}.admin-ledger-view .bottom{display:none}.admin-ledger-view main{padding-bottom:32px}}
@media (max-width:680px){.admin-ledger-view .top{gap:5px;padding-inline:7px}.admin-ledger-view .brand span{display:none}.admin-ledger-view .top nav a{min-height:32px;padding-inline:6px;font-size:.7rem}.admin-ledger-view .header-actions{gap:2px}.admin-ledger-view .top .logout-link,.admin-ledger-view .top .exit-link{padding-inline:6px;font-size:.7rem}}
/* Laravel's paginator normally relies on utility CSS for SVG dimensions. */
main nav[role="navigation"] svg{display:block;width:18px;height:18px;max-width:18px;max-height:18px}
main nav[role="navigation"] a,main nav[role="navigation"] span{font-size:.8rem}
.ledger-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:16px;padding-top:13px;border-top:1px solid var(--border)}.ledger-pagination a,.ledger-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-weight:650;text-decoration:none}.ledger-pagination a:hover{border-color:#a9cec0;background:var(--primary-soft);color:var(--primary-dark)}.ledger-pagination .pagination-current{border-color:var(--primary);background:var(--primary);color:#fff}.ledger-pagination .pagination-disabled{color:var(--muted);opacity:.55}.ledger-pagination .pagination-ellipsis{min-width:24px;padding-inline:3px;border-color:transparent;background:transparent}
.close-ledger-page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.close-ledger-card{width:100%;max-width:none;margin:0;padding:16px 18px}.close-ledger-card>h2{margin-bottom:8px}.close-ledger-card>p{margin-top:0}.close-ledger-card h3{margin:14px 0 5px}.close-ledger-card .row{min-height:42px;padding-block:6px}.close-ledger-card form{max-width:620px}.close-ledger-card form label:first-child{margin-top:4px}@media(max-width:600px){.close-ledger-page{gap:10px}.close-ledger-card{padding:14px}.close-ledger-card form{max-width:none}}
.required-marker{color:var(--danger);font-weight:800}.currency-code-fields,.currency-pair-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.currency-pair-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.currency-pair-fields label{margin:0}.currency-pair-fields>small{grid-column:1/-1;color:var(--muted)}[hidden]{display:none!important}@media(max-width:600px){.currency-code-fields,.currency-pair-fields{grid-template-columns:1fr}.currency-pair-fields>small{grid-column:1}}
.currency-transaction-summary{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-weight:700;font-variant-numeric:tabular-nums}.transaction-details{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.transaction-details h2{margin-bottom:7px}.transaction-details>div{padding:8px 0;border-bottom:1px solid var(--border)}.transaction-details p{margin:0 0 3px}.transaction-details small{color:var(--muted)}.append-detail-form{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}
.currency-account-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.currency-account-totals article{padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.currency-account-totals span,.currency-account-totals strong{display:block}.currency-account-totals span{color:var(--muted);font-size:.74rem;font-weight:650}.currency-account-totals strong{margin-top:3px;font-size:.95rem;font-variant-numeric:tabular-nums}@media(max-width:650px){.currency-account-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.currency-account-totals{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){.currency-account-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.report-filters{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.report-filters label{flex:1 1 150px}.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-bottom:.8rem}.report-kpis a{background:#eef3f0;border:1px solid #d4ddd8;border-radius:12px;padding:.75rem;color:inherit;text-decoration:none}.report-kpis span{display:block;color:#5b6963;font-size:.82rem}.report-kpis strong{display:block;margin-top:.2rem;font-size:1.18rem}.report-snapshots,.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.report-snapshots>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;background:#f4f6f5;border-radius:10px;padding:.7rem}.report-snapshots>div>b{grid-column:1/-1}.report-snapshots span{display:flex;justify-content:space-between;gap:.4rem;font-size:.88rem}.report-grid{margin:.8rem 0}.report-bar-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(80px,2fr) auto;align-items:center;gap:.6rem;padding:.45rem 0;text-decoration:none;color:inherit}.report-bar-row i{height:7px;border-radius:8px;background:linear-gradient(90deg,#77998b var(--bar),#e5ebe8 var(--bar))}.report-table,.report-months{margin-top:.8rem}.table-wrap{overflow-x:auto}.report-table table,.report-months table{width:100%;border-collapse:collapse;white-space:nowrap}.report-table th,.report-table td,.report-months th,.report-months td{padding:.55rem .6rem;border-bottom:1px solid #e0e6e3;text-align:right;font-variant-numeric:tabular-nums}.report-table th:first-child,.report-table td:first-child,.report-months th:first-child,.report-months td:first-child{text-align:left}.custom-category-list>div{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid #e2e7e4}.custom-category-list span{display:flex;flex-direction:column}.custom-category-list small{color:#65716c}.category-create{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:.55rem}@media(max-width:850px){.report-kpis{grid-template-columns:repeat(3,1fr)}.report-snapshots,.report-grid{grid-template-columns:1fr}.category-create{grid-template-columns:1fr}}@media(max-width:520px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-snapshots>div{grid-template-columns:repeat(2,1fr)}}
.report-position table{width:100%;min-width:680px;border-collapse:collapse;table-layout:fixed}.report-position th,.report-position td{padding:.65rem .75rem;border-bottom:1px solid #e0e6e3;text-align:right;font-variant-numeric:tabular-nums}.report-position thead th{color:var(--muted);font-size:.78rem}.report-position th:first-child{text-align:left;width:90px}.report-position tbody tr:last-child th,.report-position tbody tr:last-child td{border-bottom:0}.report-position tbody th{color:var(--text)}
.account-toolbar{display:block}.account-toolbar-identity{justify-content:flex-start;margin:0}.account-toolbar-identity .button{min-height:30px;padding:5px 9px;font-size:.76rem}.account-toolbar .range-controls{display:grid;grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) auto auto;width:100%;margin-top:10px}.account-toolbar .range-controls label{min-width:0}@media(max-width:700px){.account-toolbar .range-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.account-toolbar .range-controls button,.account-toolbar .range-controls .button{width:100%}}@media(max-width:480px){.account-toolbar-identity{flex-wrap:wrap}.account-toolbar .range-controls{grid-template-columns:1fr}}
.account-page-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.account-page-links .back-link{margin:0}.account-edit-link{min-height:32px;padding:6px 10px;font-size:.78rem}.account-toolbar{display:flex;align-items:flex-end;gap:18px}.account-toolbar-identity{display:flex;align-items:baseline;gap:12px;min-width:0;margin-right:auto}.account-toolbar .range-controls{display:flex;flex:0 1 650px;width:auto;margin-top:0}.account-toolbar .range-controls label{min-width:128px}@media(max-width:900px){.account-toolbar{align-items:stretch;flex-direction:column;gap:10px}.account-toolbar-identity{width:100%;justify-content:space-between}.account-toolbar .range-controls{display:flex;flex:auto;width:100%;margin-top:0}}@media(max-width:700px){.account-toolbar .range-controls{display:flex;flex-wrap:wrap}.account-toolbar .range-controls label{min-width:145px}.account-toolbar .range-controls button,.account-toolbar .range-controls .button{width:auto}}@media(max-width:480px){.account-toolbar-identity{flex-wrap:nowrap}.account-toolbar .range-controls{display:flex}.account-page-links{margin-bottom:7px}}
.account-transaction-actions{display:flex;align-items:center;justify-content:center;flex:1 1 auto;gap:5px}.account-transaction-actions .button{min-height:32px;padding:6px 9px;font-size:.76rem;white-space:nowrap}@media(max-width:700px){.account-page-links{flex-wrap:wrap}.account-transaction-actions{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}}
@media(min-width:701px){.account-toolbar{display:flex;flex-direction:row;align-items:center;gap:14px;white-space:nowrap}.account-toolbar-identity{flex:0 0 auto;width:auto;justify-content:flex-start;margin-right:auto}.account-toolbar .range-controls{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;flex-wrap:nowrap;width:auto;gap:6px}.account-toolbar .range-controls label{display:flex;flex:0 1 190px;align-items:center;gap:5px;min-width:150px;margin:0}.account-toolbar .range-controls label span{display:inline;margin:0;white-space:nowrap}.account-toolbar .range-controls input{min-width:0;width:100%;padding-inline:7px}.account-toolbar .range-controls button,.account-toolbar .range-controls .button{min-height:36px;padding:7px 9px;font-size:.76rem}}
.report-kpis article{background:#eef3f0;border:1px solid #d4ddd8;border-radius:12px;padding:.75rem}.report-filters{display:block;padding:10px 12px}.report-controls-row{display:flex;align-items:flex-end;gap:6px;width:100%;min-width:0}.report-controls-row>label{flex:0 1 142px;min-width:120px;margin:0}.report-controls-row>label input{padding-inline:6px}.report-presets{display:flex;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:4px;margin:0;overflow-x:auto}.report-presets a{display:inline-flex;align-items:center;min-height:36px;padding:6px 7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--primary-dark);font-size:.72rem;font-weight:650;text-decoration:none;white-space:nowrap}.report-presets a:hover{background:var(--primary-soft);border-color:#a9cec0}.report-actions-stack{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:2px}.report-action-buttons{display:flex;align-items:center;gap:5px}.report-action-buttons>*{flex:0 0 auto;min-height:36px;padding:7px 9px;white-space:nowrap}.report-zero-toggle{display:flex;align-items:center;gap:5px;width:max-content;margin:0!important;min-height:18px;white-space:nowrap;color:var(--muted);font-size:.72rem}.report-zero-toggle input{width:auto;margin:0}@media(max-width:760px){.report-controls-row{flex-wrap:wrap}.report-presets{flex:1 1 100%;padding-bottom:2px}.report-controls-row>label{flex:1 1 calc(50% - 4px);min-width:130px}.report-actions-stack{flex:0 0 auto}}@media(max-width:560px){.report-actions-stack{flex:1 1 100%;width:100%}.report-action-buttons{width:100%}.report-action-buttons>button{flex:1 1 auto}.report-action-buttons>.button{flex:1 1 60px;text-align:center}}
.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-context{display:flex;align-items:center;gap:6px;margin:-4px 0 10px;padding:6px 9px;border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font-size:.78rem}.filter-context a{margin-left:auto;font-weight:700}@media(max-width:850px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.report-actions-stack .report-zero-toggle{flex:0 0 auto!important}
.account-pane-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.account-pane-grid .account-group{min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);overflow:hidden}.account-pane-grid .account-group+.account-group{border-top:1px solid var(--border)}.account-pane-grid .account-group-heading{min-height:44px;padding:8px 10px;background:var(--surface-2)}.account-pane-grid .account-group-heading h2{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.account-pane-grid .account-group-heading>strong{font-size:.86rem}.account-pane-grid .account-list{padding:3px 9px 5px}.account-pane-grid .account-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:36px;padding:5px 1px}.account-pane-grid .account-row b{font-size:.8rem}.account-pane-grid .account-row small{font-size:.7rem}.account-pane-grid .account-row .account-balance{font-size:.8rem}.account-pane-grid .compact-empty{padding:8px 0;font-size:.75rem}@media(max-width:900px){.account-pane-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.account-pane-grid{grid-template-columns:1fr}.account-pane-grid .account-row{min-height:38px}}
.account-pane-grid .account-row b,.account-pane-grid .account-row .account-balance{font-size:calc(.8rem + 2px)}
.history-filters .history-presets{grid-column:3/-1;justify-content:flex-end;align-self:center;overflow:visible}.history-filters .history-presets a{flex:0 0 auto}@media(max-width:900px){.history-filters .history-presets{grid-column:1/-1;justify-content:flex-start;overflow-x:auto}}
.manual-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:start}.manual-toc{position:sticky;top:76px;padding:13px}.manual-toc>strong{display:block;margin-bottom:8px}.manual-toc nav{display:grid;gap:2px}.manual-toc a{padding:6px 7px;border-radius:6px;color:var(--muted);font-size:.76rem;text-decoration:none}.manual-toc a:hover{background:var(--primary-soft);color:var(--primary-dark)}.manual-content{display:grid;gap:12px;min-width:0}.manual-intro{padding:4px 2px}.manual-intro h1{margin-bottom:6px}.manual-intro p:last-child{max-width:780px;margin-bottom:0;color:var(--muted)}.manual-section{scroll-margin-top:76px;padding:16px 18px}.manual-section h2{margin-bottom:9px}.manual-section h3{margin:14px 0 6px;font-size:.95rem}.manual-section p{margin:6px 0;line-height:1.55}.manual-section ul,.manual-section ol{margin:7px 0;padding-left:21px}.manual-section li{margin:4px 0;line-height:1.5}.manual-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-account-grid article{padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.manual-account-grid h3{margin:0 0 5px}.manual-table-wrap{overflow-x:auto}.manual-section table{width:100%;border-collapse:collapse}.manual-section th,.manual-section td{padding:8px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.manual-section th{color:var(--muted);font-size:.74rem;text-transform:uppercase}.manual-section code{padding:2px 4px;border-radius:4px;background:var(--surface-2)}.manual-note{margin-top:10px;padding:10px 12px;border-left:3px solid var(--primary);border-radius:7px;background:var(--primary-soft);line-height:1.5}@media(max-width:800px){.manual-layout{grid-template-columns:1fr}.manual-toc{position:static}.manual-toc nav{display:flex;overflow-x:auto}.manual-toc a{white-space:nowrap}.manual-account-grid{grid-template-columns:1fr}}
