:root{color-scheme:light;--bg:#f5f6f8;--panel:#ffffff;--accent:#4d752a;--primary-bg:#c8f080;--text:#242932;--button:#f1f3f5;--line:#dce1e7;--selected-soft:#eef5e6;--primary-text:#172013;--primary-hover:#b9e56c;--input:#ffffff;--input-text:#242932;--sidebar:#ffffff;--nav-active:#eaf3dd;--accent-border:#c5d7ac;--number:#f8f9fb;--number-border:#dce1e7;--wave-red:#d64b5c;--wave-blue:#397bd3;--wave-green:#268650;--number-selected:#eaf3dd;--selected-border:#83a856;--selected-text:#36581e;--subtle-line:#e8ebef;--empty-text:#727985;--error:#b42332;--dialog-border:#dce1e7;--dialog:#ffffff;--backdrop:#18202b66;--modal-text:#505a68;--toast-text:#ffffff;--muted:#68717d;--number-chip:#f0f2f5;--floating:#ffffff;--selected-button:#eaf3dd;--selected-button-border:#c5d7ac;--scroll-thumb:#b9c1cb;--checkbox-border:#a1aab6;--secondary-text:#727985;--status-normal-text:#3c6428;--status-normal-bg:#eaf3e4;--status-disabled-text:#96532f;--status-disabled-bg:#fff0e5;--focus-border:#83a856;--menu-border:#dce1e7;--menu-shadow:#18202b1a;--option-hover:#eef5e6;--scroll-hover:#8794a5;}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101113;--panel:#18191c;--accent:#c8f080;--primary-bg:#c8f080;--text:#eceef0;--button:#202125;--line:#2b2d32;--selected-soft:#263023;--primary-text:#172013;--primary-hover:#dcffa4;--input:#111215;--input-text:#eee;--sidebar:#141517;--nav-active:#262b22;--accent-border:#35442b;--number:#1e2024;--number-border:#303238;--wave-red:#ed818a;--wave-blue:#7dacf0;--wave-green:#80cba4;--number-selected:#283122;--selected-border:#a4c966;--selected-text:#d7f5ac;--subtle-line:#25272b;--empty-text:#666c76;--error:#f39a9a;--dialog-border:#454a42;--dialog:#191b1d;--backdrop:#0009;--modal-text:#bbc1c8;--toast-text:#182213;--muted:#8c909a;--number-chip:#22252a;--floating:#1b1d20;--selected-button:#293322;--selected-button-border:#3b4d2d;--scroll-thumb:#41454b;--checkbox-border:#53585f;--secondary-text:#686f78;--status-normal-text:#bfe594;--status-normal-bg:#273220;--status-disabled-text:#e6ad91;--status-disabled-bg:#392922;--focus-border:#64784c;--menu-border:#393d43;--menu-shadow:#0007;--option-hover:#2d3526;--scroll-hover:#60656e;}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{border:1px solid var(--line);background:var(--button);border-radius:8px;padding:9px 15px}button:hover{background:var(--line)}button.active{border-color:var(--accent);color:var(--accent);background:var(--selected-soft)}.primary{background:var(--primary-bg);color:var(--primary-text);border:0;font-weight:600}.primary:hover{background:var(--primary-hover)}input,textarea,select{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:11px;color:var(--input-text);min-width:0}label{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}aside{position:fixed;width:204px;inset:0 auto 0 0;border-right:1px solid var(--line);padding:30px 20px;background:var(--sidebar)}.brand{font-size:22px;font-weight:650;letter-spacing:3px}.brand i{display:inline-block;width:13px;height:13px;border-radius:4px;background:var(--accent);margin-right:9px}.sub{color:var(--muted);font-size:12px;letter-spacing:2px;margin:10px 0 44px}.nav{width:100%;text-align:left;margin-bottom:8px;background:none;border:0;padding:13px}.nav.active{background:var(--nav-active);color:var(--accent)}.aside-bottom{position:absolute;bottom:28px;color:var(--muted);font-size:12px;line-height:2}main{margin-left:204px;padding:32px 38px;max-width:1600px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:2px}h1{font-size:28px;font-weight:550;margin:10px 0}h2{font-size:16px;font-weight:550;margin:0}p{color:var(--muted);line-height:1.6}.badge{font-size:12px;color:var(--accent);border:1px solid var(--accent-border);padding:8px 12px;border-radius:30px}.stats{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:24px}.stat{padding:22px 26px}.stat+ .stat{border-left:1px solid var(--line)}.stat label{margin-bottom:13px}.stat strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);margin-left:8px}.layout{display:grid;grid-template-columns:minmax(460px,1fr) 340px;gap:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.quiet{background:none;border:0;color:var(--muted);padding:4px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:23px}.tabs button{border:0;background:none;border-radius:0;color:var(--muted);padding:0 0 14px}.tabs button.active{color:var(--accent);border-bottom:2px solid var(--accent)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters{min-height:94px}.filters button{padding:7px 12px;font-size:13px}.filter-mode{display:flex;justify-content:space-between;align-items:center;margin:18px 0;color:var(--muted);font-size:12px}.filter-mode select{padding:5px 8px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.number{position:relative;height:66px;background:var(--number);border:1px solid var(--number-border);text-align:left;padding:10px 12px}.number strong{font-size:19px;font-weight:550}.number small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.dot{position:absolute;right:10px;top:13px;width:5px;height:5px;border-radius:50%}.red{background:var(--wave-red)}.blue{background:var(--wave-blue)}.green{background:var(--wave-green)}.number.selected{background:var(--number-selected);border-color:var(--selected-border);color:var(--selected-text)}.number.selected:after{content:'✓';position:absolute;right:9px;bottom:10px;font-size:12px;color:var(--accent)}.legend{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px;color:var(--muted)}.legend .dot{position:static;display:inline-block;margin-right:5px}.form-fields{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:22px}.form-fields input{width:100%}.amount-line{display:flex;gap:8px}.amount-line input{width:100%;font-size:20px}.selected-title{display:flex;justify-content:space-between;margin:25px 0 12px;font-size:12px}.details{max-height:275px;overflow:auto;min-height:105px}.detail{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--subtle-line)}.detail b{width:28px;font-weight:500}.detail span{color:var(--muted);flex:1;font-size:12px}.detail input{width:100px;padding:7px;text-align:right}.detail button{padding:4px;border:0;background:none;color:var(--muted)}.empty{text-align:center;color:var(--empty-text);padding:35px 0;font-size:12px}.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:21px 0;margin-top:18px}.total span{color:var(--muted);font-size:12px}.total strong{font-size:25px;font-weight:500;color:var(--accent)}.full{width:100%;padding:13px}.hint{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 0}.text-entry textarea{width:100%;height:130px;resize:vertical;line-height:1.7}.text-entry p{font-size:12px}.error{color:var(--error);font-size:12px;margin:12px 0;white-space:pre-line}.records{margin-top:24px}.record{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.record span{color:var(--muted)}dialog{border:1px solid var(--dialog-border);border-radius:16px;background:var(--dialog);color:var(--input-text);padding:28px;width:460px;max-width:95vw}dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(5px)}.modal-list{max-height:270px;overflow:auto;line-height:2;color:var(--modal-text);font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:13px 22px;background:var(--accent);color:var(--toast-text);border-radius:9px;z-index:10}.hidden{display:none!important}@media(min-width:1450px){main{padding:40px 54px}.number{height:74px}}@media(max-width:1100px){aside{width:160px;padding:28px 14px}main{margin-left:160px;padding:25px 20px}.layout{grid-template-columns:1fr}.details{max-height:220px}.grid{grid-template-columns:repeat(7,1fr)}}@media(max-width:650px){aside{display:none}main{margin:0;padding:20px 14px}.panel{padding:16px}.stats .stat{padding:15px 12px}.stat strong{font-size:21px}.top{align-items:flex-start}.badge{font-size:12px}.grid{gap:5px}.number{height:60px;padding:9px 7px}.number strong{font-size:17px}.number .dot{right:6px;top:10px}.record{grid-template-columns:1fr auto}.record .record-numbers{display:none}.filters button{padding:7px 10px}.layout{display:block}.layout>.panel+ .panel{margin-top:16px}}
.nav{display:block;text-decoration:none;color:inherit;box-sizing:border-box}.mobile-nav{display:none}.summary-grid .number{height:100px;cursor:default}.summary-grid .number em{display:block;font-style:normal;color:var(--accent);font-size:14px;margin-top:10px}.date-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px}.date-toolbar label{margin:0}.records{margin-top:0}.record-numbers{line-height:1.8;overflow-wrap:anywhere}@media(max-width:650px){.mobile-nav{display:flex;gap:8px;margin-bottom:24px}.mobile-nav .nav{width:auto;padding:10px 14px}.summary-grid .number{height:93px}.summary-grid .number em{font-size:12px}}

button:disabled{opacity:.35;cursor:not-allowed;background:var(--button);color:var(--muted)}a{color:var(--accent)}.computer-clock{font-size:12px;color:var(--muted);margin-top:9px;white-space:nowrap}.date-toolbar{flex-wrap:wrap}.date-toolbar .computer-clock{margin:0}.deleted-record{opacity:.55}.record-actions{display:flex;gap:12px}.audit{margin-top:24px}.audit-row{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.record-numbers{display:block!important}.date-toolbar input{max-width:200px}
.amount-line input{flex:1;width:0;min-width:0}.amount-line button{flex-shrink:0;min-width:64px;white-space:nowrap}
.filters{min-height:0;display:flex;flex-wrap:wrap;gap:10px}.filters>p{width:100%}.filters>.text-entry{width:100%}.filter-mode{margin:12px 0 18px}
select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%239ca1ab' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px}.filter-mode select{padding-right:34px}

.zodiac-reference{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.zodiac-card{border:1px solid var(--line);border-radius:10px;padding:18px}.zodiac-card h2{margin-bottom:14px}.reference-numbers{display:flex;gap:8px;flex-wrap:wrap}.reference-number{padding:8px;border-radius:6px;background:var(--number-chip);font-variant-numeric:tabular-nums}.reference-number.red-text{color:var(--wave-red)}.reference-number.blue-text{color:var(--wave-blue)}.reference-number.green-text{color:var(--wave-green)}@media(max-width:650px){.zodiac-reference{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zodiac-card{padding:12px}.mobile-nav{flex-wrap:wrap}.reference-numbers{gap:5px}.reference-number{padding:5px}}

.sidebar-toggle{position:fixed;left:20px;bottom:110px;z-index:20;font-size:12px;color:var(--muted);background:var(--floating);white-space:nowrap}.sidebar-collapsed aside{transform:translateX(-100%);visibility:hidden}.sidebar-collapsed main{margin-left:0}.sidebar-collapsed .sidebar-toggle{bottom:24px;left:16px;color:var(--accent)}aside{transition:transform .18s ease,visibility .18s}main{transition:margin-left .18s ease}@media(max-width:650px){.sidebar-toggle{display:none}}@media(prefers-reduced-motion:reduce){aside,main{transition:none}}

.wave-marker{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}

.selection-tools{display:flex;align-items:center;gap:16px}.view-switch{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px}.view-switch button{font-size:12px;padding:6px 11px;border:1px solid transparent;background:transparent;white-space:nowrap}.view-switch button.active{background:var(--selected-button);border-color:var(--selected-button-border);color:var(--accent)}#grid.vertical-grid{grid-template-columns:1fr;gap:6px;max-height:520px;overflow-y:auto;padding-right:5px;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}#grid.vertical-grid .number{height:46px;display:flex;align-items:center;gap:20px;padding:10px 14px}#grid.vertical-grid .number strong{width:32px;font-size:17px}#grid.vertical-grid .number small{margin:0;font-size:12px}#grid.vertical-grid .number .dot{position:static;width:8px;height:8px;margin-left:auto;margin-right:5px}#grid.vertical-grid .number:before{content:'';width:15px;height:15px;flex-shrink:0;border:1px solid var(--checkbox-border);border-radius:4px}#grid.vertical-grid .number.selected:before{content:'✓';display:flex;align-items:center;justify-content:center;background:var(--accent);border-color:var(--accent);color:var(--primary-text);font-size:12px}#grid.vertical-grid .number.selected:after{display:none}@media(max-width:650px){.selection-tools{gap:8px}.selection-tools .quiet{font-size:12px}.view-switch button{padding:5px 8px}.panel-head{gap:10px}#grid.vertical-grid{max-height:450px}}

.number-list-header{display:grid;grid-template-columns:1fr 130px 50px;gap:16px;padding:0 19px 12px 14px;color:var(--muted);font-size:12px}.number-list-header span:nth-child(n+2){text-align:right}#grid.vertical-grid .number{gap:16px}#grid.vertical-grid .number .dot{margin-left:0;margin-right:auto}#grid.vertical-grid .number-total{width:130px;flex-shrink:0;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;color:var(--accent)}#grid.vertical-grid .number-count{width:50px;flex-shrink:0;text-align:right;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}@media(max-width:650px){.number-list-header{grid-template-columns:1fr 95px 36px;gap:8px;padding-right:19px;font-size:12px}#grid.vertical-grid .number{gap:8px;padding:10px}#grid.vertical-grid .number-total{width:95px;font-size:12px}#grid.vertical-grid .number-count{width:36px;font-size:12px}#grid.vertical-grid .number strong{width:24px;font-size:15px}#grid.vertical-grid .number .dot{width:6px;height:6px}}

.number-summary{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--muted)}.number-summary strong{font-size:17px;font-weight:550;color:var(--accent);font-variant-numeric:tabular-nums}.summary-label{color:var(--secondary-text)}#grid:not(.vertical-grid) .number{height:112px}#grid:not(.vertical-grid) .number-total{display:block;font-size:12px;color:var(--accent);margin-top:11px;font-variant-numeric:tabular-nums;white-space:nowrap}#grid:not(.vertical-grid) .number-count{display:block;color:var(--muted);font-size:12px;margin-top:5px}#grid:not(.vertical-grid) .number.selected:after{bottom:9px}@media(max-width:650px){#grid:not(.vertical-grid){grid-template-columns:repeat(4,minmax(0,1fr))}#grid:not(.vertical-grid) .number{height:108px}#grid:not(.vertical-grid) .number-total{font-size:12px}.number-summary{flex-wrap:wrap;gap:8px}.number-summary strong{font-size:15px}}

.login-shell{max-width:390px;margin:12vh auto;padding:0 20px}.login-shell .brand{margin-bottom:32px}.login-shell h1{font-size:24px}.login-shell input{width:100%;margin-bottom:20px}.login-shell .panel{padding:28px}.user-table-head,.user-row{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.user-table-head{font-size:12px;color:var(--muted)}.user-row{font-size:13px}.user-row .status{color:var(--accent)}@media(max-width:650px){.user-table-head,.user-row{grid-template-columns:1fr 1fr 1fr}.user-table-head span:last-child,.user-row span:last-child{display:none}}

.compact-top{min-height:42px;margin-bottom:20px;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.compact-top h1{font-size:20px;font-weight:550;margin:0;white-space:nowrap}.compact-top .date-toolbar{margin:0;gap:10px}.compact-top .date-toolbar label{font-size:12px}.compact-top .date-toolbar input,.compact-top .date-toolbar select{padding-top:7px;padding-bottom:7px}.compact-top .computer-clock{font-size:12px}.compact-top .badge{padding:7px 10px}.header-account{display:flex;align-items:center;gap:18px}.account-label{font-size:12px;color:var(--muted)}@media(max-width:650px){.compact-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px}.compact-top h1{font-size:18px}.compact-top .date-toolbar{gap:8px}.compact-top .date-toolbar .computer-clock{width:100%}.header-account{gap:12px}}

.compact-top{border-bottom:0}

.management-form{display:grid;gap:16px;max-width:600px;margin-top:22px}.management-form label{display:grid;gap:8px}.management-form input,.management-form select{width:100%}.management-form .check-label,.permission-checks label{display:flex;align-items:center;gap:10px}.check-label input,.permission-checks input{width:auto}.permission-checks{display:grid;grid-template-columns:1fr 1fr;gap:14px}.management-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.management-row p{font-size:12px;margin:6px 0 0}.management-row .row{flex-shrink:0}.owner-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.owner-filters select{font-size:12px}.management-form .hint{text-align:left;margin:0}@media(max-width:650px){.management-row{flex-wrap:wrap}.permission-checks{grid-template-columns:1fr}}

.session-actions{display:flex;align-items:center;gap:12px;margin-left:auto;white-space:nowrap;font-size:12px}.session-actions span{color:var(--muted)}.session-actions button{font-size:12px}.compact-top .header-account:has(+.session-actions){display:none}
.nav-label,.nav-system summary{font-size:12px;color:var(--muted);padding:8px 13px;list-style:none}.nav-section{margin-bottom:12px}.nav-system summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between}.nav-system summary::-webkit-details-marker{display:none}.nav-system summary:after{content:'›';font-size:17px;transform:rotate(90deg)}.nav-system:not([open]) summary:after{transform:none}.nav-system .nav{padding-left:24px;font-size:13px}.sub{margin-bottom:24px}aside{overflow-y:auto;padding-bottom:190px}.account-panel{max-width:800px}.account-row{display:flex;align-items:center;justify-content:space-between;padding:24px 0;gap:20px}.account-row+.account-row{border-top:1px solid var(--line)}.account-field{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}.account-row strong{font-weight:500}.account-row .hint{text-align:left}.log-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.log-filters label{display:grid;gap:8px;margin:0}.log-filters button{height:40px}.log-row{display:grid;grid-template-columns:155px 140px 90px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.log-row span:first-child{color:var(--muted)}#logCount{text-align:left;margin:20px 0 8px}@media(max-width:650px){.mobile-nav{align-items:flex-start;gap:12px}.mobile-nav .nav-section{display:flex;flex-wrap:wrap;gap:4px;margin:0}.mobile-nav .nav-label{width:100%;padding:4px 8px}.mobile-nav .nav{padding:8px}.mobile-nav .nav-system{width:100%}.mobile-nav .nav-system[open]{display:flex;flex-wrap:wrap}.mobile-nav .nav-system summary{width:100%}.log-row{grid-template-columns:1fr 1fr;gap:8px}.log-row span:last-child{grid-column:1/-1}}
.nav-group{margin-bottom:12px}.nav-group summary{font-size:12px;color:var(--muted);padding:8px 13px;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'›';font-size:17px;transform:rotate(90deg)}.nav-group:not([open]) summary:after{transform:none}.nav-group .nav{padding-left:24px;font-size:13px}.list-toolbar{justify-content:flex-end;margin-bottom:8px}.management-dialog{width:580px;max-height:90vh;overflow:auto}.management-dialog .management-form{margin-top:20px}.management-dialog .modal-actions{margin-top:0}.page-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.page-filters:empty{display:none}.page-filters .date-toolbar,.page-filters .owner-filters{margin:0}.filter-panel{margin-bottom:20px;padding:16px 24px}.filter-panel .page-filters{margin:0}.records>.panel-head{justify-content:flex-end;margin-bottom:12px}.log-filters select{max-width:300px}@media(max-width:650px){.mobile-nav .nav-group{width:100%;margin:0}.mobile-nav .nav-group .nav{display:inline-block;width:auto;padding:8px}.mobile-nav .nav-group summary{padding:6px 8px}.filter-panel{padding:16px}.log-filters select{max-width:100%}}
.filter-toolbar{background:none;border:0;padding:0;margin:0 0 18px;display:flex;align-items:end;flex-wrap:wrap;gap:12px}.filter-toolbar .page-filters,.filter-toolbar .date-toolbar,.filter-toolbar .owner-filters{margin:0}.status-badge{display:inline-block;border-radius:5px;padding:3px 7px;font-size:12px;line-height:1.4;white-space:nowrap}.status-badge.normal{color:var(--status-normal-text);background:var(--status-normal-bg)}.status-badge.disabled{color:var(--status-disabled-text);background:var(--status-disabled-bg)}.user-info{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.user-info strong{font-size:13px;font-weight:500}.user-info .hint{margin:0}.select-control{position:relative;display:inline-block;min-width:0;max-width:100%;vertical-align:middle}.select-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;clip-path:inset(50%);padding:0!important}.select-trigger{width:100%;min-width:120px;text-align:left;background:var(--input);border:1px solid var(--line);padding:10px 38px 10px 11px;position:relative;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-trigger:after{content:'';position:absolute;right:14px;top:calc(50% - 4px);width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg)}.select-trigger[aria-expanded=true]{border-color:var(--focus-border)}.select-menu{position:fixed;inset:auto;margin:0;padding:5px;background:var(--floating);border:1px solid var(--menu-border);border-radius:9px;box-shadow:0 12px 35px var(--menu-shadow);overflow-y:auto;color:var(--text);font-size:13px;scrollbar-width:thin;max-width:calc(100vw - 24px)}.select-menu::backdrop{background:transparent}.select-option{padding:9px 12px;border-radius:5px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.select-option[aria-selected=true]{color:var(--accent)}.select-option:hover,.select-option.highlight{background:var(--option-hover)}.select-option[aria-disabled=true]{opacity:.4;cursor:default}.management-form .select-control{width:100%}.filter-mode .select-trigger{font-size:12px;padding-top:6px;padding-bottom:6px}.owner-filters .select-trigger,.filter-toolbar .select-trigger{font-size:12px}.log-filters .select-control{max-width:300px}.log-filters .select-trigger{height:40px}.select-trigger:disabled{opacity:.4}@media(max-width:650px){.filter-toolbar{gap:8px}.user-info{gap:8px}.select-trigger{min-width:100px}.log-filters .select-control{max-width:100%}}
.filter-field{display:grid;gap:8px;margin:0;color:var(--muted);font-size:12px;text-align:left}.filter-field input,.filter-field .select-trigger{height:40px}.filter-toolbar .owner-filters{align-items:end;gap:12px}.filter-toolbar .date-toolbar{align-items:end}.record-status-filter{order:1}.selection-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);margin-bottom:18px}.selection-heading .tabs{margin:0;border-bottom:0;gap:16px;align-self:end}.selection-heading .selection-tools{padding-bottom:10px}.selection-heading .tabs button{padding-bottom:12px}.log-table-wrap{overflow-x:auto}.log-table{width:100%;border-collapse:collapse;table-layout:fixed}.log-table th{text-align:left;font-size:12px;font-weight:500;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--line)}.log-table th:nth-child(1){width:21%}.log-table th:nth-child(2){width:21%}.log-table th:nth-child(3){width:12%}.log-table th:nth-child(4){width:13%}.log-table th:nth-child(5){width:33%}.log-table .log-row{display:table-row}.log-table td{padding:14px 8px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.7;font-size:12px;overflow-wrap:anywhere}.log-table td:first-child{color:var(--muted)}.log-table .status-badge{margin:0}#logCount{margin:0 0 8px}@media(max-width:650px){.log-table{min-width:660px}.selection-heading .tabs{gap:14px}.selection-heading .selection-tools{margin-left:auto}.filter-toolbar .owner-filters{gap:8px}}
.selection-heading .selection-tools{padding-bottom:0;gap:20px;align-self:end}.selection-heading .view-switch{border:0;border-radius:0;background:none;padding:0;gap:16px}.selection-heading .view-switch button,.selection-heading #clear{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:0 0 12px;color:var(--muted);font-size:14px;line-height:20px;min-height:0}.selection-heading .view-switch button.active{color:var(--accent);border-bottom-color:var(--accent);background:none}.selection-heading .view-switch button:hover,.selection-heading #clear:hover{color:var(--text);background:none}.selection-heading .tabs button{line-height:20px}.select-trigger:after{width:9px;height:6px;right:14px;top:50%;border:0;transform:translateY(-50%);background:center/9px 6px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.5 4.5 5 8 1.5' fill='none' stroke='%238c909a' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media(max-width:650px){.selection-heading .selection-tools{gap:16px}.selection-heading .view-switch button,.selection-heading #clear{font-size:13px}}
.log-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.log-pagination .hint{margin:0;text-align:left}.pagination-controls{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.pagination-controls button{padding:7px 12px;font-size:12px}
.select-menu{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.select-menu::-webkit-scrollbar{width:6px;height:6px}.select-menu::-webkit-scrollbar-track{background:transparent}.select-menu::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px}.select-menu::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.select-menu::-webkit-scrollbar-corner{background:transparent}.page-size-field{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;white-space:nowrap}.page-size-field .select-trigger{min-width:105px;padding-top:7px;padding-bottom:7px;font-size:12px}.pagination-controls{flex-wrap:wrap}

.session-actions a.quiet{text-decoration:none}
.log-pagination #logCount{margin:0}
/* Align the table edges with the card content and pagination. */
#logError:empty{display:none}.log-table th:first-child,.log-table td:first-child{padding-left:0}.log-table th:last-child,.log-table td:last-child{padding-right:0}.log-table thead th{padding-top:0}
.ai-config{max-width:760px}.ai-config input:not([type=checkbox]){width:100%}.ai-config label{display:block;margin-top:18px}.ai-config label:first-child{margin-top:0}.ai-config .ai-enabled{display:flex;align-items:center;gap:10px}.ai-enabled input{width:auto}.image-entry{width:100%}.image-entry textarea{width:100%;min-height:130px}.image-preview{display:block;max-width:100%;max-height:220px;object-fit:contain;margin:12px 0;border-radius:8px}.image-entry .modal-actions{justify-content:flex-start;flex-wrap:wrap}.image-entry input[type=file]{width:100%}
aside{display:flex;flex-direction:column;padding-bottom:28px;overflow:hidden}aside .brand,aside .sub{flex-shrink:0}.sidebar-links{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.aside-bottom{position:static;flex-shrink:0;margin-top:70px}.ai-config .hint,.image-entry .hint{text-align:left}
.image-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.image-drop{border:1px dashed var(--line);border-radius:8px;padding:14px;min-height:142px}.image-drop.dragging{border-color:var(--accent);background:var(--selected-soft)}.image-drop label{margin-top:0}.image-review textarea{min-height:180px;resize:vertical;line-height:1.7}.image-review .image-preview{max-height:300px;margin-bottom:0}.image-review .modal-actions{margin-top:12px}.image-review #imageParse{margin-top:10px}#imageName{overflow-wrap:anywhere}@media(max-width:750px){.image-review{grid-template-columns:1fr}}

.theme-toggle{font-size:12px;white-space:nowrap}.login-theme-toggle{position:fixed;right:24px;top:20px}.session-actions{flex-wrap:wrap}.select-trigger:after{background-image:none;background-color:var(--muted);mask:center/9px 6px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.5 4.5 5 8 1.5' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
/* Keep the navigation toggle anchored to its footer in both states. */
:root{--sidebar-width:204px}aside{width:var(--sidebar-width);padding-bottom:20px;transition:width .18s ease,padding .18s ease}main{margin-left:var(--sidebar-width)}.aside-bottom{margin-top:16px}.sidebar-toggle{position:static;display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;border:0;background:transparent;color:var(--muted);text-align:left;font-size:12px;z-index:auto}.sidebar-toggle:hover{color:var(--text);background:var(--button)}.sidebar-arrow{display:flex;align-items:center;justify-content:center;width:16px;font-size:24px;line-height:24px;flex-shrink:0}.sidebar-toggle-label{white-space:nowrap}.sidebar-collapsed aside{width:44px;padding:30px 4px 20px;transform:none;visibility:visible}.sidebar-collapsed aside>.brand,.sidebar-collapsed aside>.sub,.sidebar-collapsed .sidebar-links{display:none}.sidebar-collapsed .aside-bottom{margin-top:auto}.sidebar-collapsed .sidebar-toggle{position:static;padding:8px 0;justify-content:center;color:var(--muted);background:transparent;min-width:0}.sidebar-collapsed .sidebar-toggle:hover{background:var(--button);color:var(--text)}.sidebar-collapsed .sidebar-toggle-label{display:none}.sidebar-collapsed main{margin-left:44px}@media(max-width:1100px){:root{--sidebar-width:160px}}@media(max-width:650px){aside,.sidebar-toggle{display:none}main,.sidebar-collapsed main{margin-left:0}}@media(prefers-reduced-motion:reduce){aside,main{transition:none}}
.intent-review{width:100%;margin-top:18px}.intent-review h3{font-size:14px;margin:0 0 12px}.intent-row{padding:16px 0;border-top:1px solid var(--line)}.intent-source{color:var(--text);margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.intent-row .hint{text-align:left;margin:8px 0}.intent-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.intent-fields input,.intent-fields .select-control{width:100%}.intent-summary{font-size:12px;color:var(--accent)}.intent-check{display:flex;align-items:center;gap:8px;margin:10px 0 0}.intent-check input{width:auto}.intent-excluded{opacity:.65}.intent-fields>p{grid-column:1/-1}@media(max-width:650px){.intent-fields{grid-template-columns:1fr}}
.intent-explanation{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.intent-row>.quiet{font-size:12px;margin-bottom:4px}.text-entry #parseError.hint{text-align:left}
@media(min-width:1101px){body[data-page=entry] .layout>section.panel:nth-child(2){align-self:start;position:sticky;top:24px}}

.quick-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(340px,420px);gap:22px;align-items:start}.quick-totals .number-summary{margin:0 0 18px}.quick-table-head,.quick-total-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--subtle-line);font-variant-numeric:tabular-nums}.quick-table-head{color:var(--muted);font-size:12px;padding-top:0}.quick-total-row strong{font-size:16px;font-weight:550}.quick-total-row span{font-size:14px}.quick-total-row:last-child{border-bottom:0}.quick-selection-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;color:var(--muted);font-size:12px}.quick-zodiacs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.quick-numbers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:22px}.quick-zodiacs button,.quick-numbers button{padding:8px 0;min-width:0;position:relative}.quick-zodiacs button.partial{border-color:var(--accent);color:var(--accent)}.quick-zodiacs button.partial:after{content:'';position:absolute;width:12px;height:2px;background:var(--accent);bottom:3px;left:calc(50% - 6px)}body[data-page="quick-entry"] .quick-layout>section:nth-child(2){position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}body[data-page="quick-entry"] .details{min-height:70px;max-height:180px}@media(max-width:750px){.quick-layout{grid-template-columns:1fr}body[data-page="quick-entry"] .quick-layout>section:nth-child(2){position:static;max-height:none;overflow:visible;grid-row:1}.quick-totals{grid-row:2}}
/* Keep each number and amount together; leave room between groups. */
.quick-layout{grid-template-columns:minmax(300px,1fr) 340px}.quick-total-list{display:grid;column-gap:28px;row-gap:14px}.quick-total-row{justify-content:flex-start;align-items:center;gap:4px;padding:2px 0;min-height:28px;border:0;white-space:nowrap}.quick-total-row strong{font-size:12px;font-weight:650;flex-shrink:0;text-align:left}.quick-total-row span{display:inline-block;font-size:12px;font-weight:400;flex-shrink:0;padding:4px 5px;border-radius:5px;background:var(--button);text-align:right;white-space:nowrap}.quick-totals .number-summary{flex-wrap:wrap;gap:8px}.quick-totals .quick-table-head{margin-bottom:10px}@media(max-width:850px) and (min-width:751px){.quick-layout{grid-template-columns:minmax(280px,1fr) 300px;gap:14px}.quick-layout>.panel{padding:18px}}@media(max-width:750px){.quick-layout{grid-template-columns:1fr}}

@media(min-width:851px) and (max-width:1100px){.quick-layout{grid-template-columns:minmax(300px,1fr) 320px}}

.quick-waves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-tails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.quick-waves button,.quick-tails button{padding:8px 0;min-width:0;position:relative}.quick-waves button{display:flex;align-items:center;justify-content:center;gap:6px}.quick-waves button.partial,.quick-tails button.partial{border-color:var(--accent);color:var(--accent)}.quick-waves button.partial:after,.quick-tails button.partial:after{content:'';position:absolute;width:12px;height:2px;background:var(--accent);bottom:3px;left:calc(50% - 6px)}
/* Compact text choices in the quick-entry form. */
.quick-zodiacs,.quick-tails{gap:4px 6px}.quick-numbers{gap:3px 6px;margin-bottom:16px}.quick-waves{display:flex;flex-wrap:wrap;gap:6px 18px}.quick-zodiacs button,.quick-waves button,.quick-tails button,.quick-numbers button{background:transparent;border:0;border-radius:0;padding:3px 2px;min-height:24px;font-size:12px;line-height:18px}.quick-zodiacs button:hover,.quick-waves button:hover,.quick-tails button:hover,.quick-numbers button:hover{background:transparent;color:var(--accent)}.quick-zodiacs button.active,.quick-waves button.active,.quick-tails button.active,.quick-numbers button.active{background:transparent;color:var(--accent);font-weight:650;text-decoration:underline;text-underline-offset:4px}.quick-zodiacs button.partial,.quick-waves button.partial,.quick-tails button.partial{background:transparent;color:var(--accent)}.quick-zodiacs button.partial:after,.quick-waves button.partial:after,.quick-tails button.partial:after{bottom:0}.quick-selection-head{margin:12px 0 6px}

/* Anchor wave selection marks to the label, excluding the colored dot. */
.quick-zodiacs button.active,.quick-waves button.active,.quick-tails button.active{text-decoration:none}.quick-zodiacs button.partial:after,.quick-waves button.partial:after,.quick-tails button.partial:after{content:none}.quick-zodiacs .quick-option-label,.quick-waves .quick-option-label,.quick-tails .quick-option-label{position:relative;display:inline-block}.quick-zodiacs button.active .quick-option-label:after,.quick-waves button.active .quick-option-label:after,.quick-tails button.active .quick-option-label:after,.quick-zodiacs button.partial .quick-option-label:after,.quick-waves button.partial .quick-option-label:after,.quick-tails button.partial .quick-option-label:after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:-4px;width:100%;height:2px;background:var(--accent)}.quick-zodiacs button.partial .quick-option-label:after,.quick-waves button.partial .quick-option-label:after,.quick-tails button.partial .quick-option-label:after{width:12px}
.quick-numbers{gap:6px}.quick-numbers button{background:var(--button);border:1px solid var(--line);border-radius:8px;padding:8px 0;font-size:14px;line-height:18px;min-height:36px}.quick-numbers button:hover{background:var(--line);color:var(--text)}.quick-numbers button.active{background:var(--selected-soft);border-color:var(--accent);color:var(--accent);font-weight:400;text-decoration:none}
.quick-numbers{gap:5px}.quick-numbers button{padding:5px 0;min-height:28px;font-size:12px;line-height:16px;border-radius:6px}
.quick-waves .wave-marker{width:5px;height:5px}
body[data-page="quick-entry"] .amount-line input{font-size:14px;padding:7px 10px;height:34px}body[data-page="quick-entry"] .amount-line #apply{font-size:12px;padding:7px 12px;height:34px;white-space:nowrap}
body[data-page="quick-entry"] #date{height:34px;padding:7px 10px;font-size:14px}
body input[type="date"]{height:34px;padding:7px 10px;font-size:14px}
body[data-page="entry"] .amount-line input{font-size:14px;padding:7px 10px;height:34px}body[data-page="entry"] .amount-line #apply{font-size:12px;padding:7px 12px;height:34px;white-space:nowrap}
/* Shared compact form controls across pages. */
body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),body select{height:34px;padding:7px 10px;font-size:14px;line-height:18px}
body .select-trigger,body .filter-field .select-trigger,body .log-filters .select-trigger,body .filter-mode .select-trigger{height:34px;padding:7px 32px 7px 10px;font-size:12px;line-height:18px}
body textarea{padding:8px 10px;font-size:13px;line-height:1.6}
body .filter-toolbar>button,body .log-filters>button,body .management-form button,body .management-row button,body .modal-actions button,body button.full,body .list-toolbar button,body .account-row button,body .ai-config button,body .intent-review>button,body .image-entry>button,body .amount-line button,body #newUser,body #newRole{height:34px;padding:7px 12px;font-size:12px;line-height:20px;white-space:nowrap}
body .detail input{height:30px;padding:5px 8px;font-size:12px;line-height:18px}
.form-fields{gap:10px;margin-bottom:16px}.management-form{gap:12px}.management-form label,.filter-field,.log-filters label{gap:6px}.modal-actions{gap:8px;margin-top:18px}.select-option{padding:7px 10px;font-size:12px;line-height:1.5}.selected-title{margin-top:18px}.total{padding:16px 0}.total strong{font-size:22px}
body[data-page="entry"] #details:has(>.empty),body[data-page="quick-entry"] #details:has(>.empty){min-height:0}body[data-page="entry"] #details>.empty,body[data-page="quick-entry"] #details>.empty{padding:12px 0}

.quick-total-row span{border:1px solid var(--line)}

.quick-totals{min-width:0}.quick-total-scroll{overflow-x:auto;scrollbar-width:thin}.quick-total-list{column-gap:16px}.quick-total-row{min-width:0}@media(min-width:751px) and (max-width:1100px){.quick-layout{grid-template-columns:1fr}.quick-layout>.quick-totals{grid-row:1}body[data-page="quick-entry"] .quick-layout>section:nth-child(2){position:static;max-height:none;overflow:visible;grid-row:2}}

.quick-total-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:12px;font-variant-numeric:tabular-nums}.quick-total-table .quick-number-col{width:34px}.quick-total-table th,.quick-total-table td{border:1px solid var(--line);padding:10px 6px;height:40px;white-space:nowrap}.quick-total-table th{font-weight:500;color:var(--muted);background:var(--button);font-size:12px;text-align:center;height:32px;padding:7px 6px}.quick-total-table .quick-table-number{text-align:center;font-weight:650;color:#fff;padding-left:5px;padding-right:5px}.quick-total-table .quick-table-value{text-align:left;background:var(--panel);min-width:60px}.quick-table-blank{background:var(--button)}:root[data-theme="dark"] .quick-total-table .quick-table-number{color:#18202b}

.quick-total-table th:nth-child(even){text-align:left}

.log-pagination>.hint{margin:0;text-align:left}.records-table{table-layout:auto}.records-table th:nth-child(n){width:auto}.records-table .record-numbers{display:table-cell!important;min-width:200px;line-height:1.7}.records-table .record-time{white-space:nowrap}.records-table .record-total{white-space:nowrap}.records-table td.empty{text-align:center;padding:24px 0}.records-table th:last-child,.records-table td:last-child{white-space:nowrap}
.records-table th,.records-table td{white-space:normal}.records-table th:first-child,.records-table td:first-child{width:145px;white-space:nowrap}.records-table th:nth-last-child(3),.records-table td:nth-last-child(3){width:105px;white-space:nowrap}.records-table th:nth-last-child(2),.records-table td:nth-last-child(2){width:80px;white-space:nowrap}.records-table th:last-child,.records-table td:last-child{width:48px;white-space:nowrap}.records-table td:not(.record-numbers){word-break:normal}.records-table:has(th:nth-child(6)) th:nth-child(2),.records-table:has(th:nth-child(6)) td:nth-child(2){min-width:90px;width:120px}

:root{--compact-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.5 4.5 5 8 1.5' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.sidebar-arrow{font-size:0;width:16px;height:16px;line-height:0}.sidebar-arrow:before,.nav-group summary:after{content:'';display:block;width:9px;height:6px;background:var(--muted);mask:var(--compact-chevron) center/9px 6px no-repeat;flex-shrink:0}.sidebar-arrow:before{transform:rotate(90deg)}.sidebar-collapsed .sidebar-arrow:before{transform:rotate(-90deg)}.nav-group summary:after{transform:none}.nav-group:not([open]) summary:after{transform:rotate(-90deg)}

.user-expiry{display:flex;flex-direction:column;gap:4px;margin-left:14px;font-size:12px;font-weight:400}.expiry-red{color:#d44352;font-weight:400}.expiry-notification{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:13px}#accountExpiryNotice p{font-size:14px;line-height:1.7}input[type="month"]{height:34px;padding:7px 10px;font-size:14px}

#listError:empty{display:none}.management-table{table-layout:auto}.management-table th:nth-child(n){width:auto}.management-table td:first-child{color:var(--text)}.management-table th,.management-table td{white-space:nowrap}.management-table.roles-table td:nth-child(2){white-space:normal;min-width:160px}.management-table .expiry-red{color:#d44352;font-weight:400}.table-actions{display:flex;align-items:center;gap:14px}.table-actions button{background:transparent;border:0;border-radius:0;padding:0;min-height:24px;font-size:12px;line-height:20px;color:var(--muted);white-space:nowrap}.table-actions button:hover{color:var(--accent)}.management-table td.empty{text-align:center;padding:24px 0}

body[data-page="logs"] .log-table th:nth-child(1){width:23%}body[data-page="logs"] .log-table th:nth-child(2){width:25%}body[data-page="logs"] .log-table th:nth-child(3){width:18%}body[data-page="logs"] .log-table th:nth-child(4){width:20%}body[data-page="logs"] .log-table th:nth-child(5){width:14%}.log-detail-link{font-size:12px;padding:0;line-height:1.7;text-decoration:none;white-space:nowrap}.log-detail-link:hover{color:var(--accent)}.log-detail-dialog{width:min(680px,calc(100vw - 40px));max-height:85vh;overflow-y:auto}.log-description h3{font-size:14px;font-weight:500;margin:20px 0 10px}.log-description p{font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere}.log-technical{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.log-technical summary{cursor:pointer;font-size:14px}.log-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.log-code-toolbar .hint{margin:0}.log-technical pre{background:var(--button);border:1px solid var(--line);border-radius:8px;padding:14px;font-size:12px;line-height:1.7;overflow:auto;max-height:300px;white-space:pre}
/* Mobile layouts share the desktop data and permissions. */
.mobile-menu-button,.mobile-account-button{display:none}.mobile-drawer .mobile-nav{display:block}.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mobile-drawer{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px}.mobile-drawer .session-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.mobile-drawer .session-actions>*{text-align:left;min-height:44px;display:flex;align-items:center;padding:10px 12px;font-size:14px}.mobile-drawer .mobile-nav .nav-group{width:100%;margin:0 0 12px}.mobile-drawer .mobile-nav summary{min-height:44px;padding:10px 12px}.mobile-drawer .mobile-nav .nav{display:block;min-height:44px;padding:12px;margin:0;border-radius:6px;font-size:14px}.mobile-drawer .mobile-nav{margin:0}.mobile-drawer::backdrop{backdrop-filter:none}
@media(max-width:768px){
 html{scroll-padding-top:80px}body{overflow-wrap:break-word}body:has(dialog[open]){overflow:hidden}aside,.sidebar-toggle{display:none!important}main,.sidebar-collapsed main{margin-left:0;padding:12px 12px calc(24px + env(safe-area-inset-bottom))}main>.mobile-nav{display:none}.compact-top{position:sticky;top:0;z-index:8;flex-wrap:nowrap;align-items:center;gap:8px;background:var(--bg);padding:8px 0;margin-bottom:16px;min-height:56px}.compact-top h1{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-top>.session-actions,.compact-top>.header-account{display:none}.mobile-menu-button,.mobile-account-button{display:block;min-height:44px;min-width:44px;padding:10px 4px;font-size:14px}.mobile-account-button{margin-left:auto}.panel{padding:14px;min-width:0}.layout,.quick-layout{display:block}.layout>.panel+ .panel,.quick-layout>.panel+ .panel{margin-top:16px}body[data-page="quick-entry"] .quick-layout>section:nth-child(2){position:static;max-height:none;overflow:visible}
 body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),body textarea{font-size:16px!important;min-height:44px;height:auto;padding:10px!important}body .detail input{height:44px!important;width:100px}body .select-trigger{min-height:44px;height:44px;font-size:14px;padding:10px 32px 10px 10px}body .select-option{min-height:44px;padding:12px 10px;font-size:14px}button,a,input,summary{touch-action:manipulation}body .primary,body .modal-actions button,body .filter-toolbar>button,body .amount-line button,body .account-row button,body .table-actions button,body .pagination-controls button{min-height:44px;height:auto;font-size:14px}body .table-actions button{padding:8px 0}.detail button{min-width:44px;min-height:44px}.filters button{min-height:44px;font-size:14px}.quick-zodiacs button,.quick-waves button,.quick-tails button{min-height:44px;font-size:14px;line-height:20px;padding:10px 2px}.quick-numbers button{min-height:44px;font-size:14px}.quick-waves{gap:6px 16px}.quick-selection-head{margin-top:16px}.quick-option-label:after{bottom:-4px}.quick-numbers{gap:5px}.quick-totals .number-summary{gap:8px}.quick-total-table{min-width:0;width:100%;table-layout:fixed}.quick-total-table .quick-number-col{width:26px}.quick-total-table td{height:44px;font-size:12px;padding:4px}.quick-total-table th{font-size:12px;white-space:normal;padding:6px 3px}.quick-total-scroll{overflow:visible}
 .tabs{gap:14px;flex-wrap:wrap}.tabs button{min-height:44px;font-size:14px}.selection-heading{gap:8px}.selection-tools{gap:12px;flex-wrap:wrap}.selection-tools button{min-height:44px}.filter-mode{gap:10px;flex-wrap:wrap}.grid:not(.vertical-grid){grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.grid .number{padding:8px 6px;min-height:70px}.summary-grid .number{height:100px}.vertical-grid .number{min-height:54px}.number strong{font-size:16px}.number-total{font-size:12px}.stats .stat{padding:16px 12px}.stat strong{font-size:22px}.image-review{grid-template-columns:1fr}.image-preview{max-width:100%}.intent-fields{grid-template-columns:1fr}
 .filter-toolbar,.log-filters{gap:12px;margin-bottom:16px}.log-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.log-filters label{min-width:0;width:auto}.log-filters input,.log-filters .select-control,.filter-field .select-control{width:100%;min-width:0;max-width:100%}.page-filters{width:100%;align-items:stretch;gap:12px}.owner-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-filters .select-control{width:100%}.filter-field{min-width:0;flex:1}.record-status-filter{width:100%;flex-basis:100%}.zodiac-reference{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zodiac-card{padding:12px}.reference-numbers{gap:5px;flex-wrap:wrap}
 .log-table-wrap{overflow:visible}.log-table{display:block;min-width:0;width:100%;table-layout:auto}.log-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.log-table tbody{display:block}.log-table tr,.log-table .log-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.log-table td,.log-table td:first-child,.log-table td:last-child,.records-table .record-numbers{display:block!important;min-width:0;padding:0;border:0;white-space:normal;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.log-table td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.log-table td:last-child{grid-column:1/-1}.log-table td.empty{grid-column:1/-1;padding:12px 0}.log-table td.empty:before{content:none}.records-table td.record-numbers{grid-column:1/-1}.table-actions{gap:20px;flex-wrap:wrap}.log-detail-link{min-height:44px;font-size:14px;padding:8px 0}.log-pagination{gap:12px;margin-top:16px}.pagination-controls{width:100%;gap:8px;justify-content:space-between}.page-size-field{width:100%;justify-content:space-between;margin-bottom:4px}.page-size-field .select-control{width:140px}.pagination-controls button{flex:1}.pagination-controls>span{font-size:12px}.management-table.roles-table td:nth-child(2){min-width:0}.management-table .status-badge{font-size:12px}
 dialog,.management-dialog,.log-detail-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;overscroll-behavior:contain}.management-form{max-width:100%;gap:14px}.modal-actions{gap:10px}.modal-actions button{flex:1}.permission-checks{grid-template-columns:1fr}.permission-checks label{min-height:44px}.permission-checks input,.intent-check input{width:20px;height:20px}.log-technical pre{max-height:35dvh}.log-code-toolbar{flex-wrap:wrap}.toast{max-width:calc(100vw - 24px);width:max-content;bottom:calc(16px + env(safe-area-inset-bottom));font-size:14px;overflow-wrap:anywhere}.login-panel{width:100%;max-width:400px;margin:auto}.login-theme-toggle{top:12px;right:12px;min-height:44px}
}
@media(max-width:374px){.quick-numbers{grid-template-columns:repeat(6,minmax(0,1fr))}.quick-zodiacs{grid-template-columns:repeat(4,minmax(0,1fr))}.pagination-controls{gap:6px}.compact-top h1{font-size:16px}}
@media(max-width:768px){.quick-layout{display:flex;flex-direction:column;gap:16px}.quick-layout>.panel{width:100%;margin-top:0!important}.quick-layout>.quick-totals{order:2}.quick-layout>section:nth-child(2){order:1}}
@media(max-width:650px){.quick-total-table .quick-number-col{width:32px}}
.quick-mobile-tabs{display:none}@media(max-width:768px){.quick-mobile-tabs{display:flex;gap:20px;position:sticky;top:56px;background:var(--bg);z-index:6;margin-bottom:12px}.quick-mobile-tabs button{min-height:44px;border:0;border-radius:0;padding:8px 0;font-size:14px;background:transparent;color:var(--muted)}.quick-mobile-tabs button.active{color:var(--accent);border-bottom:2px solid var(--accent)}.quick-layout:not(.mobile-summary-view)>.quick-totals{display:none}.quick-layout.mobile-summary-view>section:nth-child(2){display:none}.quick-layout .quick-table-number{white-space:nowrap}.image-entry>button,.intent-review>button,.ai-config button,#copyLogTechnical{min-height:44px;font-size:14px}}
@media(max-width:768px){.log-table td:last-child:empty{display:none!important}.quick-waves button{min-width:72px}.mobile-drawer-head button{min-height:44px;min-width:44px}.ai-config label.check-label{min-height:44px}}
@media(max-width:374px){.quick-numbers{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:768px){dialog::backdrop{backdrop-filter:none}.mobile-drawer .session-actions a{border-radius:6px}.image-drop input[type=file]{max-width:100%;font-size:14px}}
@media(max-width:768px){#clear{min-height:44px;min-width:64px;font-size:14px}.quick-selection-head:first-of-type{margin-top:8px}.zodiac-card h2{font-size:14px}.account-row{gap:12px;flex-wrap:wrap}}

.quick-submit{background:var(--panel);border-top:1px solid var(--line);padding:14px 0 16px;flex-shrink:0}.quick-submit .total{margin:0;padding:0 0 10px;border:0;gap:10px}.quick-submit .total strong{font-size:22px}.quick-submit .error:empty{display:none}.quick-submit .error{margin:0 0 10px}.quick-submit .hint{margin-top:8px}.quick-entry-scroll{min-height:0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;overscroll-behavior:contain}
@media(min-width:1101px){body[data-page="quick-entry"] .quick-layout>.quick-entry-panel{display:flex;flex-direction:column;position:sticky;top:24px;height:calc(100dvh - var(--quick-panel-top,100px) - 24px);min-height:0;max-height:none;overflow:hidden;padding-bottom:0}.quick-entry-scroll{flex:1;overflow-y:auto;padding-bottom:16px}.quick-submit .error{max-height:70px;overflow:auto}}
@media(max-width:1100px){.quick-submit{position:fixed;bottom:0;z-index:9;left:calc(var(--sidebar-width) + 20px);right:20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 12px var(--menu-shadow)}.sidebar-collapsed .quick-submit{left:64px}.quick-entry-panel{padding-bottom:calc(var(--quick-submit-height,150px) + 16px)!important}.quick-submit .hint{display:none}.quick-submit .error{max-height:60px;overflow:auto}.quick-entry-scroll{overflow:visible;overscroll-behavior:auto}.quick-submit .total strong{font-size:20px}}
@media(max-width:768px){.quick-submit,.sidebar-collapsed .quick-submit{left:0;right:0}.quick-layout.mobile-summary-view .quick-submit{display:none}.quick-submit .total{font-size:14px}.quick-submit #preview{width:100%;min-height:44px}.quick-submit .total strong{font-size:22px}.quick-entry-scroll .details{scroll-padding-bottom:12px}body[data-page="quick-entry"] .toast{z-index:20;bottom:calc(var(--quick-submit-height,120px) + 16px)}}
/* Keep overlay scrollbars outside the aligned form content. */
@media(min-width:1101px){.quick-entry-scroll{margin-right:-14px;padding-right:14px}.quick-entry-scroll .details{padding-right:12px;scrollbar-gutter:stable}}

.record-outgoing{color:var(--red,#d84b63)}.record-incoming{color:var(--accent)}.stats{flex-wrap:wrap}

.ledger-breakdown{font-size:12px;color:var(--muted);margin:0 0 14px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

.quick-table-value .quick-balance-text{vertical-align:middle;overflow-wrap:anywhere}
.quick-minus{margin-left:6px;padding:0;width:22px;height:22px;min-height:22px;border:0;background:transparent;color:var(--muted);font-size:18px;vertical-align:middle;border-radius:4px}
.quick-minus:disabled{opacity:.25;cursor:default}.quick-minus:not(:disabled):hover{background:var(--line);color:var(--error)}
#outgoingAmount{width:100%}#outgoingError:empty{display:none}
@media(max-width:650px){.quick-minus{margin-left:1px;width:26px;height:36px;min-height:36px}.quick-table-value{padding-left:4px!important;padding-right:2px!important}.quick-table-value .quick-balance-text{font-size:12px}}

.quick-ledger-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.quick-ledger-current{display:flex;align-items:center;gap:8px}.quick-ledger-summary .ledger-breakdown{margin:0;font-size:12px;color:var(--muted);text-align:right;margin-left:auto}.quick-ledger-summary .quick-ledger-current>span{white-space:nowrap}@media(max-width:650px){.quick-ledger-summary{gap:8px}.quick-ledger-summary .ledger-breakdown{flex:1 1 180px}}

/* Keep form focus rings inside controls so scroll containers cannot clip them. */
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* Compact shared page header; retain touch targets on phones. */
main:has(>.compact-top){padding-top:20px}
.compact-top{min-height:28px;padding:0;margin-bottom:14px;gap:12px;align-items:center}
.compact-top h1{font-size:14px;font-weight:600;line-height:20px;margin:0}
.compact-top>.session-actions{align-items:center;line-height:20px}
.compact-top>.session-actions>*{line-height:20px;margin-top:0;margin-bottom:0}
@media(max-width:768px){main:has(>.compact-top){padding-top:8px}.compact-top{min-height:44px;padding:0;margin-bottom:10px;gap:8px}.compact-top h1{font-size:16px;line-height:22px}.quick-mobile-tabs{top:44px}html{scroll-padding-top:68px}}

.quick-wave-parity{display:flex;gap:18px;margin-top:6px}
.quick-wave-parity button{position:relative;border:0;border-radius:0;background:transparent;padding:3px 2px;min-height:24px;font-size:12px;color:var(--muted);line-height:18px}
.quick-wave-parity button.active{color:var(--accent);font-weight:600}.quick-wave-parity button.active:after{content:'';height:2px;position:absolute;left:2px;right:2px;bottom:0;background:var(--accent)}
.quick-wave-parity button:disabled{opacity:.45;cursor:default}.quick-wave-parity button:hover:not(:disabled){color:var(--accent);background:transparent}
@media(max-width:768px){.quick-wave-parity{margin-top:0;gap:16px}.quick-wave-parity button{min-height:44px;min-width:44px;font-size:14px;padding:10px 2px}.quick-wave-parity button.active:after{left:10px;right:10px;bottom:6px}}

.quick-wave-parity{padding-left:18px}
@media(max-width:768px){.quick-wave-parity{padding-left:18px}.quick-wave-parity button{text-align:left}.quick-wave-parity button.active:after{left:2px;right:auto;width:1em}}

@media(max-width:768px){.quick-wave-parity button:first-child.active:after{width:2em}}

.selection-fold{display:inline-flex;align-items:center;gap:8px;padding:2px 0;min-height:24px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;font-weight:400;line-height:18px}
.selection-fold:hover{background:transparent;color:var(--accent)}.selection-fold svg{flex-shrink:0;transition:transform .15s ease}.selection-fold[aria-expanded="false"] svg{transform:rotate(-90deg)}
#quickZodiacs[hidden],#quickWaves[hidden],#quickWaveParity[hidden],#quickTails[hidden],#quickNumbers[hidden]{display:none!important}
@media(max-width:768px){.selection-fold{min-height:44px;font-size:14px}}

/* One scroll owner per entry pane; details are part of its natural content. */
body[data-page="quick-entry"] .quick-entry-scroll .details{max-height:none;overflow:visible;padding-right:0;scrollbar-gutter:auto}
@media(min-width:1101px){
 body[data-page="quick-entry"]{height:100dvh;overflow:hidden}
 body[data-page="quick-entry"] main{height:100dvh;display:flex;flex-direction:column;min-height:0}
 body[data-page="quick-entry"] .compact-top{flex-shrink:0}
 body[data-page="quick-entry"] .quick-layout{flex:1;min-height:0;align-items:stretch}
 body[data-page="quick-entry"] .quick-layout>.quick-entry-panel{position:static;height:100%;min-height:0;max-height:none}
 body[data-page="quick-entry"] .quick-totals{height:100%;min-height:0;display:flex;flex-direction:column}
 body[data-page="quick-entry"] .quick-totals .number-summary{flex-shrink:0}
 body[data-page="quick-entry"] .quick-total-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
}
@media(max-width:1100px){body[data-page="quick-entry"] .quick-entry-scroll{overflow:visible}body[data-page="quick-entry"] .quick-total-scroll{overflow:visible}}

.ai-tab-disabled{display:inline-flex;cursor:not-allowed}.ai-tab-disabled button{pointer-events:none;color:var(--muted)}.tabs button:disabled{opacity:.45;cursor:not-allowed;background:transparent}

.login-time-cell{white-space:nowrap}.login-ip-cell{overflow-wrap:anywhere}

.ai-tab-disabled{position:relative}.ai-tab-tooltip{position:absolute;left:50%;top:100%;transform:translateX(-50%);z-index:30;white-space:nowrap;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);font-size:12px;line-height:18px;box-shadow:0 4px 12px #0002;visibility:hidden;pointer-events:none}.ai-tab-disabled:hover .ai-tab-tooltip{visibility:visible}
