:root{--green: #1f6b3a;--blue: #4a86b2;--bg: #f6f7f5;--card: #fff;--text: #1d1f1c;--muted: #6b6f68;--line: #dfe2dc}*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}nav{display:flex;gap:4px;overflow-x:auto;background:var(--green);padding:8px 12px;position:sticky;top:0;z-index:1}nav a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:8px;white-space:nowrap}nav a.on{background:#fff3;font-weight:600}main{max-width:760px;margin:0 auto;padding:16px}h1{font-size:1.4rem;margin:0 0 8px}h2{font-size:1.1rem;margin:0 0 8px}h3{font-size:1rem;margin:16px 0 6px}section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.head{display:flex;justify-content:space-between;align-items:center;gap:8px}.field{display:flex;flex-direction:column;gap:2px;flex:1 1 140px;margin-bottom:8px}.field span{font-size:.85rem;color:var(--muted)}input,textarea,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;width:100%}textarea{resize:vertical}button,.button{font:inherit;background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.45;cursor:default}button.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}button.link{background:none;color:var(--blue);padding:0 6px}.check{display:flex;gap:6px;align-items:center;margin:4px 0 10px}.check input{width:auto}.cards{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.cards li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.lines{padding-left:18px}.room{border-bottom:1px dashed var(--line);padding-bottom:8px;margin-bottom:10px}.room>input{margin-bottom:8px}.hint{background:#eef5ee;padding:10px;border-radius:8px}.muted{color:var(--muted)}.err{color:#b3261e}.pill{font-size:.8rem;padding:2px 8px;border-radius:99px;background:#eee}.pill.active{background:#dcefe1}.pill.estimate_sent{background:#e3eef7}.pill.invoiced{background:#fff1d6}.pill.paid{background:#d9f2d9}.pill.declined{background:#f3dede}.pill.warn{background:#fff1d6}table{width:100%;border-collapse:collapse;background:var(--card);font-size:.9rem}th,td{border-bottom:1px solid var(--line);padding:6px;text-align:right}th:first-child,td:first-child{text-align:left}.wrap{flex-wrap:wrap}.top{display:flex;justify-content:space-between;align-items:center;background:#1a5a31;color:#fff;padding:8px 16px}button.link.light{color:#fff}.landing{max-width:560px;margin:0 auto;padding:48px 16px;display:flex;flex-direction:column;gap:14px}.landing h1{font-size:2rem}.landing ul{padding-left:20px;margin:0}.logo{max-width:120px;max-height:120px;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}label.button{cursor:pointer}td input{min-width:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}.tile small{color:var(--muted)}.tile b{font-size:1.2rem}.plain{list-style:none;padding:0;margin:0}.plain li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer;flex-wrap:wrap}.plain li:last-child{border-bottom:0}.subtabs{display:flex;gap:6px;overflow-x:auto}.subtabs a{padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;white-space:nowrap}.subtabs a.on{background:var(--green);border-color:var(--green);color:#fff}a.button.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}tr.click{cursor:pointer}.stack>.field,section>.field{flex:none}.savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;box-shadow:0 -2px 8px #0000000f;color:var(--muted)}
