:root{--bg:#f7f8fa;--paper:#fff;--text:#252a34;--muted:#7e8795;--brand:#96533d;--line:#e9edf1}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}h1{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.6px}h2{font-size:16px;font-weight:600}p,small{color:var(--muted)}p{font-size:13px;line-height:1.8}button,input,select,textarea{font:inherit}button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:white;border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:500;text-decoration:none;font-size:13px;gap:8px}button:disabled{opacity:.45;cursor:default}.secondary{background:white;color:#69717d;border:1px solid var(--line)}input,select,textarea{width:100%;min-height:44px;background:#fcfcfd;border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--text);font-size:16px;min-width:0}label{display:grid;gap:7px;color:#69717d;font-size:12px}textarea{resize:vertical}:focus-visible{outline:2px solid #c99d8c;outline-offset:2px}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#f3eae5;color:var(--brand);font:27px Georgia;flex-shrink:0}.brand{display:flex;gap:10px;align-items:center}.brand small{display:block;font-size:10px;margin-top:4px}.login{width:min(460px,calc(100% - 32px));margin:8vh auto;padding:32px;background:white;border:1px solid var(--line);border-radius:22px}.login-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.login h1{margin-bottom:12px}.login form{display:grid;gap:18px;margin:24px 0}.login form button{width:100%}.login small{font-size:12px}aside{width:210px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:white;border-right:1px solid var(--line);padding:26px 16px;gap:32px}nav{display:grid;gap:7px}.nav{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:10px;text-decoration:none;color:#7f8792;font-size:13px;min-height:44px}.nav.active{background:#f6eeea;color:var(--brand)}.nav>span:first-child{width:20px;font-size:19px}.aside-bottom{margin-top:auto;display:grid;gap:12px;overflow-wrap:anywhere}.aside-bottom small{font-size:10px}main{margin-left:210px;padding:28px clamp(18px,3vw,42px) max(28px,env(safe-area-inset-bottom));max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px}header h1{margin:7px 0}header p{font-size:12px}.header-controls{display:flex;gap:12px;align-items:center;flex-shrink:0}.language-control{max-width:145px}.date-control{width:160px}.language-control select{font-size:13px;background:white}.date-control input{font-size:13px;background:white}.badge{font-size:10px;letter-spacing:0;background:#edf4ef;color:#62806d;border-radius:20px;padding:5px 9px;display:inline-block;vertical-align:middle;margin-left:10px}.daily-heading{display:flex;justify-content:space-between;gap:20px;color:#959ca7;font-size:11px;margin-bottom:17px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.metrics article{padding:20px;background:white;border:1px solid var(--line);border-radius:16px;min-width:0}.metrics article>span{color:#7d8590;font-size:12px}.metrics strong{display:block;font-size:clamp(22px,2.7vw,35px);font-weight:600;letter-spacing:-.6px;margin:12px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metrics article:last-child strong{color:var(--brand)}.metrics small{font-size:10px;display:block}.columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px}.panel{background:white;padding:22px;border:1px solid var(--line);border-radius:16px;margin-bottom:18px;min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.section-title small{font-size:10px}.panel>label,.panel>.row{margin-bottom:17px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.denominations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.denominations label{display:grid;grid-template-columns:minmax(0,1fr) 62px;background:#f7f8fa;border-radius:10px;padding:10px;align-items:center;gap:3px 5px}.denom-name{font-size:12px}.denominations input{background:white;padding:7px;text-align:center;grid-row:span 2;width:62px}.denominations small{font-size:10px;color:#969eaa}.cash-summary{background:#f8f9fb;border-radius:10px;padding:16px;display:grid;gap:12px}.cash-summary>div{display:flex;justify-content:space-between;gap:15px;font-size:12px}.cash-summary b{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.purchase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.purchase{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:10px}.closing-actions,.share-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.closing-actions{padding-top:18px;border-top:1px solid var(--line)}.closing-actions small{font-size:11px}.history-list button{display:flex;width:100%;justify-content:space-between;gap:20px;background:white;color:#626c7a;border-bottom:1px solid var(--line);border-radius:0;padding:20px 0;text-align:left}.history-list button:hover{color:var(--brand)}.file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.file-card{color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:13px;padding:20px 16px;display:grid;gap:12px}.file-card:hover{background:#faf7f5}.file-card strong{font-size:13px;font-weight:500}.file-card small{font-size:11px}.file-icon{width:43px;height:50px;display:grid;place-items:center;border-radius:9px;background:#f5efeb;color:#a16b54;font-size:11px;font-weight:600}.icloud-note{background:#f7f9fc;border-radius:11px;margin-top:20px;padding:18px;color:#687990}.icloud-note strong{font-weight:500;font-size:13px}.icloud-note p{font-size:12px;margin-top:8px}.panel>p{margin-top:12px}.settings-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.settings-row b{font-weight:500;text-align:right}.settings-row span{color:var(--muted)}.invoice-placeholder{max-width:720px;padding:32px}.invoice-placeholder h2{margin-top:22px}.invoice-placeholder p{margin:12px 0 20px}.invoice-placeholder small{display:inline-block;background:#f6eeea;color:var(--brand);padding:6px 10px;border-radius:8px}footer{padding:12px 0;color:#adb4be;font-size:10px}#status{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(650px,calc(100% - 28px));background:#354153;color:white;padding:15px 20px;border-radius:12px;z-index:20;font-size:13px}#status.error{background:#8b493b}@media(max-width:1050px){header{align-items:flex-start;flex-wrap:wrap}.header-controls{margin-left:auto}.panel{padding:18px}.section-title small{max-width:140px}.purchase-list{grid-template-columns:1fr}}@media(max-width:900px){aside{position:static;width:100%;padding:16px 22px;flex-direction:row;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line)}.brand{margin-right:auto}nav{display:flex;flex-wrap:wrap;gap:4px}.nav{padding:9px 12px}.nav>span:first-child{display:none}.aside-bottom{display:none}main{margin-left:0;padding:24px}.header-controls{margin-left:0}.brand small{display:none}}@media(max-width:700px){header{display:grid;gap:18px}.header-controls{display:grid;grid-template-columns:1fr 1fr;min-width:0}.language-control,.date-control{width:100%;max-width:none}.columns{grid-template-columns:1fr}.metrics{gap:9px}.metrics article{padding:13px}.metrics strong{font-size:24px}.metrics small{display:none}.file-grid{grid-template-columns:1fr}.file-card{grid-template-columns:44px 1fr;align-items:center}.file-card small{grid-column:2}.file-card .file-icon{grid-row:span 2}.closing-actions>*{flex:1 1 170px}.closing-actions small{flex-basis:100%}.share-actions>*{flex:1 1 180px}.settings-row{font-size:12px}.daily-heading{font-size:10px}main{padding:20px 16px}.panel{padding:18px}.badge{display:block;width:fit-content;margin:10px 0 0}.login{padding:24px}}@media(max-width:420px){.metrics strong{font-size:20px}.metrics article>span{font-size:10px}.denominations label{grid-template-columns:minmax(0,1fr) 54px;padding:9px}.denominations input{width:54px}.denom-name{font-size:11px}.cash-summary>div{font-size:11px}.nav{font-size:12px;padding:9px}.purchase{grid-template-columns:minmax(0,1fr) 90px}}

#settings-logout{display:none}@media(max-width:900px){#settings-logout{display:inline-flex;margin-top:12px}}

.brand-logo{display:block;width:110px;height:52px;object-fit:contain;flex-shrink:0}.brand{flex-wrap:wrap}.login-top .brand-logo{width:140px;height:65px}#invoice-form h3{margin:24px 0 12px}#invoice-form{margin-top:18px}#invoice-form input,#invoice-form textarea{max-width:100%}@media(max-width:900px){.brand-logo{width:100px;height:44px}.brand{flex-wrap:nowrap}}
.archive-list{display:grid;gap:10px;max-height:520px;overflow:auto}.archive-entry{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:12px}.archive-entry span{overflow-wrap:anywhere;font-size:14px}.archive-entry .button{flex:none;padding:9px 14px}.chart-wrap{overflow-x:auto;padding:12px;background:#fbf7f3;border-radius:16px;margin:20px 0}.chart-wrap svg{display:block;width:100%;height:260px}.section-title input[type=month]{min-width:170px}aside nav{overflow-y:auto}#archive-count{font-size:14px;color:var(--muted)}
.archive-entry>span{flex:1}.import-entry{justify-content:flex-start}.import-entry input[type=checkbox]{width:22px;min-height:22px;flex:none}#import-panel label{margin-top:16px}.archive-entry a{white-space:nowrap}

button.danger{color:#9b2822;border-color:#d5aaa6} .archive-entry{flex-wrap:wrap} .archive-entry .button,.archive-entry button{flex-shrink:0}

.other-exports{margin:16px 0;padding:12px 16px;border:1px solid var(--line,#e6e3e0);border-radius:14px}.other-exports summary{cursor:pointer;font-weight:600}.other-exports[open] summary{margin-bottom:12px}

/* Flexible controls for iPad split view, portrait and landscape. */
button,.button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
header>*,.header-controls,.section-title>*,.row>*,.archive-entry>*{min-width:0;max-width:100%}
.header-controls{flex-shrink:1;flex-wrap:wrap}
.section-title input[type=month]{min-width:0;width:100%;max-width:100%}
.section-title>label{flex:1 1 170px;max-width:260px}
.closing-actions,.share-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:stretch}
.closing-actions>* ,.share-actions>*{width:100%;height:auto}
.closing-actions>small{grid-column:1/-1;align-self:center}
.archive-entry>span{flex-basis:100%}
.archive-entry .button,.archive-entry button{flex:1 1 80px;white-space:normal}
#analysis-chart{padding:16px;background:#fafbfc;border:1px solid var(--line);overflow:hidden}
#analysis-chart svg{display:block;width:100%;height:auto;min-width:0;touch-action:pan-y}
.chart-grid{stroke:#e5e9ed;stroke-width:1;stroke-dasharray:3 5}
.chart-axis{fill:#7e8795;font-size:11px;font-variant-numeric:tabular-nums}
.chart-line{stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart-point{fill:white;stroke:var(--brand);stroke-width:1.5}
.chart-point.selected{fill:var(--brand);stroke:white;stroke-width:2}
.chart-detail{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--line)}
.chart-detail label{flex:1;max-width:270px}.chart-detail strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding-bottom:8px;text-align:right}
#analysis-table{max-height:420px;overscroll-behavior:contain}
#analysis-table .settings-row{padding:13px 0;align-items:center}
#analysis-table .missing-record b{color:var(--muted);font-weight:400}
@media(max-width:900px){aside nav{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.nav{justify-content:center;text-align:center}.nav>span:last-child{min-width:0;overflow-wrap:anywhere}}
@media(max-width:600px){.row{grid-template-columns:1fr}.section-title>h2{flex-basis:100%}.section-title>label{max-width:none}.section-title>button{flex:1 1 130px}.metrics{grid-template-columns:1fr}.metrics article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.metrics strong{font-size:24px;margin:0}.metrics small{grid-column:1/-1;display:block}.chart-detail{align-items:stretch;flex-direction:column;gap:10px}.chart-detail label{max-width:none}.chart-detail strong{text-align:left;padding:0}.chart-axis{font-size:10px}.history-list button{flex-wrap:wrap;gap:6px}}

#analysis-table{max-height:none;overflow:visible}

.selection-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}.selection-toolbar>span{flex:1 1 100%;color:var(--muted);font-size:12px}.selection-toolbar button{flex:1 1 130px}.archive-entry>.record-selector{flex:0 0 44px;min-height:44px;display:flex;align-items:center;justify-content:center}.record-selector input{width:22px;height:22px;min-height:22px;accent-color:var(--brand)}.archive-entry>.record-selector+span{flex:1 1 calc(100% - 70px)}.invoice-history{max-height:560px}#invoice-count{margin:12px 0}#invoice-form{scroll-margin-top:20px}

.purchase{grid-template-columns:minmax(0,1fr) 105px}.purchase-method{grid-column:1/-1;font-size:14px}.trash-auto{display:flex;align-items:center;gap:10px;margin:18px 0}.trash-auto input{width:22px;min-height:22px}.closing-actions #closing-feedback{grid-column:1/-1;width:100%;font-size:13px;overflow-wrap:anywhere}#closing-feedback.error{color:#9b2822}@media(max-width:420px){.purchase{grid-template-columns:minmax(0,1fr) 90px}}

.conflict-panel{grid-column:1/-1;background:#faf6f2;border:1px solid #ead7cb;border-radius:12px;padding:16px}.conflict-panel>p{color:#754b37}.conflict-panel .share-actions{margin-top:12px}

details.panel{padding:0}details.panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;min-height:64px;cursor:pointer;font-size:18px;font-weight:600}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:after{content:'+';font-size:24px;font-weight:400;color:var(--muted)}details.panel[open]>summary:after{content:'−'}details.panel>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-4px;border-radius:var(--radius)}.fold-content{padding:0 24px 24px}.fold-content>.section-title:empty{display:none}.fold-content>.section-title{justify-content:flex-end}.record-operator{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6;overflow-wrap:anywhere;margin-top:4px}.history-list button>span:first-child{text-align:left}@media(max-width:600px){details.panel>summary{padding:18px}.fold-content{padding:0 18px 18px}}

.client-shortcuts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:12px 0}.client-shortcuts>label{flex:1 1 260px;min-width:0}.client-shortcuts select{width:100%;min-width:0}.client-shortcuts>button{flex:0 1 auto}.remember-client{display:flex;align-items:center;gap:10px;margin:16px 0}.remember-client input{width:22px;min-height:22px}.client-tools{margin:16px 0}.client-tools>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--muted)}#customer-status{font-size:13px}#customer-status.error{color:#9b2822}
