@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600&display=swap");:root{--color-deep-purple:#6b46c1;--color-electric-purple:#8b5cf6;--color-light-purple:#ede9fe;--color-black:#000;--color-ink:#0a0a0a;--color-white:#fff;--color-gray-mid:#767676;--color-gray-light:#f7f7f7;--color-border:#e5e5e5;--color-success:#00c853;--color-error:#ff3737;--font-heading:"Museo Slab",Georgia,serif;--font-body:"Noto Sans",-apple-system,BlinkMacSystemFont,sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px}body{background:var(--color-white);color:var(--color-ink);font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.6}h1{font-size:72px}h1,h2{color:var(--color-black);font-family:var(--font-heading);font-weight:300;line-height:1.1;margin-bottom:var(--spacing-lg)}h2{font-size:48px}h3{font-size:32px;line-height:1.2}h3,h4{color:var(--color-black);font-family:var(--font-heading);font-weight:500;margin-bottom:var(--spacing-md)}h4{font-size:24px;line-height:1.3}p{margin-bottom:var(--spacing-md)}a{color:var(--color-deep-purple);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-electric-purple)}.portal-container{margin:0 auto;max-width:1200px;padding:var(--spacing-xl)}.portal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg) 0}.portal-logo{color:var(--color-black);font-family:var(--font-heading);font-size:14px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.portal-nav{display:flex;gap:var(--spacing-xl)}.portal-nav a{color:var(--color-ink);font-family:var(--font-body);font-size:16px;font-weight:500}.portal-nav a.active,.portal-nav a:hover{color:var(--color-deep-purple)}.portal-user{align-items:center;display:flex;gap:var(--spacing-md)}.portal-user-name{font-weight:500}.dashboard-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--spacing-2xl)}.dashboard-card{background:var(--color-white);border:1px solid var(--color-border);padding:var(--spacing-xl)}.dashboard-card:hover{background:var(--color-gray-light)}.dashboard-card h4{font-family:var(--font-heading);font-size:18px;font-weight:500;margin-bottom:var(--spacing-sm)}.dashboard-card .value{color:var(--color-deep-purple);font-family:var(--font-heading);font-size:48px;font-weight:300;line-height:1}.dashboard-card .label{color:var(--color-gray-mid);font-size:14px;margin-top:var(--spacing-sm)}.stat-row{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--color-light-purple);flex:1;padding:var(--spacing-xl)}.stat-card .stat-value{color:var(--color-deep-purple);font-family:var(--font-heading);font-size:48px;font-weight:300}.stat-card .stat-label{color:var(--color-gray-mid);font-size:14px;margin-top:var(--spacing-xs)}.portal-table{border-collapse:collapse;width:100%}.portal-table th{border-bottom:2px solid var(--color-border);color:var(--color-gray-mid);font-family:var(--font-body);font-size:14px;font-weight:500;padding:var(--spacing-md);text-align:left}.portal-table td{border-bottom:1px solid var(--color-border);padding:var(--spacing-md)}.portal-table tr:hover{background:var(--color-gray-light)}.btn{border:none;cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.05em;padding:var(--spacing-md) var(--spacing-xl);text-transform:uppercase;transition:all .15s ease}.btn-primary{background:var(--color-deep-purple);color:var(--color-white)}.btn-primary:hover{background:var(--color-electric-purple);color:var(--color-white)}.btn-secondary{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-ink)}.btn-secondary:hover{background:var(--color-gray-light);color:var(--color-ink)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:500;margin-bottom:var(--spacing-sm)}.form-input{background:var(--color-white);border:1px solid var(--color-border);font-family:var(--font-body);font-size:16px;padding:var(--spacing-md);transition:border-color .15s ease;width:100%}.form-input:focus{border-color:var(--color-deep-purple);outline:none}.form-select{background:var(--color-white);border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-body);font-size:16px;padding:var(--spacing-md);width:100%}.badge{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.05em;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.badge-success{background:var(--color-success);color:var(--color-white)}.badge-pending{background:var(--color-light-purple);color:var(--color-deep-purple)}.badge-error{background:var(--color-error);color:var(--color-white)}.auth-container{margin:var(--spacing-3xl) auto;max-width:400px;padding:var(--spacing-xl)}.auth-logo{color:var(--color-black);font-size:14px;font-weight:500;letter-spacing:.05em;margin-bottom:var(--spacing-3xl);text-transform:uppercase}.auth-logo,.auth-title{font-family:var(--font-heading)}.auth-title{font-size:32px;font-weight:300;margin-bottom:var(--spacing-lg)}.auth-subtitle{color:var(--color-gray-mid);margin-bottom:var(--spacing-xl)}.magic-link-sent{padding:var(--spacing-2xl);text-align:center}.magic-link-sent .icon{font-size:48px;margin-bottom:var(--spacing-lg)}.empty-state{color:var(--color-gray-mid);padding:var(--spacing-3xl);text-align:center}.empty-state h3{color:var(--color-ink);margin-bottom:var(--spacing-md)}@media (max-width:767px){h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}.portal-header{flex-direction:column;gap:var(--spacing-lg)}.portal-nav{flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.stat-row{flex-direction:column}.dashboard-grid{grid-template-columns:1fr}}