@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap");:root{--bg:#faf4e8;--card:#fffdf8;--ink:#33202b;--muted:#7d6a71;--accent:#7a2048;--accent-deep:#5c1836;--accent-soft:#f4e2e9;--line:#eee3cd;--gold:#c8913a;--gold-soft:#f3e5cb;--ok:#2f6b4c;--ok-soft:#e6efe6;--red:#b3261e;--red-soft:#fdecea;--amber:#8a6d00;--amber-soft:#fff7dd}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Noto Sans Devanagari,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:760px;margin:0 auto;padding:16px 16px 90px}@media (min-width:1024px){.container{max-width:1180px;padding:20px 24px 90px}.statgrid{grid-template-columns:repeat(4,1fr)}.flow{column-count:2;column-gap:16px}.flow>.card{page-break-inside:avoid;break-inside:avoid;display:inline-block;width:100%}.card.wide{column-span:all}.grid2{gap:0 18px}}@media (min-width:1500px){.container{max-width:1420px}.flow{column-count:3}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(250,244,232,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 16px}.topbar,.topbar>span:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.topbar>span:last-child{justify-content:flex-end;margin-left:auto}.topbar>span:last-child .btn{margin-right:0!important}@media (max-width:480px){.brand{font-size:16px}.brand img{width:24px;height:24px}.topbar .btn.small{padding:6px 9px;font-size:12px}}@keyframes rlsway{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}input[type=date]{min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid2>div{min-width:0}.brand{display:flex;align-items:center;gap:9px;font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:.5px;color:var(--accent);font-size:19px}.brand img{width:30px;height:30px}.tabbar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.tabbar a{font-size:12px;color:var(--muted);text-align:center;padding:6px 10px;border-radius:12px;min-width:60px}.tabbar a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.tabbar .ticon{display:block;font-size:20px;line-height:1.2}.card{background:var(--card);border:1px solid rgba(92,24,54,.06);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 1px 3px rgba(92,24,54,.05)}.card h3{margin:0 0 10px;font-size:15px}.card h3,h1{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--accent-deep)}h1{font-size:24px;margin:18px 0 12px}.row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);gap:10px}.row:last-child{border-bottom:none}.muted{color:var(--muted);font-size:13px}.big{font-size:26px;font-family:Fraunces,Georgia,serif;color:var(--accent-deep)}.big,.btn{font-weight:600}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:13px 20px;font-size:15px;font-family:Inter,sans-serif;cursor:pointer;width:100%;text-align:center}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn.small{width:auto;padding:8px 14px;font-size:13px;border-radius:10px}.btn.danger{background:var(--red)}.btn:disabled{opacity:.5}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}input,select,textarea{width:100%;padding:12px;font-size:16px;font-family:Inter,sans-serif;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 12px;gap:0 12px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.pill.green{background:var(--ok-soft);color:var(--ok)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.amber{background:var(--gold-soft);color:var(--amber)}.pill.grey{background:#efe8da;color:var(--muted)}.costing{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:4px 14px 14px;background:#fdf8ef}.costing-title{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--accent-deep);font-size:14px;letter-spacing:1.5px;text-transform:uppercase;margin:10px 0 2px}.marginbox{border-radius:12px;padding:14px;text-align:center;margin-top:14px}.marginbox.ok{background:var(--ok-soft);color:var(--ok)}.marginbox.bad{background:var(--red-soft);color:var(--red)}.center{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.statgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:14px}.stat{background:var(--card);border:1px solid rgba(92,24,54,.06);border-radius:16px;padding:15px;box-shadow:0 1px 3px rgba(92,24,54,.05)}.stat .muted{margin-bottom:4px}.rtable{width:100%;border-collapse:collapse;font-size:13.5px}.rtable th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:2px solid var(--line);padding:8px 10px 6px;white-space:nowrap}.rtable td{border-bottom:1px solid var(--line);padding:8px 10px;white-space:nowrap}.rtable tr:last-child td{border-bottom:none}.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.kcol{flex:0 0 200px;min-width:200px;background:#f1e9d9;border:1px solid var(--line);border-radius:14px;padding:8px;scroll-snap-align:start;align-self:flex-start}.kcol-head{display:flex;flex-direction:column;gap:1px;padding:4px 6px 8px}.kcard{background:var(--card);border:1px solid rgba(92,24,54,.08);border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px rgba(92,24,54,.06)}.kcard:last-child{margin-bottom:0}.kempty{color:var(--muted);font-size:12px;text-align:center;padding:10px 0 12px;border:1px dashed var(--line);border-radius:10px}@media (max-width:480px){.kcol{flex-basis:78vw;min-width:78vw}}@media print{.no-print,.tabbar,.topbar{display:none!important}body{background:#fff}.card{border:none;box-shadow:none}}