@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";
:root{--ink:#19223c;--muted:#69738a;--purple:#542de0;--line:#e5e9f1;--surface:#f5f7fb;--warning:#fff5db}*{box-sizing:border-box}body{color:var(--ink);background:var(--surface);margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:16px}h1,h2,h3,.logo{font-family:Manrope,system-ui,sans-serif}h1{letter-spacing:-.04em;margin:8px 0 0;font-size:2rem;line-height:1.2}h2{letter-spacing:-.025em;margin:0 0 10px;font-size:1.15rem}p{line-height:1.6}a{color:var(--purple);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:44px;padding:11px 18px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}input,select{width:100%;color:var(--ink);background:#fff;border:1px solid #d5dce8;border-radius:8px;max-width:100%;min-height:44px;padding:11px 12px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #aa95ff}label{flex-direction:column;gap:7px;min-width:0;font-size:.875rem;font-weight:600;display:flex}form{flex-direction:column;gap:18px;display:flex}small,.small{font-size:.875rem;line-height:1.6}.muted{color:var(--muted)}.block{display:block}.secondary{color:var(--purple);background:#f2eeff;border:1px solid #e2dafa}.ghost{color:var(--muted);background:0 0}.text-button{color:var(--purple);background:0 0;min-height:32px;padding:5px 0;font-size:.875rem}.logo{letter-spacing:-.04em;align-items:center;gap:11px;font-size:1.16rem;font-weight:800;display:flex}.logo small{color:var(--muted);letter-spacing:0;margin-top:2px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:400;display:block}.logo-mark{background:var(--purple);color:#fff;border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.7rem;display:inline-flex}.logo-mark span{color:#b9ed6b;align-self:flex-start;padding-top:3px;font-size:1rem}.auth-page{background:radial-gradient(ellipse at 10% 10%,#e4dcff,transparent 50%),var(--surface);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-width:460px;padding:36px;box-shadow:0 18px 70px #19223c0b}.auth-card .logo{margin-bottom:36px}.auth-card form{margin-top:24px}.auth-card h1{font-size:1.85rem}.auth-card button{width:100%}.auth-footer{color:var(--muted);text-align:center;max-width:450px;font-size:.875rem}.text-link{margin-top:22px;font-size:.875rem;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.75rem;font-weight:700}.shell{grid-template-columns:244px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100dvh;padding:30px 20px;display:flex;position:sticky;top:0}.sidebar .logo{margin:0 8px 44px}.nav-caption{color:#8c95a9;letter-spacing:.08em;text-transform:uppercase;margin:0 12px 12px;font-size:.75rem}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{color:var(--muted);text-align:left;background:0 0;align-items:center;gap:14px;padding:12px 14px;font-size:.94rem;font-weight:500;display:flex}.nav-item span{width:24px;font-size:1.3rem}.nav-item.active{color:var(--purple);background:#f0ebff;font-weight:700}.sidebar-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:24px;display:flex}.sidebar-footer strong,.sidebar-footer small{font-size:.8125rem;display:block}.sidebar-footer small{color:var(--muted)}.sidebar-footer .text-button{text-align:left;width:100%;margin-left:43px}.avatar{background:#edf1fa;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.shell main{width:100%;max-width:1500px;margin:0 auto;padding:36px 40px 20px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.header-pill{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:30px;padding:8px 12px;font-size:.8125rem}.filters{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1.3fr 1fr 1fr;gap:16px;margin-bottom:24px;padding:20px;display:grid}.method{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;font-size:.875rem;display:flex}.badge{color:var(--purple);white-space:normal;background:#ece7ff;border-radius:6px;padding:5px 9px;font-size:.75rem;font-weight:600;display:inline-block}.badge.amber{background:var(--warning);color:#865908}.badge.light{color:var(--muted);background:#f0f3f8}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:11px;padding:22px;display:flex}.stat-card>span{color:var(--muted);font-size:.875rem}.stat-card>strong{letter-spacing:-.04em;overflow-wrap:anywhere;font-family:Manrope,sans-serif;font-size:2rem}.stat-card>strong.unavailable{letter-spacing:0;color:var(--muted);padding:9px 0;font-size:1rem}.stat-card small{color:var(--muted);font-size:.8125rem}.stat-card.featured{background:var(--purple);border-color:var(--purple);color:#fff}.stat-card.featured span,.stat-card.featured small{color:#e0d7ff}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:22px;padding:24px}.panel-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.panel-head .eyebrow{margin-bottom:6px;display:block}.panel-head h2{margin-bottom:0}.notice{color:#4b3890;background:#f1edff;border:1px solid #e4dbff;border-radius:9px;margin-bottom:18px;padding:15px 18px;font-size:.9375rem;line-height:1.6}.notice.warning{background:var(--warning);color:#7b590f;border-color:#efdbac}.empty{text-align:center;color:var(--muted);padding:44px 20px;line-height:1.6}.chart{gap:12px;height:240px;margin:16px 0 26px;padding-top:12px;display:flex}.chart-axis{width:50px;color:var(--muted);flex-direction:column;justify-content:space-between;padding-bottom:31px;font-size:.75rem;display:flex}.bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,#0000 0 48px,#eef1f8 49px 50px);flex:1;align-items:stretch;gap:10px;min-width:0;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;min-width:0;padding-bottom:32px;display:flex;position:relative}.bar{background:#7651e9;border-radius:4px 4px 0 0;min-height:0;max-height:100%;transition:height .2s}.bar.partial{background:repeating-linear-gradient(45deg,#cfc0fa,#cfc0fa 4px,#ebe4ff 4px 8px)}.bar-column>span{text-align:center;width:100%;color:var(--muted);font-size:.75rem;line-height:1.1;position:absolute;bottom:0}.bar-column small{color:#a0a7b6;font-size:.75rem;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;white-space:nowrap;background:#f9faff;padding:14px 12px;font-size:.75rem}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:17px 12px}tbody tr:last-child td{border-bottom:0}td a{white-space:nowrap}.provenance h2{font-size:1rem}.provenance dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.provenance dt{color:var(--muted);margin-bottom:5px;font-size:.8125rem}.provenance dd{margin:0;font-size:.875rem}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tab{color:var(--muted);border:1px solid var(--line);background:0 0}.tab.active{color:var(--purple);background:#fff;border-color:#b4a1ef}.inline-form{flex-flow:wrap;align-items:flex-end;gap:16px;margin-top:20px;display:flex}.inline-form label{flex:1;min-width:180px}.inline-form button{flex:none}.compact{max-width:650px}.organisation-row{border-bottom:1px solid var(--line);flex-flow:wrap;align-items:flex-end;gap:16px;padding:20px 0;display:flex}.organisation-row label:first-child{flex:1;min-width:200px}.organisation-row>span{align-self:center}.aliases{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.aliases>span{border:1px solid var(--line);background:#f9faff;border-radius:7px;align-items:center;gap:12px;padding:5px 10px;font-size:.875rem;display:flex}.aliases button{color:var(--muted);background:0 0;min-height:26px;padding:0;font-size:1.2rem}.membership{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.invite-link{background:#eaf6e0;border:1px solid #c8e3b5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;padding:22px;display:flex}.invite-link>div{flex:1;min-width:200px}.invite-link p{margin:6px 0 10px;font-size:.875rem}.invite-link input{font-size:.875rem}.busy form button{pointer-events:none;opacity:.6}footer{color:#9098aa;text-align:center;padding:18px 0;font-size:.75rem}.loading{border:1px solid var(--line);background:#fff;border-radius:12px}@media (min-width:1600px){.shell main{padding:42px 55px}}@media (max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.shell main{padding:26px 24px}.stats,.filters,.provenance dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:relative}.sidebar .logo{margin:0 0 18px}.nav-caption{display:none}.sidebar nav{flex-direction:row;overflow-x:auto}.nav-item{gap:6px;padding:8px 10px;font-size:.8125rem}.nav-item span{width:auto;font-size:1rem}.sidebar-footer{margin-top:14px;padding-top:10px}.sidebar-footer .text-button{width:auto;margin-left:auto}.shell main{padding:22px 16px}.header-pill{display:none}.page-header{margin-bottom:20px}h1{font-size:1.7rem}.filters{gap:12px;padding:16px}.stats{gap:12px}.stat-card{padding:18px 15px}.stat-card>strong{font-size:1.6rem}.panel{padding:18px 16px}.panel-head{align-items:flex-start}.provenance dl{grid-template-columns:1fr}.bars{gap:5px}.chart-axis{width:35px}.auth-card{padding:26px}.inline-form{flex-direction:column;align-items:stretch}.inline-form label{width:100%}.organisation-row label{flex:1}.chart{height:200px}td,th{padding:12px 8px}.method{align-items:flex-start}}
