:root{--paper: #f5f1e8;--surface: #fffdf8;--surface-2: #f0ece1;--ink: #0f2a1e;--ink-muted: #4b5f55;--green: #1c7c4c;--green-text: #14603f;--green-soft: #dcefe3;--gold: #b08a2e;--gold-soft: #f6ecd2;--danger: #a3231b;--danger-soft: #fbe4e0;--line: #ded8c9;--line-strong: #cdc6b4;--radius: 14px;--radius-lg: 20px;--shadow: 0 10px 30px rgba(15, 42, 30, .08);--font: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Young Serif", "Iowan Old Style", Palatino, Georgia, serif;--focus: 0 0 0 3px rgba(28, 124, 76, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.15;margin:0}h1{font-size:34px}h2{font-size:24px}p{margin:0}a{color:var(--green-text);text-underline-offset:3px}code{font-size:16px;background:var(--surface-2);padding:2px 6px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-height:48px}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--green);color:#f2f5ee;display:grid;place-items:center;font-size:20px}.brand small{display:block;font-size:14px;color:var(--ink-muted)}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-left:8px}.nav-link{min-height:48px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;color:var(--ink-muted);text-decoration:none;font-weight:500}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.is-active{background:var(--green-soft);color:var(--green-text);font-weight:600}.who{margin-left:auto;display:flex;align-items:center;gap:12px}.who-email{color:var(--ink-muted);font-size:16px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 64px}.page{display:flex;flex-direction:column;gap:20px}.page-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.page-head h1{margin-bottom:6px}.page-sub{color:var(--ink-muted)}.small{font-size:16px}.muted{color:var(--ink-muted)}.block{display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.num{font-variant-numeric:tabular-nums;font-weight:600}.right{text-align:right}.crumbs{display:flex;gap:8px;align-items:center;color:var(--ink-muted);font-size:16px}.detail-head{align-items:center}.badges{display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px}.panel h2{font-size:22px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.kv{display:grid;gap:12px;margin:0}.kv>div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line)}.kv>div:last-child{border-bottom:0;padding-bottom:0}.kv dt{color:var(--ink-muted)}.kv dd{margin:0;font-weight:600;text-align:right}.actions-row{display:flex;gap:12px;flex-wrap:wrap}.btn{min-height:48px;padding:0 20px;border-radius:12px;border:1px solid transparent;font-family:inherit;font-size:18px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity .15s ease,background .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green);color:#f5fbf7}.btn-primary:hover:not(:disabled){background:var(--green-text)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--green)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#8c1d16}.btn-sm{min-height:40px;padding:0 14px;font-size:16px}.btn-block{width:100%}.stack{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-weight:600}.input,.field input,.field select{min-height:52px;padding:0 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:inherit;font-size:18px;width:100%}.field input::placeholder{color:#8a938c}.field-hint{color:var(--ink-muted);font-size:16px}.field-error{color:var(--danger);font-size:16px;font-weight:600}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.toolbar .input[type=search]{flex:1 1 280px}.select{width:auto;min-width:180px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:15px;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge-green{background:var(--green-soft);color:var(--green-text);border-color:#bfe0cc}.badge-amber{background:#fff2d6;color:#7a5210;border-color:#ecd39c}.badge-red{background:var(--danger-soft);color:var(--danger);border-color:#f0c3bd}.badge-gray{background:var(--surface-2);color:var(--ink-muted);border-color:var(--line)}.badge-gold{background:var(--gold-soft);color:#6b4f13;border-color:#e6d4a6}.callout{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);font-size:17px}.callout strong{font-size:17px}.callout-error{background:var(--danger-soft);border-color:#eab6af;color:#69201a}.callout-info{background:var(--surface-2);color:var(--ink-muted)}.callout-success{background:var(--green-soft);border-color:#bfe0cc;color:var(--green-text)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);background:var(--surface-2)}.table tr:last-child td{border-bottom:0}.table td{font-size:17px}.link-strong{font-weight:600;color:var(--ink);text-decoration:none}.link-strong:hover{text-decoration:underline}.cards-mobile{display:none;list-style:none;margin:0;padding:0;gap:12px;flex-direction:column}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;gap:12px}.person-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.person-grid dt{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.person-grid dd{margin:2px 0 0;font-weight:600}.notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.notes li{background:var(--surface-2);border-radius:12px;padding:14px 16px}.state{display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--ink-muted)}.state-empty{padding:24px 0}.overlay{position:fixed;inset:0;background:#0f2a1e73;display:grid;place-items:center;padding:20px;z-index:50}.dialog{width:min(560px,100%);background:var(--surface);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}.dialog-body{color:var(--ink);display:flex;flex-direction:column;gap:12px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#e9f3ec 0,var(--paper) 55%)}.login-card{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:12px}.login-brand small{display:block;font-size:14px;color:var(--ink-muted)}.login h1{font-size:30px}.login-sub{color:var(--ink-muted)}@media(max-width:900px){.grid-2{grid-template-columns:minmax(0,1fr)}.who-email{display:none}.content{padding:20px 16px 48px}h1{font-size:30px}}@media(max-width:760px){.table-wrap{display:none}.cards-mobile{display:flex}.topbar{padding:12px 16px;gap:12px}.nav{order:3;width:100%;margin-left:0}.who{margin-left:auto}.panel{padding:18px}}
