:root{--bg:#0b1a1d;--surface:#11272c;--surface2:#17343c;--line:#254750;--text:#e1eeee;--muted:#8baeAD;--accent:#2ccd99;--green:#2ccd99;--blue:#4ca9d6;--red:#ec6745;--gold:#eabb35;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 Arial,sans-serif}button,input,select,textarea{font:inherit}h1,h2{font-family:Georgia,serif;color:var(--text)}h2{font-size:26px}h3{font-family:Arial,sans-serif;font-size:18px}button{cursor:pointer;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:9px;min-height:40px;padding:9px 13px}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button.primary,.primary,.scope-toggle button.active{background:var(--green);border-color:var(--green);color:#06241e;font-weight:600}.secondary{border-color:var(--blue);color:#79c8ee;background:transparent}.muted,small,label{color:var(--muted)}.paid{color:var(--green)!important}.spent{color:var(--blue)!important}.owed{color:var(--gold)!important}.loss,.sb-danger{color:var(--red)!important}[hidden]{display:none!important}
.shell{max-width:680px;margin:auto;padding:14px 16px 28px}.sb-header{display:flex;align-items:center;justify-content:space-between;border:0;padding:0;margin:0 0 16px;gap:8px;min-height:44px}.sb-header h1{font-size:24px;margin:0}.sb-header>div{order:0}.sb-icon{display:inline-flex;justify-content:center;align-items:center;padding:8px;width:36px;height:36px;min-height:36px;flex-shrink:0}.sb-icon svg{width:21px;height:21px}.sb-header>.sb-icon{border:none;width:36px}.sb-menu{order:-1}.sb-header #settings{order:1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 16px}.toolbar h2{margin:0}.month-nav{display:contents}#month{font:600 18px/1.4 Arial,sans-serif;flex:1;order:-1}#prev,#next{width:34px;padding:4px;min-height:34px}.toolbar>div:has(#add-booking){display:contents}.sb-fab{position:fixed;right:max(18px,calc((100vw - 650px)/2));bottom:max(20px,env(safe-area-inset-bottom));z-index:4;width:52px;height:52px;border-radius:50%;background:var(--green);color:#06362c;border:0;font-size:32px;box-shadow:0 6px 20px #0004}.sb-alert{display:block;text-align:left;width:100%;border-left:3px solid var(--blue);background:var(--surface);border-radius:0 10px 10px 0;font-size:13px;padding:9px 11px;margin:0 0 8px}#alerts:empty{display:none}
.stats,.stats.four{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.stats#stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-width:0;background:var(--surface);border:1px solid var(--line)!important;border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;gap:3px}.stat small{font-size:11px;line-height:1.3}.stat strong{font:500 clamp(12px,3.7vw,19px)/1.4 'Courier New',monospace;overflow-wrap:anywhere}.calendar{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.weekdays{background:var(--surface2);gap:0}.weekdays span{font-size:11px;text-align:center;padding:4px;color:var(--muted);border-right:1px solid var(--line)}.days{gap:0;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--weeks,5),minmax(95px,1fr));min-height:calc(100svh - 244px)}.days .day{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--surface);border:0;border-radius:0;border-right:1px solid var(--line);border-top:1px solid var(--line);padding:6px 1px;min-height:95px;overflow:hidden}.days .day:nth-child(7n){border-right:0}.day .num{font-size:14px;font-weight:400}.days .day.outside{background:var(--bg);color:#3d555b}.days .day.today{box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}.day.today .num{font-weight:700}.sb-dots{display:flex;gap:3px;min-height:6px;justify-content:center;align-items:center}.sb-dots i{display:block;width:4px;height:4px;border-radius:50%;background:var(--green)}.sb-dots i.video{background:var(--blue)}.sb-dots i.both{background:linear-gradient(90deg,var(--green) 50%,var(--blue) 50%);width:8px}.sb-dots small{font-size:9px}.legend{display:none}
.sb-panel,.sb-card,.report-period,.chart-wrap,.report-year{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:16px;margin:0 0 14px;box-shadow:none}.sb-card h3{margin:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere}.sb-card p{margin:3px 0;font-size:14px}.sb-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.sb-badge{font-size:11px;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:3px 9px;color:var(--muted);background:#1c373c}.sb-badge.blue{color:var(--blue);background:#173543;border-color:#2a6680}.sb-badge.amber{color:var(--gold);background:#2d3429;border-color:#706330}.sb-badge.green{color:var(--green);background:#123e36;border-color:#237f68}.sb-card-bottom,.sb-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.sb-card-foot{border-top:1px solid var(--line);padding-top:12px}.sb-amount{font:700 22px/1.3 'Courier New',monospace;overflow-wrap:anywhere}.sb-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sb-actions .sb-icon{width:30px;height:32px;min-height:32px;padding:6px}.sb-delivered{display:flex;align-items:center;gap:7px;font-size:14px;white-space:nowrap}.sb-delivered input{width:17px;height:17px;accent-color:var(--green)}#sb-expense-tools{display:flex;justify-content:space-between;gap:6px;margin:0 0 14px}.scope-toggle{display:flex;gap:6px}.scope-toggle button,#export-expenses{border-radius:24px;padding:8px 13px;font-size:13px}.report-title{font:12px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px;color:#729896;margin:0 0 14px}.sb-filter{margin-top:10px;color:var(--muted);font-size:12px}.sb-filter .row{margin-top:12px}.sb-expenses{border-top:1px solid var(--line);padding-top:14px}.sb-number{font-family:'Courier New',monospace}#invoice-stats{display:none}#export-invoices{font-size:12px;padding:6px}.sb-panel h3{margin-top:0}
.overlay{background:#0008;padding:0;align-items:flex-start;overflow:auto}.modal{background:var(--bg);color:var(--text);border:0;border-radius:0;padding:18px;max-width:680px;width:100%;max-height:none;min-height:100svh;box-shadow:none;overflow:visible}.modal-head{border-bottom:1px solid var(--line);padding:0 0 16px;margin:0 0 16px;align-items:flex-start;gap:12px;background:var(--bg)}.modal-head h2{font-size:24px;margin:0}.modal-head p{margin:2px 0 0;font-size:14px}.sb-day-sheet{padding-bottom:110px}.sb-day-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:680px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);z-index:6}.sb-day-footer button{width:100%}.field{min-width:0}.field label{font:14px/1.4 Arial,sans-serif}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.row>*{min-width:0}input,select,textarea{background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;max-width:100%;min-width:0}input[type=checkbox]{accent-color:var(--green)}.media{flex-wrap:wrap}.media button.selected{background:var(--surface2);color:var(--green);border-color:var(--green)}.drawer{background:var(--bg);border-right:1px solid var(--line);width:min(320px,85vw);padding:22px}.drawer-nav button{text-align:left;padding:14px}.drawer-nav button.selected{background:var(--surface2);color:var(--green)}.report-period .stats{grid-template-columns:1fr}.report-period .stat{flex-direction:row;align-items:center;justify-content:space-between;background:var(--surface2);border:0!important}.report-period .stat small{font-size:14px}.report-period .stat strong{font-size:20px}.report-year-head{border:0;padding:0;background:none;color:var(--text)}.report-year-head span{font:bold 24px Georgia,serif}.report-year-body{border-color:var(--line)}.report-year .stats{grid-template-columns:1fr}.report-year .stat{border:0!important;flex-direction:row;justify-content:space-between;background:none;padding:5px 0}.report-year .stat small{font-size:14px}.chart-wrap{overflow:auto}.bar-paid{fill:var(--green)}.bar-spent{fill:var(--blue)}.trend-tooltip{background:var(--surface2);border-color:var(--line)}.invoice-editor-page{background:var(--bg)!important;color:var(--text)!important}.invoice-editor-page .modal-head{background:var(--bg)!important}.invoice-form-grid{gap:12px}.data-table th,.data-table td{border-color:var(--line)}
@media(max-width:359px){.shell{padding:12px}.sb-card{padding:12px}.sb-card-top{flex-wrap:wrap}.sb-card h3{font-size:16px}.sb-card-foot{flex-wrap:wrap}.sb-actions{gap:4px}.sb-header h1{font-size:22px}.stat{padding:8px 5px}}
:root{--border:var(--line);--paper:var(--text);--amber:var(--gold)}
.sb-header{flex-direction:row!important;align-items:center!important}.stats{background:transparent;border:0}.stat small{margin-bottom:0}.num{color:inherit}.overlay{height:100dvh;overflow-y:auto}.modal{flex-shrink:0}.sb-day-sheet{height:100dvh;overflow-y:auto;min-height:0}body:has(.overlay),body:has(.drawer-overlay),body:has(.invoice-page-overlay){overflow:hidden}.sb-card h3{font-family:Arial,sans-serif!important}.sb-total-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface2);border-radius:9px;padding:13px 12px;margin:8px 0;color:var(--muted)}.sb-total-row strong{font:500 20px 'Courier New',monospace}.sb-year .sb-total-row{background:none;padding:7px 0}.sb-year .sb-total-row:last-child{border-top:1px solid var(--line);padding-top:12px}.sb-invoice-tax{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.sb-invoice-tax .stats{grid-template-columns:1fr 1fr}.sb-tax-total{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted)}.sb-tax-total strong{font:700 22px 'Courier New',monospace}.sb-chart-legend{display:flex;gap:16px;color:var(--muted);font-size:13px}.sb-chart-legend i{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:2px;margin-right:4px}.sb-chart-legend span+span i{background:var(--blue)}.sb-chart-scroll{overflow-x:auto}.sb-chart{display:flex;gap:10px;justify-content:space-around}.sb-chart-month{flex:1;border:0;padding:0;min-width:40px}.sb-bars{display:flex;height:250px;align-items:flex-end;justify-content:center;gap:4px}.sb-bars i{display:block;background:var(--green);width:16px;border-radius:3px 3px 0 0;min-height:1px}.sb-bars i+i{background:var(--blue)}.sb-chart-month small{display:block;margin-top:6px}.sb-panel input[type=month]{font-size:13px;padding:8px 4px}#trends .stat{background:var(--surface2);border:0!important}#trends .stat strong{font-size:15px}
.scope-toggle{border:0}.scope-toggle button{border:1px solid var(--line)}body:has(.overlay){height:100dvh}.sb-day-sheet{max-height:100dvh!important}input[type=checkbox]{min-height:17px}
@media(orientation:landscape){.days{min-height:500px}.sb-day-footer{position:sticky;transform:none;left:auto}.sb-day-sheet{padding-bottom:18px}}
