:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#18283d;background:#f3f5f9;font-size:15px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:238px;inset:0 auto 0 0;background:#12243c;color:#d7e0ef;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:34px;letter-spacing:3px;font-weight:800;color:white;text-decoration:none}.brand span{color:#6ce1c0}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:10px;color:#93a5bf}.nav{margin-top:55px}.nav button,.bottom button{display:block;text-align:left;background:none;color:#bccadd;border:0;width:100%;margin:8px 0;padding:13px;border-radius:9px}.nav button.active{background:#25405d;color:#fff}.bottom{margin-top:auto}.bottom small{display:block;overflow-wrap:anywhere;color:#90a4be;padding:12px}main{margin-left:238px;padding:40px 5%;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}small{font-size:11px;letter-spacing:1.3px;color:#7a8799}h1{font-size:32px;margin:8px 0}h2{font-size:21px;margin:0 0 20px}h3{margin:0 0 8px}.badge{font-size:11px;color:#42776a;background:#e0f2eb;border-radius:20px;padding:10px 16px}.toolbar{display:flex;align-items:center;gap:12px;margin:20px 0;flex-wrap:wrap}.toolbar .grow{flex:1}.card{background:white;border:1px solid #e2e7ee;border-radius:14px;padding:25px;margin-bottom:18px;box-shadow:0 3px 12px #17334e04}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat b{display:block;font-size:30px;margin:12px 0}.stat p{color:#7a8799;margin:0;font-size:13px}.table{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;color:#8290a3;letter-spacing:1px;padding:15px;border-bottom:1px solid #e6eaf0}td{padding:20px 15px;border-bottom:1px solid #edf0f5;vertical-align:top}td:first-child{min-width:200px}td:first-child small{display:block;margin-top:8px;letter-spacing:.4px}.tasklist{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;min-width:250px}button{cursor:pointer;font:inherit;border:0;border-radius:8px;padding:11px 17px;background:#176b59;color:white}button:hover{filter:brightness(.95)}button:disabled{opacity:.6;cursor:default}.secondary{background:#edf1f6;color:#31465f}.task{display:block;text-align:left;border:1px solid transparent;padding:6px 10px;min-width:0;font-size:12px;line-height:1.35}.task-line{display:block;white-space:nowrap}.task small{display:block;white-space:nowrap;letter-spacing:0;color:inherit;margin-top:3px;font-size:10px}.yellow{background:#fff4cf;border-color:#f0dc96;color:#936b15}.red{background:#fce6e7;border-color:#efbfc3;color:#b03945}.green{background:#e0f3eb;border-color:#b4decc;color:#287859}.empty{text-align:center;padding:60px 20px;color:#7b899c}.empty h2{color:#263c55}input,select{font:inherit;color:#263c55;border:1px solid #d4dde8;border-radius:8px;padding:11px;background:#fff;max-width:100%;width:100%}label{display:block;font-size:12px;color:#65778d;margin-bottom:15px}label input,label select{margin-top:7px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar select,.toolbar input{width:auto}.overlay{position:fixed;inset:0;background:#11233cee;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10}.overlay.hidden{display:none}.auth{width:450px;max-height:95vh;overflow:auto;padding:35px}.auth button{width:100%}.wordmark{font-size:30px;font-weight:800;margin-bottom:30px}.wordmark span{font-size:15px;font-weight:400;color:#8291a2}.muted{color:#7a8799;font-size:13px;line-height:1.6}.error{color:#b03945;font-size:13px}#notice:not(:empty){padding:12px 18px;border-radius:8px;background:#e2eee8;margin-bottom:20px}.hidden{display:none!important}.pill{font-size:11px;background:#eef2f7;border-radius:5px;padding:5px 8px}.inline{display:flex;gap:10px;align-items:center}.inline button{white-space:nowrap}@media(max-width:850px){aside{position:static;width:auto;padding:20px}.brand small{display:none}.nav{margin-top:15px;display:flex;overflow:auto}.nav button{white-space:nowrap;width:auto}.bottom{display:flex;flex-wrap:wrap}.bottom button{width:auto;font-size:12px;margin:0;padding:8px}.bottom small{display:none}main{margin:0;padding:25px 15px}.stats{gap:8px}.stat{padding:16px}.stat b{font-size:25px}.grid{grid-template-columns:1fr}h1{font-size:26px}.badge{display:none}.toolbar{gap:8px}.auth{padding:25px}}

.nav button{display:flex;align-items:center;gap:10px}.nav-icon{width:20px;height:20px;flex:none}

.client-link{display:inline;padding:0;background:none;color:#176b59;font-weight:700;text-align:left;line-height:1.5;border-radius:2px;text-decoration:underline;text-decoration-color:#176b5955;text-underline-offset:3px}.client-link:hover{color:#104d40;text-decoration-color:currentColor;filter:none}.client-link:focus-visible{outline:2px solid #176b59;outline-offset:4px}

.template-picker{display:flex;align-items:center;gap:14px;margin-bottom:15px}.template-picker label{flex:1;margin:0;min-width:0}.template-picker button{margin-top:20px;flex:none}#templatesDialog{width:560px;max-width:calc(100% - 30px);max-height:85vh;overflow:auto;border:1px solid #e2e7ee;border-radius:14px;padding:25px;color:#18283d}#templatesDialog::backdrop{background:#11233cbb}#templatesDialog .toolbar{margin-top:0}#templatesDialog h2{margin:0}.template-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f5}#templateList{margin-bottom:25px}

.template-actions{display:flex;gap:6px;align-items:center}.template-actions button{font-size:12px;padding:6px 9px}#cancelTemplateEdit{margin-top:10px}

/* Equal control sizes, including native Safari select and number inputs. */
.board-toolbar select,.board-toolbar input,.board-toolbar>button{height:44px;min-height:44px;box-sizing:border-box;margin:0;padding:0 12px;font-size:16px;line-height:normal}
.board-toolbar #year{width:108px}.board-toolbar h2{margin:0}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-width:0}
.section-permissions{border:1px solid #d4dde8;border-radius:8px;padding:12px;margin:12px 0}.section-permissions legend{font-size:12px;color:#65778d;padding:0 5px}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;min-height:36px;margin:0}.check-label input{width:18px;height:18px;margin:0;accent-color:#176b59}.user-access{padding:15px 0;border-bottom:1px solid #e2e7ee;margin-bottom:20px}.user-access h3{overflow-wrap:anywhere;font-size:15px}fieldset:disabled{opacity:.55}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #176b59;outline-offset:3px}
@media(max-width:850px){
 .grid{grid-template-columns:minmax(0,1fr)}
 input,select{font-size:16px;min-height:44px;min-width:0}
 button{min-height:44px}
 aside{padding:18px 15px}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}.nav button{width:100%;margin:0;padding:11px 10px;font-size:14px}.bottom{margin-top:12px;gap:6px}.bottom button{min-height:40px;padding:9px 10px}
 main{width:100%;padding:22px 12px}header{margin-bottom:20px}h1{font-size:24px;overflow-wrap:anywhere}.card{padding:18px}.stats{gap:6px}.stat{padding:12px 9px}.stat small{font-size:9px;letter-spacing:.5px}.stat p{font-size:11px}.stat b{font-size:26px;margin:8px 0}
 .board-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:8px}.board-toolbar h2{grid-column:1/-1;font-size:20px;margin-bottom:6px}.board-toolbar #month,.board-toolbar #year,.board-toolbar #add{width:100%;min-width:0;font-size:16px;padding:0 8px}
 .table{padding:0;border:0;background:transparent;overflow:visible;box-shadow:none}.table table,.table tbody{display:block;width:100%}.table thead{display:none}.table tr{display:block;background:white;border:1px solid #e2e7ee;border-radius:12px;padding:16px;margin-bottom:12px}.table td{display:block;width:100%;padding:10px 0;border:0;min-width:0}.table td:first-child{min-width:0;padding-top:0;border-bottom:1px solid #edf0f5}.table td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;color:#7a8799;margin-bottom:8px}.table td:last-child{padding-bottom:0}.table td:first-child small{margin-top:3px}.client-link{min-height:40px;font-size:16px;overflow-wrap:anywhere}
 .tasklist{min-width:0;gap:8px}.task{min-height:40px;padding:8px 10px;max-width:100%;font-size:12px}.task-line{white-space:normal;overflow-wrap:anywhere}.task small{font-size:11px;white-space:normal}
 .template-picker{gap:10px}.template-actions{flex-wrap:wrap}.template-actions button{min-height:40px;padding:8px 10px}.toolbar .grow{min-width:0;overflow-wrap:anywhere}.check-label{min-height:44px}.check-label input{min-height:20px;width:20px;height:20px;flex:none}
 #templatesDialog{padding:18px;max-height:90dvh}#templatesDialog .toolbar{align-items:center}.overlay{padding:12px}.auth{width:100%;max-width:450px;max-height:95dvh;padding:22px}.auth button{min-height:44px}
}

.nav button span{white-space:normal;text-align:left}.finance-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}#financeFilters{display:inline-block;width:100%;margin-bottom:10px}.finance-table td{padding:14px 10px;overflow-wrap:anywhere}.finance-table td:first-child{min-width:100px;white-space:nowrap}.finance-table th:nth-child(3),.finance-table th:nth-child(4){min-width:110px}.finance-table tfoot{font-weight:700}.finance-table tfoot td{border-top:2px solid #d4dde8}.finance-income{color:#176b59}.finance-expense{color:#b03945}.finance-balance{display:flex;justify-content:space-between;align-items:center;gap:15px}.finance-balance strong{font-size:24px;white-space:nowrap}.finance-balance small{display:block;margin-top:6px;letter-spacing:0}#financeDialog{width:510px;max-width:calc(100% - 24px);max-height:90dvh;overflow:auto;border:1px solid #e2e7ee;border-radius:14px;padding:25px;color:#18283d}#financeDialog::backdrop{background:#11233cbb}#financeDialog .toolbar{margin-top:0}#financeDialog h2{margin:0;font-size:20px}textarea{font:inherit;width:100%;margin-top:7px;padding:11px;border:1px solid #d4dde8;border-radius:8px;resize:vertical;color:#263c55}.suggest-box{position:relative}.suggest-options{position:absolute;top:100%;left:0;right:0;max-height:180px;overflow:auto;border:1px solid #d4dde8;border-radius:8px;background:white;box-shadow:0 5px 18px #11233c22;z-index:5;padding:4px}.suggest-options[hidden]{display:none}.suggest-options button{display:block;width:100%;padding:9px;text-align:left;background:white;color:#263c55;border-radius:4px;font-size:14px}.suggest-options button:hover,.suggest-options button:focus{background:#edf1f6}
@media(max-width:850px){.finance-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.finance-table td{min-width:0;padding:7px 0}.finance-table td:first-child{min-width:0}.finance-table tfoot{display:block}.finance-table tfoot td:empty{display:none}.finance-balance{padding:16px}.finance-balance strong{font-size:21px}#financeDialog{padding:18px}textarea{font-size:16px}.suggest-options button{min-height:44px}.finance-table .client-link{min-height:40px}.nav button{white-space:normal}}

.finance-filter-panel{padding:0}.finance-filter-panel>summary{padding:14px 18px;font-weight:600;cursor:pointer;min-height:44px}.finance-filter-content{padding:0 18px 18px}.finance-table td{padding:6px 10px;font-size:14px;line-height:1.35;vertical-align:middle}.finance-table th{padding:10px}.finance-table .client-link{line-height:1.35;min-height:0}.finance-table tfoot td{padding:10px}
@media(max-width:850px){.finance-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;padding:12px;margin-bottom:8px}.finance-table tbody td,.finance-table tbody td:first-child{padding:4px 0;border:0;min-width:0;font-size:13px;white-space:normal}.finance-table tbody td[data-label]::before{content:attr(data-label);display:block;font-size:10px;color:#7a8799;margin-bottom:3px}.finance-table .client-link{min-height:36px;display:inline-flex;align-items:center;font-size:14px}.finance-table .empty{grid-column:1/-1}.finance-filter-panel>summary{padding:12px 16px}.finance-filter-content{padding:0 16px 16px}}
