:root{--bg:#fff4e8;--card:#fff;--line:#f2d9c4;--text:#2d1b3d;--muted:#85707f;--accent:#d9432c;--accent2:#7b4bd6;--sun:#ff9f1c;--danger:#c8203f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app{max-width:720px;min-height:100dvh;padding:0 16px calc(28px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:20px 0 12px;font-size:1.35rem}h1:first-letter{text-transform:uppercase}h2{color:var(--accent2);text-transform:uppercase;letter-spacing:.06em;margin:22px 0 8px;font-size:.8rem}.muted{color:var(--muted)}.small{font-size:.8rem}.center{text-align:center;margin-top:40vh}.banner{color:#7a5200;text-align:center;background:#fff0c2;margin:0 -16px;padding:6px 10px;font-size:.8rem}.banner.err{color:#8f1230;background:#ffd9dd}.err-text{color:var(--danger);font-size:.85rem}button{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 14px}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.ghost{color:var(--muted);background:0 0;border:none;padding:4px 10px;font-size:1.3rem}button.link{color:var(--accent2);background:0 0;border:none;padding:0;font-weight:600}input{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;padding:11px 12px}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quick{gap:8px;margin:8px 0;display:flex}.quick button{min-width:48px;padding:6px 12px;font-size:1.3rem}.list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.row{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:flex}.row.done .grow{color:var(--muted);text-decoration:line-through}.grow{overflow-wrap:anywhere;flex:1;min-width:0}.habit-wrap{align-items:center;display:flex}.habit-wrap .row{flex:1}.check{border-radius:50%;flex:none;width:30px;height:30px;padding:0;line-height:1}.check.on{background:var(--accent);border-color:var(--accent)}.prio{min-width:34px;color:var(--muted);padding:4px 8px;font-weight:700}.prio.p2{color:#d98200}.prio.p3{color:var(--danger)}.chip{color:#fff;border-radius:99px;margin-left:8px;padding:2px 7px;font-size:.7rem;font-style:normal}.chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chips button{border-radius:99px;padding:6px 12px;font-size:.85rem}.chips button.on{background:var(--accent);border-color:var(--accent)}.dot{border-radius:50%;width:14px;height:14px}details{color:var(--muted);margin-top:12px}details .list{margin-top:8px}.danger-zone{border:1px solid #f2b8c0;border-radius:12px;margin:14px 0;padding:12px}.login{gap:10px;max-width:340px;margin:22vh auto 0;padding:0 16px;display:grid}.login h1{text-align:center}.week{grid-template-columns:26px repeat(7,1fr);gap:2px;font-size:.72rem;display:grid;position:relative}.hours{color:var(--muted);position:relative}.hours div{position:absolute;transform:translateY(-50%)}.col{background:var(--card);border:1px solid #0000;border-radius:8px;position:relative}.col.today{border-color:var(--accent)}.dayhead{text-align:center;height:24px;color:var(--muted);font-weight:600;line-height:24px}.block{color:#fff;text-align:left;border:none;border-radius:6px;flex-direction:column;padding:2px 3px;font-size:.68rem;line-height:1.15;display:flex;position:absolute;left:1px;right:1px;overflow:hidden}.block small{opacity:.85}.fab{right:max(16px,50% - 344px);bottom:calc(20px + env(safe-area-inset-bottom));border-radius:50%;width:54px;height:54px;padding:0;font-size:1.8rem;position:fixed;box-shadow:0 4px 14px #d9432c66}.modal{z-index:10;background:#2d1b3d73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border:1px solid var(--line);border-radius:18px 18px 0 0;gap:10px;width:100%;max-width:560px;padding:8px 18px 22px;display:grid}.two{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}label{color:var(--muted);gap:4px;font-size:.8rem;display:grid}.swatches{gap:10px;display:flex}.swatches button{border-radius:50%;width:32px;height:32px;padding:0}.swatches button.on{outline:3px solid var(--text)}@media (width>=720px){.modal{align-items:center}.sheet{border-radius:18px}}select{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:11px 10px}.addd{gap:6px;margin:8px 0;display:grid}.addd .quick{align-items:stretch;margin:0}.addd .quick input[type=date]{flex:0 0 150px;width:auto}.addd .quick select{flex:1}.block-line{margin-top:2px;display:block}.row a{color:var(--accent2)}.dlabel{color:var(--muted);white-space:nowrap;font-size:.75rem}.dlabel.urgent{color:var(--danger);font-weight:700}.check.s-in_progress{border-color:var(--sun);color:#d98200}.check.s-delivered{color:#fff;background:#2fb67c;border-color:#2fb67c}.filebtn{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 14px;display:inline-block}.chip{white-space:nowrap;display:inline-block}.cards{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.card small{color:var(--muted)}.card b{font-size:1.05rem}.pos{color:#1c8a5c}.neg{color:var(--danger)}.monthnav{justify-content:space-between;align-items:center;margin:4px 0;display:flex}.monthnav b:first-letter{text-transform:uppercase}.row.col{flex-direction:column;align-items:stretch;gap:6px}.between{justify-content:space-between;align-items:center;gap:8px;display:flex}.bar{background:var(--line);border-radius:99px;height:8px;position:relative}.bar i{border-radius:99px;height:100%;display:block}.bar u{background:var(--text);width:2px;height:14px;position:absolute;top:-3px}.topbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:12px;margin:0 -16px;padding:8px 16px;display:flex;position:sticky;top:0}.menu-btn{background:var(--card);padding:8px 13px;font-size:1.4rem;line-height:1}.topbar b{font-size:1.05rem}.scrim{z-index:20;background:#2d1b3d73;position:fixed;inset:0}.side{z-index:30;width:250px;padding:18px 12px calc(18px + env(safe-area-inset-bottom));color:#fff;visibility:hidden;background:linear-gradient(175deg,#ff8a4c 0%,#d9432c 55%,#7b4bd6 100%);flex-direction:column;gap:4px;transition:transform .2s,visibility .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:4px 0 24px #2d1b3d4d}.side.open{visibility:visible;transform:none}.side h3{margin:4px 10px 14px;font-size:1.15rem}.side button{text-align:left;color:#fff;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:1rem;display:flex}.side button span{text-align:center;width:1.5rem;font-size:1.15rem}.side button.on{background:#ffffff40;font-weight:700}.side button:hover{background:#ffffff26}.side button:focus-visible{outline:2px solid #fff}@media (width>=900px){.side{visibility:visible;box-shadow:none;transform:none}.topbar,.scrim{display:none}.app{max-width:none;padding-left:274px;padding-right:24px}main{max-width:760px}.fab{bottom:28px;right:28px}}.bigblock{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:4px 14px 14px;box-shadow:0 2px 10px #d9432c12}.bigblock h2{margin-top:14px;font-size:.95rem}.bigblock .row{background:var(--bg)}.kind{color:#5b34b0;white-space:nowrap;background:#efe6ff;border-radius:99px;padding:2px 8px;font-size:.7rem;font-style:normal;font-weight:700}.kind.warn{color:#a12a18;background:#ffe1dc}.datepick{flex:0 0 128px;width:128px;padding:6px;font-size:.78rem}.datepick:not([value=""]){color:var(--accent2);font-weight:600}.chips button.on,.chips button[aria-pressed=true]{color:#fff}.banks{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;display:grid}.bank{text-align:left;background:var(--card);border:2px solid var(--line);border-radius:16px;gap:2px;padding:12px 14px;display:grid;box-shadow:0 2px 10px #d9432c12}.bank small{color:var(--muted)}.bank b{font-size:1.25rem}button.bank.on{border-color:var(--accent2);background:#f5efff}.quick .grow{flex:1}
