:root{--bg:#121212;--surface:#1a1815;--border:#38332c;--paper:#ece8de;--muted:#9c9486;--accent:#e0492b;--amber:#d9a441;--green:#78a578;--blue:#4e86a6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.shell{width:min(100%,980px);margin:auto;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(60px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}header,.toolbar,.month-nav,.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}header{border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}h1,h2{font-family:Georgia,serif;margin:0}h1{font-size:26px}h2{font-size:21px}header p{color:var(--muted);font-size:12px;margin:6px 0 0}button{font:inherit;color:var(--paper);background:transparent;border:1px solid var(--border);border-radius:4px;padding:9px 13px;cursor:pointer;min-height:40px}button.active,button.primary{background:var(--accent);border-color:var(--accent);color:white}button.danger{background:#762b1c;border-color:#762b1c}.toolbar{margin:18px 0}.month-nav button{font-size:22px;padding:3px 11px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin:16px 0 22px}.stat{background:var(--surface);padding:15px}.stat small{display:block;color:var(--muted);margin-bottom:8px}.stat strong{font-size:20px}.calendar{border:1px solid var(--border)}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{text-align:center;color:var(--muted);font-size:11px;padding:8px}.day{min-height:82px;padding:7px;border-top:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface)}.day.today{box-shadow:inset 0 0 0 1px var(--accent)}.day.empty{background:transparent}.num{color:var(--muted);font-size:12px}.chip{font-size:10px;background:#ffffff0c;padding:3px 5px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip:before,.legend i{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-right:5px}.chip.video:before,.legend i.video{background:var(--blue)}.legend{color:var(--muted);font-size:11px}.alert{background:var(--surface);border-left:3px solid var(--accent);padding:10px 12px;margin:6px 0;font-size:12px}.alert.delivery{border-color:var(--amber)}.card{border:1px solid var(--border);padding:13px;margin:9px 0;border-radius:4px}.muted{color:var(--muted);font-size:12px}.money{display:flex;gap:20px;font-size:12px}.overlay{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:18px;z-index:5}.modal{width:min(500px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:7px}.modal-head,.form-actions{display:flex;justify-content:space-between;align-items:center}.field{margin:13px 0}.field label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}input,select,textarea{width:100%;background:var(--bg);color:var(--paper);border:1px solid var(--border);border-radius:3px;padding:10px;font:inherit;min-height:42px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.media button.selected{border-color:var(--accent);background:#e0492b18}.form-actions{justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding-top:15px;margin-top:16px}.empty{text-align:center;color:var(--muted);padding:25px}.expense-row{display:grid;grid-template-columns:110px 1fr auto auto;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding:12px 4px}.icon{padding:7px}.balance{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:10px;color:var(--muted)}.balance strong{color:var(--paper)}.new-type{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:8px}.new-type[hidden]{display:none}.check-row{display:flex;align-items:center;gap:8px;font-size:12px}.check-row input{width:auto;min-height:0;accent-color:var(--accent)}@media(max-width:640px){header{align-items:flex-start;flex-direction:column}.toolbar{align-items:flex-start;flex-wrap:wrap}.stats{grid-template-columns:1fr}.day{min-height:58px}.chip{display:none}.row{grid-template-columns:1fr}.expense-row{grid-template-columns:1fr auto}.expense-row .date,.expense-row .category{display:none}.media button{padding:9px 4px;font-size:11px}.modal{padding:17px;max-height:94vh}}@media(min-width:900px){.day{min-height:96px}.modal{width:min(560px,100%)}}
