:root{--teal: #4da29f;--teal-700: #3c8783;--coral: #dd7261;--ink: #15201f;--body: #384542;--muted: #6f7b78;--border: #e2e7e5;--canvas: #fbfaf7;--surface: #ffffff;--success: #2e7d5b;--warning: #b8841c;--error: #c0392b;--font-display: "Orpheus Pro", "Georgia", "Times New Roman", serif;--font-ui: "Instrument Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--body);background:var(--canvas);font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--ink);font-weight:600;letter-spacing:.2px}h1{font-size:1.7rem;margin:0 0 .2rem}h2{font-size:1.25rem;margin:0 0 .6rem}a{color:var(--teal-700);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.center{display:grid;place-items:center;height:100%}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-family:var(--font-display);font-size:1.15rem;color:var(--ink);font-weight:600}.brand .amp{color:var(--teal)}.nav{display:flex;gap:1.1rem;flex:1}.nav a{color:var(--body);font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}.nav a.active{color:var(--ink);border-bottom-color:var(--teal);text-decoration:none}.userchip{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.85rem}.role-badge{background:#4da29f1f;color:var(--teal-700);padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize}.content{padding:1.5rem;max-width:1100px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.1rem 1.25rem}.row{display:flex;gap:1rem;flex-wrap:wrap}button,.btn{font-family:var(--font-ui);font-size:.9rem;font-weight:600;cursor:pointer;background:var(--teal);color:#fff;border:none;border-radius:8px;padding:.5rem .9rem}button:hover,.btn:hover{background:var(--teal-700)}button.ghost{background:transparent;color:var(--body);border:1px solid var(--border)}button.ghost:hover{background:#f1f3f2}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-ui);font-size:.9rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:#fff;width:100%}label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin:.6rem 0 .25rem}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#f7f6f2}tr:last-child td{border-bottom:none}tbody tr:hover{background:#f7faf9;cursor:pointer}.pill{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600}.pill.pending{background:#fdf2e4;color:var(--warning)}.pill.done{background:#e6f3ec;color:var(--success)}.pill.building{background:#4da29f24;color:var(--teal-700)}.banner{border:1px dashed var(--border);border-radius:10px;padding:1rem 1.1rem;background:#fff;color:var(--muted)}.banner b{color:var(--ink)}.errortext{color:var(--error);font-size:.85rem;margin-top:.5rem}.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.toolbar .spacer{flex:1}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border);margin:1rem 0}.tab{padding:.5rem .9rem;border:none;background:transparent;color:var(--muted);border-bottom:2px solid transparent;border-radius:0}.tab.active{color:var(--ink);border-bottom-color:var(--teal)}.strip{display:flex;gap:1.5rem;flex-wrap:wrap;margin:.8rem 0 0}.strip .field .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.strip .field .v{font-weight:600;color:var(--ink)}.mapbox{height:150px;border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;background:#eef3f2;color:var(--muted);font-size:.82rem;text-align:center}.login-wrap{display:grid;place-items:center;height:100%}.login-card{width:360px}.divider{display:flex;align-items:center;gap:.6rem;margin:.9rem 0;color:var(--muted);font-size:.74rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}
