:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#eef3f8;--text:#172033;--muted:#64748b;--line:#dce4ef;--primary:#0f766e;--primary-2:#2563eb;--accent:#f59e0b;--danger:#dc2626;--success:#15803d;--shadow:0 18px 50px rgba(23,32,51,.1);--radius:18px}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% -10%,rgba(37,99,235,.12),transparent 34%),var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.theme-dark{--bg:#08111f;--surface:#111c2c;--surface-2:#172438;--text:#ecf3ff;--muted:#9fb0c7;--line:#26364d;--shadow:0 18px 50px rgba(0,0,0,.35)}.theme-fluorescent{--bg:#071a17;--surface:#0b2823;--surface-2:#103a32;--text:#effffb;--muted:#9ee8d7;--line:#1a574b;--primary:#00f5a0;--primary-2:#00d9f5;--accent:#efff00}
.auth-page{display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,440px);padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.auth-card h1{font-size:1.8rem;margin:28px 0 6px}.auth-card>p{color:var(--muted);margin-top:0}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:1.12rem}.brand-lockup small{display:block;color:var(--muted)}.logo-orbit{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:900;box-shadow:0 10px 25px rgba(15,118,110,.24);isolation:isolate}.logo-orbit:before,.logo-orbit:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.8);border-radius:50%;inset:7px -4px;animation:orbit 4s linear infinite;z-index:-1}.logo-orbit:after{inset:-4px 7px;animation-direction:reverse;animation-duration:5s}@keyframes orbit{to{transform:rotate(360deg)}}.logo-orbit span{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08);text-shadow:0 0 14px #fff}}
.stack{display:grid;gap:15px}.stack label{display:grid;gap:6px;font-size:.82rem;font-weight:750}.stack label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);padding:12px 13px;outline:none;transition:.2s}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent);background:var(--surface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 15px;font-weight:800}.button.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 9px 20px rgba(37,99,235,.2)}.button.secondary{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.button.danger{background:var(--danger);color:#fff}.button.success{background:var(--success);color:#fff}.button.ghost{background:transparent;color:var(--muted)}.button.small{padding:7px 10px;font-size:.76rem}.alert{padding:12px 14px;border-radius:12px;margin:16px 0;font-weight:650}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.security-note{font-size:.76rem;color:var(--muted);margin-top:20px;text-align:center}.otp-input{text-align:center;font-size:2rem;font-weight:900;letter-spacing:10px}.countdown{display:grid;place-items:center;margin:20px auto;width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--primary) var(--progress,100%),var(--surface-2) 0);position:relative}.countdown:before{content:"";position:absolute;inset:7px;background:var(--surface);border-radius:50%}.countdown>*{position:relative}.countdown strong{font-size:1.35rem}.countdown small{color:var(--muted);font-size:.68rem}
.app-shell{min-height:100vh;padding-bottom:92px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbar .brand-lockup small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip{display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--surface-2);font-weight:900;color:var(--primary)}.desktop-nav{display:none}.content{padding:18px 14px;max-width:1440px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.page-head h1{font-size:1.55rem;line-height:1.2;margin:0}.page-head p{margin:4px 0 0;color:var(--muted)}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(23,32,51,.05);padding:17px}.stat strong{display:block;font-size:1.42rem;margin-top:6px}.stat small,.muted{color:var(--muted)}.stat .trend{font-size:.72rem;color:var(--success)}.card h2,.card h3{margin:0 0 12px}.section-grid{margin-top:14px}.chart-bars{height:180px;display:flex;align-items:flex-end;gap:10px;padding-top:16px}.chart-bars span{flex:1;min-height:4px;height:var(--h);border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,var(--primary-2),var(--primary));position:relative}.chart-bars span:after{content:attr(data-label);position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.68rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:var(--surface-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td{font-size:.84rem}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.badge.approved,.badge.ongoing,.badge.active,.badge.paid,.badge.released{background:#dcfce7;color:#166534}.badge.pending,.badge.requested,.badge.scheduled,.badge.calculated{background:#fef3c7;color:#92400e}.badge.suspended,.badge.denied,.badge.disabled,.badge.closed,.badge.written_off{background:#fee2e2;color:#991b1b}.badge.completed,.badge.restored,.badge.sent{background:#dbeafe;color:#1d4ed8}.actions{display:flex;gap:7px;flex-wrap:wrap}.form-grid{display:grid;gap:13px}.form-grid label{display:grid;gap:5px;font-size:.75rem;font-weight:750}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:76px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(20px);border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(23,32,51,.08)}.bottom-nav a{display:grid;place-items:center;align-content:center;gap:2px;border-radius:13px;color:var(--muted);font-size:.66rem;font-weight:750}.bottom-nav a span{font-size:1.25rem}.bottom-nav a.active{color:var(--primary);background:var(--surface-2)}.powered{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--muted);font-size:.7rem;margin:24px 0 4px}.powered-logo{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:.52rem;font-weight:900;letter-spacing:-.02em;box-shadow:0 4px 10px rgba(15,118,110,.18)}.modal{border:0;border-radius:20px;background:var(--surface);color:var(--text);width:min(92vw,620px);padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(8,17,31,.64);backdrop-filter:blur(4px)}.modal-body{padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.icon-button{border:0;background:var(--surface-2);color:var(--text);width:34px;height:34px;border-radius:10px}.empty{text-align:center;color:var(--muted);padding:34px}.split{display:flex;gap:12px;justify-content:space-between;align-items:center}.nowrap{white-space:nowrap}
@media(min-width:760px){.content{padding:26px 24px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.section-grid{grid-template-columns:1.35fr .65fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.page-head h1{font-size:1.9rem}}
@media(min-width:1080px){.app-shell{padding:0 0 56px 245px}.topbar{padding:13px 26px}.desktop-nav{display:flex;position:fixed;z-index:25;top:0;left:0;bottom:0;width:245px;padding:22px 15px;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:7px}.desktop-nav .brand-lockup{padding:0 8px 18px;margin-bottom:8px;border-bottom:1px solid var(--line)}.desktop-nav>a{padding:11px 12px;border-radius:12px;color:var(--muted);font-weight:720}.desktop-nav>a.active,.desktop-nav>a:hover{background:var(--surface-2);color:var(--primary)}.desktop-nav .nav-spacer{flex:1}.bottom-nav{display:none}.content{padding:30px}.powered{text-align:left}.topbar>.brand-lockup{display:none}}

.portal-chooser{width:min(100%,620px)}.portal-link{display:grid;gap:3px;transition:.2s}.portal-link:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 12px 30px rgba(15,118,110,.12)}.portal-link small{color:var(--muted)}

.portal-title span,.portal-title small{display:block}.portal-title small{font-size:1rem;color:var(--muted);margin-top:3px}

.nav-icon {
  width: 20px;
  height: 20px;
  display: block;
  flex: 0 0 20px;
}

.desktop-nav > a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bottom-nav .nav-icon {
  width: 22px;
  height: 22px;
}

.icon-button img {
  width: 18px;
  height: 18px;
  display: block;
  margin: auto;
}

.licence-summary{margin-top:14px}.licence-summary .split{align-items:flex-start;flex-wrap:wrap}.licence-summary strong{display:block;margin-top:7px}.licence-terms-form{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr));gap:7px;width:min(620px,80vw);padding-top:7px;border-top:1px solid var(--line)}.licence-terms-form label{display:grid;gap:3px;color:var(--muted)}.licence-terms-form input{padding:7px 8px;border-radius:9px}.licence-terms-form .button{grid-column:1/-1}@media(max-width:759px){.licence-summary .split{display:grid}.licence-terms-form{grid-template-columns:1fr;width:75vw}.licence-terms-form .button{grid-column:auto}}

.referral-filter{margin-bottom:14px}.filter-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filter-form label{display:grid;gap:5px;min-width:min(100%,360px);font-size:.75rem;font-weight:750}.referral-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.referral-summary>div{padding:12px;border-radius:12px;background:var(--surface-2)}.referral-summary small,.referral-summary strong{display:block}.referral-summary small{color:var(--muted)}.referral-summary strong{font-size:1.18rem;margin-top:4px}@media(max-width:759px){.filter-form>*{width:100%}.referral-summary{grid-template-columns:1fr}}

.topbar{gap:24px}.topbar>.brand-lockup{min-width:0;flex:1}.user-chip{margin-left:auto;flex:0 0 auto;padding-left:18px}.user-chip>div{display:grid;line-height:1.2;text-align:right;gap:3px}.user-chip>div strong{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip>div small{display:block}
.insight-grid{display:grid;gap:14px}.chart-card{min-height:300px;overflow:hidden;position:relative;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 45%,var(--surface)))}.chart-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-75px;top:-85px;background:color-mix(in srgb,var(--primary-2) 10%,transparent);pointer-events:none}.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.chart-heading small{color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.08em}.chart-heading h2{margin:3px 0 0}.chart-total{color:var(--primary);font-weight:900;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:6px 10px;white-space:nowrap}.chart-empty{min-height:190px;display:grid;place-items:center;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:25px;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.donut-layout{display:grid;grid-template-columns:minmax(150px,190px) 1fr;align-items:center;gap:24px}.donut-chart{width:180px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--success) 0 var(--active),var(--danger) var(--active) var(--expired),var(--accent) var(--expired) var(--suspended),var(--primary-2) var(--suspended) 360deg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 65%,transparent),0 16px 35px rgba(15,118,110,.16)}.donut-chart:before{content:"";grid-area:1/1;width:62%;aspect-ratio:1;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.donut-chart>div{grid-area:1/1;z-index:1;display:grid;text-align:center}.donut-chart strong{font-size:2rem;line-height:1}.donut-chart small{color:var(--muted);font-weight:700}.chart-legend{display:grid;gap:10px}.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-2)}.legend-dot.active{background:var(--success)}.legend-dot.expired{background:var(--danger)}.legend-dot.suspended{background:var(--accent)}.horizontal-chart,.referral-chart{display:grid;gap:15px}.bar-row{display:grid;gap:5px}.bar-label{display:flex;justify-content:space-between;gap:12px}.bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row small,.referral-bar small{color:var(--muted)}.bar-track{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2));box-shadow:0 0 18px color-mix(in srgb,var(--primary-2) 38%,transparent)}.referral-bar{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,2fr) auto;align-items:center;gap:12px}.referral-bar>div:first-child{display:grid}.referral-bar>.bar-track{width:100%}
@media(min-width:900px){.insight-grid{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr)}.insight-grid .chart-wide:last-child{grid-column:1/-1}}
@media(min-width:1320px){.insight-grid{grid-template-columns:.8fr 1.2fr 1fr}.insight-grid .chart-wide:last-child{grid-column:auto}}
@media(max-width:759px){.topbar{gap:10px}.user-chip{padding-left:6px}.user-chip>div strong{max-width:130px}.user-chip>div small{font-size:.68rem}.donut-layout{grid-template-columns:1fr;justify-items:center}.chart-legend{width:100%}.referral-bar{grid-template-columns:1fr}.referral-bar>strong{text-align:right}}
.activity-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto auto;gap:10px;align-items:end}.activity-filters label{display:grid;gap:5px;font-size:.75rem;font-weight:750}@media(max-width:900px){.activity-filters{grid-template-columns:1fr 1fr}.activity-filters label:last-of-type{grid-column:1/-1}}@media(max-width:560px){.activity-filters{grid-template-columns:1fr}.activity-filters label:last-of-type{grid-column:auto}}

.accounting-filters{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:10px;align-items:end}.accounting-filters label{display:grid;gap:5px;font-size:.75rem;font-weight:750}.accounting-exports{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}table tfoot th{background:var(--surface-2);font-size:.78rem}@media(max-width:1080px){.accounting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-filters label:last-of-type{grid-column:1/-1}}@media(max-width:600px){.accounting-filters{grid-template-columns:1fr}.accounting-filters label:last-of-type{grid-column:auto}.accounting-exports .button{width:100%}}

.cooperative-logo{width:52px;height:52px;display:block;flex:0 0 52px;object-fit:contain;border-radius:16px;padding:4px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 25px rgba(15,118,110,.18)}.logo-preview{display:flex;align-items:center;gap:10px;margin:7px 0;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.logo-preview img{width:58px;height:58px;object-fit:contain;border-radius:10px;background:#fff}.logo-preview small{color:var(--muted)}

.member-filter-card{margin-bottom:14px}.member-filters{display:grid;gap:10px;align-items:end}.member-filters label{display:grid;gap:5px;font-size:.75rem;font-weight:750}.member-result-count{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.member-result-count strong{color:var(--text)}.member-result-count span{margin-left:auto}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:18px 0}.pagination>a:not(.button),.pagination>span:not(.button){display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:.78rem;font-weight:800}.pagination>a.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;color:#fff}.pagination .disabled{opacity:.45;pointer-events:none}@media(min-width:760px){.member-filters{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(180px,1fr) auto auto}}@media(max-width:759px){.member-result-count span{width:100%;margin-left:0}.pagination .button{flex:1}}
.skip-filter-card{margin-bottom:14px}.skip-filter-card .filter-form label{min-width:min(100%,420px)}

.theme-dark input[type="date"],.theme-dark input[type="datetime-local"],.theme-dark input[type="month"],.theme-fluorescent input[type="date"],.theme-fluorescent input[type="datetime-local"],.theme-fluorescent input[type="month"]{color-scheme:dark}.theme-dark input[type="date"]::-webkit-calendar-picker-indicator,.theme-dark input[type="datetime-local"]::-webkit-calendar-picker-indicator,.theme-dark input[type="month"]::-webkit-calendar-picker-indicator,.theme-fluorescent input[type="date"]::-webkit-calendar-picker-indicator,.theme-fluorescent input[type="datetime-local"]::-webkit-calendar-picker-indicator,.theme-fluorescent input[type="month"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.35);opacity:.9;cursor:pointer}