:root{color-scheme:dark;--bg:#09090b;--card:#232326;--card2:#19191c;--line:#38383d;--txt:#f8f8fa;--muted:#a3a3aa;--accent:#4077ff;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--txt);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #75a2ff;outline-offset:2px}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:10;background:rgba(9,9,11,.96);border-bottom:1px solid #262629;backdrop-filter:blur(18px);padding-top:env(safe-area-inset-top,0px)}.header-inner{max-width:660px;margin:auto;padding:15px 18px 9px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#25365d;color:#d6e4ff;font-size:27px}.brand-text{min-width:0;display:flex;flex-direction:column;gap:3px}.brand-text strong{font-size:19px;letter-spacing:-.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text span{color:var(--muted);font-size:12px}.icon-button{color:var(--txt);background:#29292e;border:1px solid #414147;border-radius:14px;font-size:27px;min-width:46px;height:43px;line-height:1}.toolbar{max-width:660px;margin:auto;display:flex;align-items:center;gap:9px;padding:5px 18px 13px}.pill,.date-jump,.count-pill{border-radius:999px;background:#232327;border:1px solid #3b3b41;color:#e9e9ee;padding:9px 12px;font-size:13px;white-space:nowrap}.pill{font-weight:700}.date-jump{display:flex;align-items:center;gap:5px}.date-jump span{color:var(--muted)}.date-jump input{background:transparent;color:var(--txt);border:0;max-width:114px;font-size:12px;outline:none}.date-jump input::-webkit-calendar-picker-indicator{filter:invert(1)}.count-pill{margin-left:auto;font-size:12px;color:var(--muted);border-color:transparent;background:#19191c;padding:8px 9px}main{max-width:660px;margin:auto;padding:15px 14px 120px}.status{color:#b8b8bd;font-size:13px;padding:0 9px}.calendar{display:flex;flex-direction:column;gap:11px}.week-header{color:#aaaab1;font-size:12px;letter-spacing:.25px;padding:17px 6px 2px;border-top:1px solid #29292d;margin-top:6px;display:flex;justify-content:space-between;align-items:center}.week-header:first-child{border-top:0;margin-top:0;padding-top:7px}.week-header strong{color:#dadade;font-size:13px;font-weight:700}.day-card{background:var(--card);border:1px solid #323238;border-radius:var(--radius);padding:16px;min-height:99px;scroll-margin-top:155px}.day-card.today{border-color:#5887ff;box-shadow:0 0 0 1px rgba(78,124,255,.45)}.day-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.day-date{font-size:15px;font-weight:750;letter-spacing:-.15px}.day-sub{font-size:11px;color:var(--muted);margin-top:4px}.today-tag{color:#b8ccff;background:#29375c;font-size:11px;border-radius:9px;padding:4px 8px;margin-left:6px}.day-add{border:1px solid #515158;background:#333339;border-radius:11px;color:#eeeeef;width:34px;height:34px;font-size:24px;font-weight:400;line-height:1}.empty{margin:12px 0 0;color:#a5a5aa;font-size:14px}.entry-list{display:flex;flex-direction:column;gap:0;margin-top:7px}.entry-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:inherit;padding:11px 0;text-align:left;width:100%;border-bottom:1px solid #3a3a3f}.entry-item:last-child{border-bottom:0;padding-bottom:3px}.entry-left{min-width:0;flex:1}.entry-title{display:block;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.entry-payment{display:block;font-size:12px;color:#a7a7ac;margin-top:5px}.entry-right{color:#fafafa;font-size:15px;font-weight:650;white-space:nowrap}.day-total{font-size:12px;color:#a6a6ac;text-align:right;margin-top:9px}.endless-hint{text-align:center;color:#777780;font-size:12px;padding:25px 8px 5px}.fab{position:fixed;z-index:12;bottom:calc(19px + env(safe-area-inset-bottom,0px));right:max(17px,calc((100vw - 630px)/2));border:0;border-radius:18px;padding:15px 19px;font-size:15px;font-weight:750;background:var(--accent);color:white;box-shadow:0 7px 28px #000b;display:flex;align-items:center;gap:6px}.fab span{font-size:23px;font-weight:400;line-height:17px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:30;display:flex;align-items:end;justify-content:center}.sheet{background:#1c1c20;border-radius:26px 26px 0 0;border:1px solid #3c3c43;border-bottom:0;width:100%;max-width:660px;max-height:92dvh;overflow:auto;padding:11px 20px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -15px 45px #0008}.sheet-handle{width:45px;height:5px;border-radius:999px;background:#55555c;margin:0 auto 15px}.sheet-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sheet-heading h2{font-size:23px;margin:0;letter-spacing:-.5px}.close-btn{width:36px;height:36px;border:0;border-radius:50%;background:#38383d;color:#ededf1;font-size:27px;line-height:1}.field{display:flex;flex-direction:column;gap:8px;color:#cbcbce;font-size:14px;font-weight:650;margin-bottom:17px}.field input,.field select{width:100%;background:#29292f;border:1px solid #46464e;color:#fff;border-radius:13px;min-height:51px;font-size:16px;padding:12px;appearance:none}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8'%3E%3Cpath d='m1 1 5.5 5L12 1' fill='none' stroke='%23ccccd1' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:31px}.field input[type=date]{min-width:0;color-scheme:dark}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-note,.settings-body p{color:#a9a9b0;font-size:13px;line-height:1.5;margin:0 0 17px}.primary-btn,.secondary-btn,.danger-btn{width:100%;border:0;border-radius:14px;min-height:49px;font-size:15px;font-weight:750;padding:13px;margin:0 0 10px}.primary-btn{background:#4077ff;color:white}.secondary-btn{border:1px solid #54545d;background:#323237;color:#f9f9fa}.danger-btn{background:transparent;color:#ff888d;border:1px solid #84484c}.error{color:#ff979d;font-size:13px;margin:0 0 10px}.settings-body h3{margin:6px 0 7px;font-size:16px}.settings-divider{border-top:1px solid #3d3d44;margin:17px 0 20px}.settings-body .disclaimer{font-size:12px;color:#93939a}.setting-status{color:#b9d0ff!important}.file-label{display:flex;align-items:center;justify-content:center;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.toast{pointer-events:none;position:fixed;z-index:50;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:#e9e9f0;color:#15151a;border-radius:12px;padding:10px 15px;box-shadow:0 4px 18px #000b;font-size:13px;font-weight:650;max-width:90%;text-align:center;opacity:0;transition:opacity .2s}.toast.show{opacity:1}body.modal-open{overflow:hidden}@media(max-width:380px){.brand-text strong{font-size:17px}.count-pill{font-size:10px;padding:7px 5px}.toolbar{gap:5px}.date-jump{padding:7px}.pill{padding:8px}.day-card{padding:14px}}
@media(max-width:480px){.toolbar{gap:6px}.date-jump{flex:0 1 140px;min-width:0;padding:8px 9px}.date-jump span{display:none}.date-jump input{max-width:100%;width:119px;min-width:0;font-size:12px}.count-pill{flex:0 0 auto;font-size:11px;padding:8px 7px}.pill{flex:0 0 auto;padding:9px 11px}}

.cloud-status{border:1px solid #3c5b4b;background:#193629;color:#bdffe0!important;border-radius:12px;padding:11px 13px;margin:5px 0 18px!important;font-size:13px!important;overflow-wrap:anywhere}.cloud-status.pending{border-color:#82652c;background:#3a301d;color:#ffdfa4!important}.cloud-status.error{border-color:#783b42;background:#3c2227;color:#ffbec0!important}#cloudToken,#cloudPassphrase{letter-spacing:.15px}#cloudSetup .secondary-btn{margin-bottom:12px}
.brand-mark{overflow:hidden;background:#115c4c}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}
