:root{--green-50:#ecf9f5;--green-100:#d3f2ea;--green-200:#a9e5d4;--green-300:#7ad7bd;--green-400:#4cc6a4;--green-500:#1ab78d;--green-600:#159a76;--green-700:#117d60;--green-800:#0e6b52;--green-900:#0a4f3d;--green:var(--green-500);--charcoal:#404041;--white:#ffffff;--neutral-50:#f7f8f8;--neutral-100:#eef0f0;--neutral-200:#e1e4e4;--neutral-300:#cbd0d0;--neutral-400:#a2a9a9;--neutral-500:#7c8383;--neutral-600:#5c6262;--neutral-700:#474b4b;--neutral-800:#404041;--neutral-900:#2b2c2c;--success:#159a76;--warning:#c98a1e;--warning-bg:#fbf3e2;--danger:#cf4b3f;--danger-bg:#fbecea;--info:#2b7c8c;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(43,44,44,0.06);--shadow-sm:0 1px 3px rgba(43,44,44,0.08),0 1px 2px rgba(43,44,44,0.05);--shadow-md:0 4px 12px rgba(43,44,44,0.10);--shadow-lg:0 12px 28px rgba(43,44,44,0.14);--shadow-brand:0 6px 18px rgba(26,183,141,0.28);--ease:cubic-bezier(0.4,0,0.2,1);--dur:160ms;--max-w:1200px;--gutter:24px;--font-sans:"Helvetica Neue",Arial,"Segoe UI",system-ui,sans-serif;--bg:var(--white);--text:var(--charcoal);--muted:var(--neutral-500);--line:var(--neutral-200)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);font-weight:400;color:var(--text);background:var(--bg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--green-200)}a{color:var(--green-700);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.08;color:var(--charcoal);margin:0}h1{font-size:26px;margin-bottom:4px}h2{font-size:17px;margin:26px 0 12px}h3{font-size:14px;margin:14px 0 4px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--green-700)}.page-subtitle{color:var(--muted);margin:0 0 22px}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--charcoal);color:var(--neutral-100);display:flex;flex-direction:column;padding:22px 14px;position:sticky;top:0;height:100vh}.brand-lockup{color:var(--white);display:block;margin-bottom:26px;padding:0 6px}.brand-wordmark{display:block}.brand-lockup strong{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em}.brand-lockup small{display:block;color:var(--green-300);margin-top:3px}.brand-lockup small,.nav-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.nav-section-label{color:var(--neutral-400);margin:8px 8px 6px}.nav-link{display:block;padding:9px 10px;border-radius:var(--radius-md);color:var(--neutral-100);margin-bottom:2px;border-left:2px solid transparent;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.nav-link:hover{background:rgba(26,183,141,.16);text-decoration:none}.nav-link.active{background:rgba(26,183,141,.2);border-left-color:var(--green-500);color:var(--white)}.sidebar-footer{margin-top:auto;font-size:12px}.signed-in-card{background:rgba(255,255,255,.06);border-radius:var(--radius-md);padding:9px 10px;margin-bottom:8px}.signed-in-card span{color:var(--neutral-400);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.signed-in-card strong{font-weight:800}.main-content{flex:1 1;padding:30px 34px;max-width:var(--max-w)}.button,.sign-out-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green-500);color:var(--white);border:2px solid transparent;border-radius:var(--radius-md);padding:9px 16px;font-family:var(--font-sans);font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.button:hover,.sign-out-button:hover{background:var(--green-600);text-decoration:none}.button:active,.sign-out-button:active{background:var(--green-700);transform:translateY(1px)}.button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(26,183,141,.3)}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{background:var(--white);color:var(--green-700);border-color:var(--neutral-300)}.button.secondary:hover{background:var(--green-50);border-color:var(--green-500)}.sign-out-button{width:100%;background:transparent;border-color:rgba(255,255,255,.25);color:var(--white)}.sign-out-button:hover{background:rgba(26,183,141,.2);border-color:var(--green-500)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card--accent{border-top:3px solid var(--green-500)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stat{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green-500);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.stat .value{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--charcoal)}.stat .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.06em}tbody tr:hover td{background:var(--neutral-50)}.tag{display:inline-block;padding:2px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:800;letter-spacing:.02em;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200)}.tag.warn{background:var(--warning-bg);color:#8a6413;border-color:#ecc98a}.tag.neutral{background:var(--neutral-100);color:var(--neutral-600);border-color:var(--neutral-200)}.notice{background:var(--warning-bg);border:1px solid #ecc98a;border-left:3px solid var(--warning);border-radius:var(--radius-md);padding:12px 16px;color:#6b5111;margin-bottom:16px;font-size:13px}.notice code,code{font-family:SF Mono,Consolas,monospace;font-size:.92em;background:var(--neutral-100);padding:1px 5px;border-radius:var(--radius-sm)}input,select,textarea{font-family:var(--font-sans);font-size:14px;color:var(--text);background:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-md);padding:10px 12px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(26,183,141,.25)}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--charcoal);position:relative;overflow:hidden}.login-wrap:before{content:"";position:absolute;right:-180px;bottom:-200px;width:680px;height:680px;background:url(/brand/crescent-swoosh-white.png) 50%/contain no-repeat;opacity:.06;pointer-events:none}.login-card{position:relative;z-index:1;background:var(--white);border-radius:var(--radius-lg);border-top:3px solid var(--green-500);padding:34px;width:372px;box-shadow:var(--shadow-lg)}.login-card h1{margin-bottom:4px}.login-card label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 5px}.login-card input{width:100%}.login-card .button{width:100%;margin-top:20px;padding:11px}.login-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-md);padding:10px;font-size:13px;margin-top:12px}.area-back{display:inline-block;color:var(--neutral-400);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:0 6px;margin-bottom:16px}.area-back:hover{color:var(--green-300);text-decoration:none}.hub{max-width:980px;margin:0 auto;padding:40px 34px 60px}.hub-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}.hub-brand{display:inline-flex}.hub-account{display:flex;align-items:center;gap:14px}.hub-account .page-subtitle{margin:0}.hub-hero{margin-bottom:26px}.hub-hero h1{font-size:34px;margin:6px 0}.hub-hero .page-subtitle{margin:0}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.hub-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green-500);border-radius:var(--radius-lg);padding:22px 22px 20px;box-shadow:var(--shadow-sm);color:var(--text);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.hub-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.hub-card h2{margin:8px 0;font-size:22px}.hub-card p{color:var(--muted);font-size:13px;margin:0 0 18px;flex:1 1}.hub-card-cta{font-weight:800;color:var(--green-700);font-size:13px}.hub-card--disabled{border-top-color:var(--neutral-300);opacity:.72;cursor:not-allowed;box-shadow:none}.hub-card--disabled:hover{transform:none;box-shadow:none}.hub-card--disabled .hub-card-cta{color:var(--muted)}