:root{--bg:#f7f0e8;--bg2:#efe4d8;--card:#fffdf9;--ink:#2a1d22;--mut:#85727a;--brand:#7a3b4a;--brand-ink:#fff;--rose:#f0b8c6;--rose2:#f9e3ea;--ok:#2f7d57;--okbg:#dff1e7;--warn:#a85d00;--warnbg:#fde9c9;--bad:#b3261e;--badbg:#fbdcd8;--done:#6f6168;--donebg:#ece4e7;--line:#e3d3c9;--stitch:#d9b9c3;--shadow:0 1px 0 #fff inset,0 8px 24px -12px #7a3b4a55;--serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#171114;--bg2:#1f171b;--card:#241a1e;--ink:#f6ecef;--mut:#b09aa2;--brand:#e58aa3;--brand-ink:#2a1218;--rose:#6b3345;--rose2:#33212a;--ok:#7fd6a3;--okbg:#17352a;--warn:#f2b45c;--warnbg:#3a2a12;--bad:#ff9a90;--badbg:#3d1c19;--done:#b9a8af;--donebg:#2d2328;--line:#3a2c32;--stitch:#6b4856;--shadow:0 8px 24px -12px #000a}}*{box-sizing:border-box}html,body{margin:0;color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;background:var(--bg);background-image:repeating-linear-gradient(0deg,transparent 0 3px,#7a3b4a08 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,#7a3b4a08 3px 4px)}#root{max-width:680px;margin:0 auto;min-height:100dvh;padding:0 16px calc(104px + env(safe-area-inset-bottom))}h1{font:700 1.9rem/1.1 var(--serif);letter-spacing:-.02em;margin:6px 0 14px}h2{font:600 .78rem/1 system-ui;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);margin:26px 2px 10px;display:flex;align-items:center;gap:10px}h2:after{content:"";flex:1;border-top:2px dashed var(--stitch)}a{color:var(--brand)}.top{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 2px 10px}.top img{width:40px;height:40px;border-radius:12px;box-shadow:var(--shadow)}.top small{display:block;color:var(--mut);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.top b{font:700 1.05rem var(--serif)}.tape{height:18px;margin:0 -16px 6px;position:relative;background:var(--rose2);border-block:1px solid var(--stitch);background-image:repeating-linear-gradient(90deg,var(--brand) 0 1.5px,transparent 1.5px 12px),repeating-linear-gradient(90deg,var(--brand) 0 1.5px,transparent 1.5px 60px);background-size:100% 6px,100% 11px;background-repeat:repeat-x;background-position:0 0,0 0;opacity:.85}.card{position:relative;background:var(--card);border-radius:20px;padding:14px 16px;margin:10px 0;box-shadow:var(--shadow)}.card:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1.5px dashed var(--stitch);border-radius:15px;pointer-events:none}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.mut{color:var(--mut);font-size:.9rem}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.num{font-variant-numeric:tabular-nums}.ticket{display:flex;padding:0;overflow:hidden;cursor:pointer;transition:transform .12s}.ticket:active{transform:scale(.985)}.ticket:before{display:none}.stub{flex:0 0 74px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--rose2);color:var(--brand);border-right:2px dashed var(--stitch);position:relative;padding:12px 4px}.stub small{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.stub b{font:700 1.7rem/1 var(--serif)}.stub:before,.stub:after{content:"";position:absolute;right:-9px;width:16px;height:16px;border-radius:50%;background:var(--bg)}.stub:before{top:-9px}.stub:after{bottom:-9px}.tbody{flex:1;min-width:0;padding:12px 14px;display:grid;gap:6px}.tbody .name{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbody .what{color:var(--mut);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;white-space:nowrap}.chip.prog{background:var(--warnbg);color:var(--warn)}.chip.ready{background:var(--okbg);color:var(--ok)}.chip.done{background:var(--donebg);color:var(--done)}.chip.late{background:var(--badbg);color:var(--bad)}.chip.debt{background:var(--rose2);color:var(--brand)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 4px}.stat{background:var(--brand);color:var(--brand-ink);border-radius:22px;padding:14px 16px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1.5px dashed #ffffff55;border-radius:17px}.stat.wide{grid-column:1/-1;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.stat.wide:after{border-color:var(--stitch)}.stat small{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.stat b{display:block;font:700 2.2rem/1.1 var(--serif);margin-top:2px}.stat.wide b{font-size:1.7rem}.hello{color:var(--mut);margin:0 2px 2px}button,.btn{min-height:48px;min-width:48px;border:0;border-radius:16px;padding:0 18px;font:inherit;font-weight:700;background:var(--brand);color:var(--brand-ink);cursor:pointer;transition:transform .1s,filter .1s}button:active,.btn:active{transform:scale(.97)}button.sec{background:var(--rose2);color:var(--brand)}button.danger{background:transparent;color:var(--bad);border:1.5px solid var(--bad)}button:disabled{opacity:.45}input,select{width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:14px;padding:0 14px;font:inherit;background:var(--card);color:var(--ink)}input:focus,select:focus{outline:3px solid var(--rose);border-color:var(--brand)}label{display:block;margin:14px 2px 6px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.items{display:grid;grid-template-columns:1fr 112px 48px;gap:8px;margin:8px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tot{font:700 2rem var(--serif);margin:10px 0}.err{background:var(--badbg);color:var(--bad);padding:12px 14px;border-radius:14px;margin:12px 0;font-weight:600}.empty{text-align:center;color:var(--mut);padding:22px 10px;border:2px dashed var(--stitch);border-radius:20px;margin:10px 0}.center{min-height:86dvh;display:flex;flex-direction:column;justify-content:center;gap:16px}.center img{box-shadow:var(--shadow)}.back{display:inline-flex;align-items:center;gap:6px;background:none;color:var(--brand);padding:0;min-height:44px}nav{position:fixed;left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none}nav div{pointer-events:auto;display:flex;gap:2px;background:var(--card);border-radius:26px;padding:6px;box-shadow:0 12px 32px -10px #3a1a2460,0 0 0 1.5px var(--line)}nav button{background:none;color:var(--mut);flex-direction:column;display:flex;align-items:center;justify-content:center;gap:2px;min-width:72px;min-height:54px;padding:0 6px;font-size:.7rem;border-radius:20px}nav button.on{background:var(--brand);color:var(--brand-ink)}nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.fab{position:fixed;right:max(16px,calc(50% - 324px));bottom:calc(92px + env(safe-area-inset-bottom));min-height:56px;border-radius:28px;padding:0 22px 0 18px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 28px -8px #7a3b4a99}.fab svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round}hr{border:0;border-top:2px dashed var(--stitch);margin:12px 0}
