@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap");:root{--ink:#173b39;--muted:#6f7b75;--paper:#f4f1e9;--panel:#fffdf8;--teal:#0f766e;--coral:#c45532;--line:#d7d1c3;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}button{cursor:pointer}button:hover:not(:disabled){filter:brightness(.92)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{padding:28px 20px;background:var(--ink);color:white}.brand{margin-bottom:48px;color:#e8c27b;font:500 .72rem DM Mono,monospace;letter-spacing:.08em}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.nav-button{padding:12px;border:0;text-align:left;color:#bbd0c5;background:transparent}.nav-button.active,.nav-button:hover{color:white;background:#0f766e}.main-content{min-width:0;padding:34px clamp(20px,5vw,70px)}.header{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px;gap:18px}.eyebrow{margin:0 0 8px;color:var(--coral);font:500 .7rem DM Mono,monospace;letter-spacing:.08em}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}h2{font-size:1.2rem}.muted{color:var(--muted)}.date-input,.field input,.field select{border:1px solid var(--line);padding:11px 12px;background:var(--panel);color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:26px}.metric,.section{padding:20px;border:1px solid var(--line);background:var(--panel)}.metric strong{display:block;margin-top:8px;font-size:1.8rem}.metric span{color:var(--muted);font:.7rem DM Mono,monospace}.section{margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}td,th{padding:13px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font:.68rem DM Mono,monospace;text-transform:uppercase}.bad{color:var(--coral)}.bad,.good{font-weight:800}.good{color:var(--teal)}.actions{display:flex;flex-wrap:wrap;gap:7px}.primary,.secondary{border:0;padding:10px 13px;font-weight:800}.primary{color:white;background:var(--teal)}.secondary{color:var(--ink);background:#e4e4d9}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.74rem}.field input,.field select{width:100%}.notice{padding:12px;background:#dceee4;color:#285f55;font-size:.82rem}@media (max-width:900px){.admin-shell{display:block}.sidebar{padding:18px}.brand{margin-bottom:18px}.sidebar nav{display:flex;overflow-x:auto}.nav-button{white-space:nowrap}.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.header,.section-head{align-items:start;flex-direction:column}.form-grid,.grid{grid-template-columns:1fr}.main-content{padding:24px 16px}}:root{--urp-font-ui:"Manrope",ui-sans-serif,system-ui,sans-serif;--urp-focus:#1f3a5f}.urp-ui{font-family:var(--urp-font-ui)}.urp-ui *,.urp-ui :after,.urp-ui :before{box-sizing:border-box}.urp-button{min-height:44px;border:1px solid transparent;border-radius:var(--urp-radius-sm);padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.urp-button:hover:not(:disabled){transform:translateY(-1px)}.urp-button:focus-visible,.urp-input:focus-visible,.urp-select:focus-visible{outline:3px solid #9fc5ff;outline-offset:2px}.urp-button:disabled{cursor:not-allowed;opacity:.5}.urp-button-primary{background:#0f766e;border-color:#0b5f59;color:#ffffff;box-shadow:0 2px 0 #084c48}.urp-button-primary:hover:not(:disabled){background:#0b5f59}.urp-button-secondary{background:#fff7df;border-color:#c88a1e;color:#49320a}.urp-button-secondary:hover:not(:disabled){background:#f5df9f}.urp-button-danger{background:#b23a3a;border-color:#8f2e2e;color:#ffffff}.urp-button-danger:hover:not(:disabled){background:#8f2e2e}.urp-button-confirm{background:#1f8a4c;border-color:#186e3d;color:#ffffff}.urp-button-confirm:hover:not(:disabled){background:#186e3d}.urp-table-wrap{width:100%;overflow-x:auto}.urp-table{width:100%;border-collapse:collapse}.urp-table td,.urp-table th{padding:12px 10px;border-bottom:1px solid #e7ecf2;text-align:left}.urp-table th{color:#536170;font-size:.75rem;text-transform:uppercase}.urp-table-numeric{text-align:right!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.urp-card{border:1px solid #e7ecf2;border-radius:var(--urp-radius-md);background:white;padding:20px}.urp-alert{border-left:4px solid var(--urp-attention);border-radius:var(--urp-radius-sm);padding:12px 14px;background:#fdf3da;color:#5b4312}.urp-badge{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:4px 10px;background:#fdf3da;color:#6a4b0c;font-size:.75rem;font-weight:700}.urp-input,.urp-select{min-height:44px;width:100%;border:1px solid #b9c5d0;border-radius:var(--urp-radius-sm);padding:10px 12px;background:white;color:var(--urp-text);font:inherit}.urp-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgb(22 29 37/60%)}.urp-modal{width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:var(--urp-radius-md);background:white;padding:24px}.urp-status-pulse{display:inline-flex;align-items:center;gap:8px;font-size:.8rem}.urp-status-pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--urp-danger)}.urp-status-pulse-online .urp-status-pulse-dot{background:var(--urp-confirm);animation:urp-pulse 1.8s ease-in-out infinite}.urp-pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:16px 0}.urp-pin-keypad .urp-button{min-height:52px}.urp-pin-label{display:grid;grid-gap:8px;gap:8px;font-weight:700}.urp-approval-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@keyframes urp-pulse{50%{box-shadow:0 0 0 6px rgb(31 138 76/18%)}}@media (prefers-reduced-motion:reduce){.urp-button{transition:none}.urp-status-pulse-online .urp-status-pulse-dot{animation:none}}