:root{--ink:#17342c;--muted:#6b7e77;--green:#17684d;--green-dark:#0d4936;--mint:#e8f3ee;--line:#dce7e2;--paper:#fff;--bg:#f4f7f5;--danger:#a83232}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",sans-serif}.app-header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4vw;gap:42px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand span,.login-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--green);color:#fff;font-size:21px;font-weight:900}.app-header nav{display:flex;gap:28px;flex:1}.app-header nav a{color:#53675f;text-decoration:none;font-weight:700}.app-header nav a:hover{color:var(--green)}.user-menu{display:flex;align-items:center;gap:18px}.user-menu strong,.user-menu small{display:block;text-align:right}.user-menu small{color:var(--muted);font-size:11px}.text-button{border:0;background:none;color:var(--green);font-weight:800}.app-shell{max-width:1320px;margin:0 auto;padding:38px 28px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#d6ebe1,transparent 40%),#f4f7f5}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading h1,.login-card h1{font-size:34px;margin:3px 0 6px;font-weight:850;letter-spacing:-.03em}.page-heading p,.login-card p,.panel-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:850;color:var(--green)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 20px;text-decoration:none;font-weight:800;cursor:pointer}.primary-button{background:var(--green);color:#fff}.primary-button:hover{background:var(--green-dark);color:#fff}.secondary-button{background:var(--ink);color:#fff}.wide{width:100%}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.metrics article,.panel,.filter-bar{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(23,52,44,.04)}.metrics article{padding:23px}.metrics span,.metrics strong,.metrics small{display:block}.metrics span{color:var(--muted);font-size:12px;font-weight:750}.metrics strong{font-size:34px;margin:7px 0}.metrics small{color:var(--green)}.panel{overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 24px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:19px;margin:0 0 3px;font-weight:820}.panel-heading a,.page-heading>a:not(.primary-button),.filter-bar>a,.form-actions>a,table a{color:var(--green);font-weight:800}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{padding:12px 18px;text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#fafcfb}td{padding:15px 18px;border-top:1px solid #edf2ef;vertical-align:middle}td strong,td small{display:block}td small{color:var(--muted);font-size:11px;margin-top:3px}.tag{display:inline-block;background:var(--mint);color:var(--green);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.filter-bar{display:flex;align-items:end;gap:14px;padding:17px;margin-bottom:18px}.filter-bar .field{margin:0;min-width:220px}.field{margin-bottom:17px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cad8d2;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,104,77,.1)}.field span,.validation{color:var(--danger);font-size:12px}.form-panel{padding:26px}.form-panel.narrow{max-width:680px}.form-panel fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 22px;margin:0 0 24px}.form-panel legend{font-size:16px;font-weight:850;margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;gap:20px}.notice{padding:13px 16px;border-radius:10px;background:#fff4d8;color:#795d18;margin-bottom:17px}.notice.success{background:#dff3e8;color:#12603f}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(23,52,44,.13)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:38px}.login-brand strong,.login-brand small{display:block}.login-brand small{color:var(--muted)}.login-card form{margin-top:26px}.empty-state{text-align:center;background:#fff;padding:50px;border-radius:18px}.empty-cell{text-align:center;color:var(--muted);padding:38px}@media(max-width:800px){.app-header{height:auto;padding:16px 20px;flex-wrap:wrap;gap:16px}.app-header nav{order:3;width:100%;overflow:auto}.user-menu{margin-left:auto}.app-shell{padding:25px 15px}.page-heading{align-items:flex-start}.metrics{grid-template-columns:1fr}.filter-bar{display:block}.filter-bar .field{margin-bottom:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-heading h1{font-size:28px}}
