/* Fincom: formal accounting workspace. Layout and controls share one density. */
:root{--ink:#252b31;--muted:#626b73;--green:#775c13;--bg:#f1f2f3;--line:#cbd0d4;--soft:#fff1b8;--red:#b32727}
body{font:13px 'Segoe UI',Arial,sans-serif;background:var(--bg)}
button{border-radius:3px;padding:7px 12px;font-size:13px;font-weight:400;min-height:30px}
.primary{background:#f6d567;border:1px solid #c6a84e;color:#272b30;font-weight:600}
.secondary{background:linear-gradient(#fff,#f1f2f3);border:1px solid #bcc3c9;color:#252b31}
.quiet{color:#535e66;padding:5px 8px}.link{color:#235d84;font-size:12px;font-weight:400}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b18b18;outline-offset:1px}
button:hover{filter:none;background-color:#fff1b8}.primary:hover{background:#ffdf6f}
aside{width:188px;padding:13px 8px;background:#fff5ce;border-right:1px solid #cfbf83}
.brand{font-size:22px;letter-spacing:0;padding:0 9px;gap:6px;color:#413b27}.brand-icon{width:25px;height:27px;font-size:25px;border-radius:3px;background:#857026}.brand-dot{display:none}
.company{border:0;border-radius:0;padding:10px 8px;margin:12px 0 10px;gap:8px;border-top:1px solid #dacb9a;border-bottom:1px solid #dacb9a}.company-avatar{background:#e6dbb7;color:#5c5234;padding:8px;border-radius:2px}.company b{font-size:12px;letter-spacing:0}.company small{display:none}
.nav-caption{font-size:10px;letter-spacing:.5px;color:#776d49;margin:8px 8px}
nav{gap:2px}nav button{padding:9px 10px;color:#333940;font-size:13px;min-height:36px;border:1px solid transparent;border-radius:2px;display:flex;align-items:center;gap:8px}nav button.active{background:#f3d876;color:#262b31;border-color:#c9ad55;box-shadow:none;font-weight:600}nav button:hover{background:#ffecaa}nav button .icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:#625a3e}nav .icon svg{width:19px;height:19px}
.sidebar-bottom{font-size:10px;color:#776d49;border-color:#dacb9a;padding:12px 8px}.status-dot{display:none}
main{margin-left:188px}header{height:40px;padding:0 18px;background:#f3df99;border-bottom:1px solid #cfbc7c}.breadcrumb{font-size:11px;color:#59553f}.breadcrumb span{margin:0 8px}.user-area{font-size:12px;gap:10px}
.page-top{padding:14px 18px 12px;align-items:center;flex-direction:row;gap:15px;border-bottom:1px solid #d3d6d9;background:#f7f7f7;margin-bottom:12px}.page-top h1{font-size:20px;letter-spacing:0;font-weight:600;margin:0}.page-top .eyebrow{display:none}
.period{gap:7px}.period label{font-size:11px;letter-spacing:0;color:#535f67}.period input{font-size:12px;width:133px;padding:6px 8px;height:30px;margin-top:3px}.period button{height:30px;padding:5px 11px;font-size:12px}
#content{padding:0 18px 18px;min-height:calc(100vh - 163px)}footer{margin:0 18px;padding:8px 0;font-size:10px;border-color:#cbd0d4}
h2{font-size:16px;font-weight:600;margin:0 0 8px;letter-spacing:0}h1{letter-spacing:0}.eyebrow{letter-spacing:.5px;font-size:10px}
.panel{border:1px solid #bfc6cc;border-radius:2px;margin-bottom:14px;background:white}.panel-head{padding:10px 12px;background:#f5f6f7;border-bottom:1px solid #cbd0d4;gap:10px}.panel-head h2{font-size:14px;margin:0;font-weight:600}.panel-head p{margin:0}.panel-body{padding:12px}
.section-tabs,.settings-menu{display:flex;gap:0;flex-wrap:wrap;background:#e8ebed;border:1px solid #bfc6cc;border-radius:2px;padding:3px;margin-bottom:12px}.section-tabs button,.settings-menu button{border:1px solid transparent;border-radius:2px;min-height:31px;padding:6px 12px;font-size:12px;box-shadow:none;min-width:0}.section-tabs .secondary,.settings-menu .secondary{background:transparent;color:#323b42;border-color:transparent}.section-tabs .primary,.settings-menu .primary{background:white;color:#262b31;border-color:#b8c0c6;box-shadow:inset 0 -2px #d1af32;font-weight:600}
.toolbar{gap:7px;margin-bottom:12px;flex-wrap:wrap}.toolbar .primary{margin-left:0}.toolbar input{max-width:200px}.dialog-footer{gap:10px;justify-content:flex-end;border-top:1px solid #cbd0d4;padding-top:12px}.dialog-footer>.muted{display:none}
label{font-size:12px;font-weight:400;margin-bottom:11px}input,select{padding:7px 9px;border:1px solid #aeb8c0;border-radius:2px;font-size:13px;min-height:30px;margin-top:4px}input[type=checkbox]{min-height:0;width:15px;height:15px;accent-color:#9c7b1d;margin-right:6px}
.form-grid{gap:12px}.line-item{gap:7px}.line-item input,.line-item select{min-height:30px}
.table-wrap{max-height:68vh;border-radius:0}table{font-size:12px}th{padding:8px 10px;font-size:11px;color:#414d56;font-weight:600;border-right:1px solid #d4d9dd;background:#e9eef1!important}td{padding:8px 10px;border-bottom:1px solid #dce1e4;border-right:1px solid #e1e5e8;vertical-align:middle}tbody tr:last-child td{border-bottom:0}th:last-child,td:last-child{border-right:0}tbody tr:hover{background:#fff9e4}.numeric{font-variant-numeric:tabular-nums}.summary-row{background:#e9eef1}.badge{border-radius:2px;padding:3px 6px;font-size:11px}.badge.posted{background:#e5efe6;color:#33603c}.badge.draft{background:#fff0c7;color:#715719}.badge.reversed{background:#eceeef;color:#606b72}
.entry-grid table{min-width:1150px}.entry-grid td{padding:3px;vertical-align:middle}.entry-grid input,.entry-grid select{border-radius:1px;padding:6px 8px;min-height:31px;font-size:12px}.entry-grid .select-search{min-width:135px}.entry-grid [data-col=responsible_id]+.select-search{min-width:155px}.entry-grid input[data-col=description]{min-width:180px}.entry-grid tbody tr:nth-child(even){background:#f7f9fa}.entry-grid tbody tr:focus-within{background:#fff3c5}.entry-grid+.toolbar{background:#f5f6f7;padding:9px 12px;border-top:1px solid #bfc6cc}
.journal-tools{padding:10px 12px;background:#f5f6f7;gap:12px;border-bottom:1px solid #cbd0d4}.journal-tools label:first-child{min-width:180px;flex:0 1 280px}.journal-tools label:nth-child(2){min-width:180px}.journal-tools [data-journal-count]{font-size:11px;padding-bottom:8px}.journal-tools span{font-size:11px}.balance-info{padding:7px 12px;font-size:11px;background:#f7f8f9;color:#525e66;margin:0}[data-row-balance]{background:#edf2f5;padding:8px 9px;min-width:135px;font-size:12px;border-radius:0}.entry-grid[data-grid=money] .running-balance-cell{background:#edf2f5}
.help,.notice{background:#f8f9fa;color:#59656d;border:1px solid #d6dce0;border-radius:2px;padding:8px 10px;font-size:11px;line-height:1.4;margin-bottom:10px}.error,.error-box{color:#b32727}.error-box{border-radius:2px;padding:12px}.empty{padding:24px;font-size:12px}.small{font-size:11px}.muted{color:#626d75}
dialog{border:1px solid #a6afb6;border-radius:3px;padding:18px;width:min(780px,96vw);box-shadow:0 10px 40px #26323e33}dialog::backdrop{background:#27313a50;backdrop-filter:none}.dialog-title{margin-bottom:15px;border-bottom:1px solid #d0d6da;padding-bottom:10px}.dialog-title h2{margin:0}.dialog-title .eyebrow{display:none}#close-detail{border-radius:2px;min-height:29px;margin-top:12px}.document-number{font-size:12px;color:#5c6770;font-weight:600;margin:0 0 7px}
.choice-popup{border-radius:2px;border-color:#a6afb6;box-shadow:0 4px 15px #29343e25;padding:3px}.choice-popup button{font-size:12px;border-radius:1px;padding:7px 9px;min-height:29px}.choice-popup button:hover,.choice-popup button[aria-selected=true]{background:#fff0b6;color:#242c33}.choice-popup .choice-add{background:#f4f6f7;border-color:#cbd0d4;color:#235d84}.select-search:invalid{border-color:#b32727}
.account-card{border-radius:2px;padding:14px}.account-card h1{font-size:23px}.card-grid{gap:12px}.calendar-weekday{background:#e9eef1;color:#45525d;font-size:12px;padding:8px}.calendar-day{border-radius:2px;padding:9px}.calendar-day.off,.calendar-day.holiday{background:#fff2d5;color:#755329}
.login-screen{background:#e9ecef}.login-card{border-radius:3px;border-color:#b9c2c8;box-shadow:0 8px 35px #37434d15;padding:30px;width:min(380px,94vw)}.login-card .brand{margin-bottom:22px;padding:0}.login-card h1{font-size:21px;margin:0}.login-card form{margin-top:20px}.login-footer{font-size:11px;margin-top:22px}#toast{background:#303c45;border-radius:3px;padding:10px 14px;font-size:12px;bottom:18px;right:18px}
@media(max-width:1050px){.page-top{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){aside{position:static;width:auto;padding:8px 12px;border-right:0;border-bottom:1px solid #cfbf83}.company,.nav-caption,.sidebar-bottom{display:none}.brand{font-size:20px}nav{display:flex;overflow:auto;margin-top:8px}nav button{min-height:32px;white-space:nowrap;flex-shrink:0;padding:6px 10px}nav .icon{display:none}main{margin-left:0}header{height:35px;padding:0 12px}.page-top{padding:12px;margin-bottom:10px}.page-top h1{font-size:18px}.period{flex-wrap:wrap;width:100%}.period label{flex:1}.period input{width:100%}#content{padding:0 10px 14px}.section-tabs,.settings-menu{flex-wrap:nowrap;overflow:auto}.section-tabs button,.settings-menu button{white-space:nowrap;flex-shrink:0}.journal-tools label:first-child{min-width:100%;flex:1}.journal-tools{gap:8px}.entry-grid+.toolbar button{min-width:0;flex:0 1 auto}dialog{padding:13px}.form-grid{grid-template-columns:1fr}footer{margin:0 12px}}
@media print{aside,header,.page-top,.section-tabs,.settings-menu,.toolbar,footer,#toast{display:none!important}body{background:white}main{margin:0}.panel{border-color:#999}.panel-head{background:white}.table-wrap{max-height:none;overflow:visible}button.link{color:#000}.numeric{white-space:nowrap}}
.entry-commands{margin:0;background:#f5f6f7;border-bottom:1px solid #bfc6cc;padding:8px 12px;gap:7px}.entry-commands .primary{margin-left:0}.entry-commands .error{margin-left:8px}
.operational-note{font-size:11px;color:#626d75;margin:8px 0 10px;border-bottom:1px solid #dce1e4;padding:0 0 7px}.operational-note summary{cursor:pointer;width:max-content}.operational-note>div{padding:8px 10px;background:#f8f9fa;margin-top:6px;line-height:1.5}.operational-note[open]{color:#4d5962}
.osv-table{font-size:12px;table-layout:fixed;min-width:850px}.osv-table th:first-child[rowspan]{width:34%;text-align:left;vertical-align:middle}.osv-table thead th{height:25px;padding:4px 8px;text-align:center;line-height:16px}.osv-table thead tr:nth-child(2) th{top:25px}.osv-table td{height:27px;padding:4px 9px;line-height:18px}.osv-table td .link{font-size:12px;line-height:18px;padding:0}.osv-table td:first-child .link{display:block}.osv-table .amount-link{text-decoration:none;text-align:right}.osv-table .amount-link:hover{text-decoration:underline;text-decoration-style:dotted}.osv-table .zero-amount{color:#a4acb2}.osv-table tfoot{position:sticky;bottom:0;background:#e9eef1;font-weight:600;z-index:2}.osv-table tfoot td{border-top:1px solid #aeb8c0}.osv-wrap{max-height:calc(100vh - 220px);min-height:120px}.osv-table tbody tr:nth-child(even){background:#f8fafb}.osv-table tbody tr:hover{background:#fff4c9}
#detail:has(#cash-card-responsible){width:min(1250px,97vw)}
#detail:has(#warehouse-card-form){width:min(950px,97vw)}
#warehouse-card-form .warehouse-card-table table,#warehouse-return-lines table{table-layout:fixed;width:100%}
#warehouse-card-form .warehouse-card-table th:first-child{width:48%}
#warehouse-card-form .warehouse-card-table th:last-child{width:42px}
#warehouse-card-lines td,#warehouse-return-lines td{vertical-align:top;padding:6px 8px}
#warehouse-card-lines input,#warehouse-card-lines select,#warehouse-return-lines input{margin-top:0;min-height:32px}
#warehouse-card-lines [data-pack-size],#warehouse-return-lines [data-pack-size]{display:block;min-height:14px;margin-top:3px;white-space:nowrap}
#warehouse-card-lines [data-quantity-total],#warehouse-return-lines [data-quantity-total]{display:block;min-height:14px;margin-top:3px;white-space:nowrap}
#warehouse-card-lines .select-search{width:100%}
#warehouse-card-lines td{vertical-align:top}
#warehouse-card-lines td:first-child .select-search,#warehouse-card-lines td:nth-child(2) input,#warehouse-card-lines td:nth-child(3) input{display:block;width:100%;height:32px;min-height:32px;margin:0;box-sizing:border-box}
#warehouse-card-lines td:last-child button{height:32px;min-height:32px;margin:0;padding:0 8px}
#editor:has(.line-item){width:min(950px,97vw)}
#editor .line-item{grid-template-columns:minmax(220px,2fr) minmax(85px,.65fr) minmax(95px,.7fr) minmax(135px,1fr) 34px;align-items:start}
#editor .line-item [data-pack-size]{display:block;min-height:14px;margin-top:3px;white-space:nowrap}
#editor [data-quantity-total]{display:block;min-height:14px;margin-top:3px;white-space:nowrap}
@media(max-width:700px){#editor .line-item{grid-template-columns:1fr 1fr}#editor .line-item>label:first-child{grid-column:1/-1}}

/* Compact warehouse entry rows; empty hints take no space. */
#warehouse-card-lines td{padding:3px 6px;line-height:14px}
#warehouse-card-lines td:first-child .select-search,#warehouse-card-lines td:nth-child(2) input,#warehouse-card-lines td:nth-child(3) input,#warehouse-card-lines td:last-child button{height:28px;min-height:28px;padding-top:3px;padding-bottom:3px}
#warehouse-card-lines [data-pack-size],#warehouse-card-lines [data-quantity-total]{min-height:0;margin-top:1px;font-size:10px;line-height:11px}
#warehouse-card-lines [data-pack-size]:empty,#warehouse-card-lines [data-quantity-total]:empty{display:none}
#warehouse-card-form .warehouse-card-table{margin-bottom:6px}

.cash-card-totals{display:flex;flex-wrap:wrap;gap:8px 22px;padding:9px 12px;border-block:1px solid #bfc6cc;background:#fff9df;font-size:12px;position:sticky;top:0;z-index:3}.cash-card-totals strong{font-variant-numeric:tabular-nums}.cash-card-totals .negative{color:#b32727}

.cash-card-totals .card-own-balance{flex-basis:100%;border-top:1px solid #d8c98d;padding-top:7px;font-weight:600}.card-own-balance strong{font-size:16px}

/* Filled operation rows stay blue; the focused row takes precedence. */
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock],.line-item).operation-entered{background:#e7f2fb}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]).operation-entered>td{background:#e7f2fb}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock],.line-item):focus-within{background:#ffe7a0;box-shadow:inset 3px 0 #b58c13}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]):focus-within>td{background:#ffe7a0}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]).operation-entered [data-row-balance]{background:transparent}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]):focus-within [data-row-balance]{background:transparent}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]).operation-entered>td{background:#e7f2fb!important}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock]):focus-within>td{background:#ffe7a0!important}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock],.line-item).operation-entered :is(input,select,textarea){background-color:#f3f8fd}
:is([data-grid-row],[data-warehouse-line],[data-warehouse-return-line],[data-opening-stock],.line-item):focus-within :is(input,select,textarea){background-color:#fffbee}

#detail:has(#bank-entry-card){width:min(1250px,97vw)}

#correction-form fieldset{grid-column:1/-1;min-width:0;border:1px solid #cbd0d4;padding:10px;margin:4px 0}#detail:has(#correction-form){width:min(1000px,97vw)}
.report-menu{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.report-fields{display:flex;flex-wrap:wrap;gap:8px 18px}.report-fields label{display:flex;align-items:center;gap:5px;margin:0}.report-fields input{width:auto;margin:0}#universal-form fieldset{border:1px solid #cbd0d4;margin:0 0 12px;padding:10px}#manual-posting-lines td{padding:3px 5px;vertical-align:top}#manual-posting-lines label{margin:0}#manual-posting-lines input,#manual-posting-lines select{margin:0;min-height:30px}#manual-posting-lines tr.operation-entered>td{background:#e7f2fb}#manual-posting-lines tr:focus-within>td{background:#ffe7a0}
.timesheet-grid {width:max-content;min-width:100%}.timesheet-grid input {width:43px;min-width:43px;padding:3px;text-align:center;height:29px}.timesheet-grid td {padding:2px}.timesheet-grid th:first-child {position:sticky;left:0;background:#f6f7f8;min-width:200px;z-index:1}.timesheet-grid .timesheet-off {background:#fff5d1}.timesheet-grid .timesheet-group th {background:#e2e9ee;text-align:left}.timesheet-grid input:disabled {background:#eee}.timesheet-grid input:focus {background:#fff3be}
.timesheet-toolbar{display:flex;align-items:center;gap:20px;padding:10px 0}.timesheet-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.timesheet-toolbar input{width:160px}.timesheet-toolbar span{color:#65717c;font-size:12px}.timesheet-grid th:first-child{min-width:200px;width:200px;max-width:200px;box-sizing:border-box}.timesheet-grid .timesheet-position{position:sticky;left:200px;min-width:165px;max-width:165px;background:#f6f7f8;z-index:1}.timesheet-grid thead th{position:sticky;top:0;z-index:2}.timesheet-grid thead th:first-child,.timesheet-grid thead .timesheet-position{z-index:3}.timesheet-grid small{display:block;font-weight:normal;color:#75818b;margin-top:3px}.timesheet-grid td[data-ts-days],.timesheet-grid td[data-ts-hours],.timesheet-grid td[data-ts-absent],.timesheet-grid td[data-ts-norm]{min-width:65px;text-align:center;font-weight:bold;background:#eef3f5}.timesheet-grid tr:focus-within>td,.timesheet-grid tr:focus-within>th{background:#fff0bc}.timesheet-grid input.timesheet-edited{background:#e6f2fc;border-color:#84aecb}.timesheet-grid .timesheet-group th{position:static}
.matrix-tools{display:flex;align-items:center;gap:20px;margin:0 0 12px}.matrix-tools label{display:flex;align-items:center;gap:8px;margin:0}.matrix-tools input{width:160px}.matrix-tools span{font-size:12px;color:#68747c}.sales-matrix{width:max-content;min-width:100%}.sales-matrix th:first-child{position:sticky;left:0;min-width:240px;z-index:2;background:#e9efef}.sales-matrix thead th{position:sticky;top:0;z-index:3}.sales-matrix td{padding:4px;min-width:145px}.sales-matrix label{margin:0;font-size:10px}.sales-matrix input{width:100%;min-width:130px;text-align:right;height:28px;margin:1px 0;padding:4px}.sales-matrix tr:focus-within>td,.sales-matrix tr:focus-within>th{background:#fff0bd}.sales-matrix input.matrix-edited{background:#e4f2fc;border-color:#8ab0c8}
.employee-pay-flags{border:1px solid #cbd0d4;padding:12px;margin:12px 0}.employee-pay-flags label{display:inline-flex;align-items:center;gap:8px;margin:0 24px 0 0}.employee-pay-flags input[type=checkbox]{width:auto;height:auto;margin:0}
.employee-filter-row th{padding:5px;background:#f4f6f7}.employee-filter-row input,.employee-filter-row select{min-width:70px;width:100%;margin:0;height:29px;font-size:12px}.employee-salary-filter{display:flex;gap:4px}.employee-salary-filter input{width:75px}.employee-filter-row th:first-child input{min-width:155px}#employee-filter-count{font-size:12px;color:#68747c;margin:0;padding:7px 10px}#employee-filter-empty{padding:12px;color:#68747c}
#detail:has(#cash-row-entry){width:min(1500px,98vw)}#cash-row-entry .entry-grid td:first-child{min-width:130px}#cash-row-entry .entry-grid td:nth-child(2){min-width:175px}#cash-row-entry .entry-grid td:nth-child(3){min-width:180px}#cash-row-entry .entry-grid td:nth-child(4){min-width:180px}
#grid-error{display:block;max-height:140px;overflow:auto;white-space:normal}.grid-error-link{display:block;text-align:left;color:#b32e2e;font-size:12px;padding:3px 0}.entry-grid tr.grid-row-error>td{background:#fff0f0}.entry-grid [data-grid-invalid],.entry-grid [data-paste-error]{border:2px solid #c94343!important;background:#fff3f3!important}
