:root{--ink: #1d2733;--muted: #5b6672;--line: #d6dbe0;--page: #f3f5f7;--card: #ffffff;--brand: #1f5f99;--brand-ink: #ffffff;--danger: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4;color:var(--ink);background:var(--page)}*{box-sizing:border-box}body{margin:0;background:var(--page)}.screen{max-width:720px;margin:0 auto;padding:16px}.screen.narrow{max-width:420px;padding-top:48px}h1{font-size:1.6rem;margin:8px 0 16px}h2{font-size:1.15rem;margin:0 0 8px}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}form.card{display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-weight:600}input:not([type=radio]):not([type=checkbox]),select{min-height:48px;padding:10px 12px;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 12px}legend{font-weight:600;padding:0 4px}label.choice{flex-direction:row;align-items:center;gap:12px;min-height:48px;font-weight:400}label.choice input{width:22px;height:22px}button{min-height:48px;padding:10px 20px;font:inherit;font-weight:600;border:none;border-radius:8px;background:var(--brand);color:var(--brand-ink);cursor:pointer}button.secondary{background:transparent;color:var(--brand);border:1px solid var(--brand)}button:disabled{opacity:.6}.actions{display:flex;flex-wrap:wrap;gap:12px}.error{color:var(--danger);font-weight:400;margin:0}.empty,.loading{color:var(--muted);text-align:center;padding:24px}.project-list{list-style:none;padding:0;margin:0}.amount{font-size:1.3rem;font-weight:700;margin:0 0 8px;font-variant-numeric:tabular-nums}dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}dt{color:var(--muted)}dd{margin:0}h3{font-size:1.05rem;margin:0 0 6px}textarea{padding:10px 12px;font:inherit;border:1px solid var(--line);border-radius:8px}button.link{min-height:0;padding:0;background:none;color:inherit;font:inherit;text-align:left}button.danger{color:var(--danger);border-color:var(--danger)}.hint{color:var(--muted);font-weight:400;margin:0}.field-row{display:flex;flex-wrap:wrap;gap:12px}.field-row>label{flex:1 1 140px}.stack{display:flex;flex-direction:column;gap:14px;padding:8px 0}.notice{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:12px 0;background:var(--card)}.notice.ok{border-color:#2e7d32;background:#eef7ef}.notice.warning{border-color:#b26a00;background:#fff6e5}.notice p{margin:8px 0 0;font-weight:600}.number{font-variant-numeric:tabular-nums}.section-heading{margin-top:24px}.work-item-list,ul.plain{list-style:none;padding:0;margin:0}.work-item{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start}.work-item-body{flex:1 1 260px;min-width:0}.work-item .actions{flex-basis:100%}label.choice.select{min-height:0}.actions.compact button{min-height:44px;padding:8px 14px}.badge{display:inline-block;background:#e8f0f8;color:var(--brand);border-radius:6px;padding:2px 8px;margin:0 0 6px;font-size:.9rem}.field-row>button{align-self:flex-end}.assigned-foreman{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
