@font-face{font-family:Inter;src:url(/fonts/InterVariable.ttf) format("truetype-variations"),url(/fonts/InterVariable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--bc-font-sans:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;--bc-font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bc-fs-11:11px;--bc-fs-12:12px;--bc-fs-13:13px;--bc-fs-14:14px;--bc-fs-15:15px;--bc-fs-16:16px;--bc-fs-18:18px;--bc-fs-20:20px;--bc-fs-24:24px;--bc-fs-32:32px;--bc-fs-40:40px;--bc-fs-48:48px;--bc-r-1:3px;--bc-r-2:6px;--bc-r-3:8px;--bc-r-4:10px;--bc-r-pill:9999px;--bc-s-1:4px;--bc-s-2:8px;--bc-s-3:12px;--bc-s-4:16px;--bc-s-5:20px;--bc-s-6:24px;--bc-s-7:32px;--bc-s-8:48px;--bc-s-9:64px;--bc-ease:cubic-bezier(0.32,0.72,0,1);--bc-ease-out:cubic-bezier(0.16,1,0.3,1);--bc-t-fast:120ms;--bc-t-med:220ms;--bc-t-slow:400ms;--bc-teal-50:#eef0f6;--bc-teal-100:#d6dbe8;--bc-teal-200:#aab3ca;--bc-teal-600:#3e4c75;--bc-teal-700:#2f3a5c;--bc-teal-800:#222a45;--bc-teal-900:#161c30;--bc-amber-50:#fbf4e8;--bc-amber-100:#f5e5c7;--bc-amber-200:#edce91;--bc-amber-300:#dfae56;--bc-amber-400:#d19332;--bc-amber-500:#c07820;--bc-amber-600:#a05f17;--bc-amber-700:#7d4611;--bc-amber-800:#5d330b;--bc-amber-900:#3f2207;--bc-plat-50:#f2f5f7;--bc-plat-100:#e2e8ec;--bc-plat-200:#c8d1d9;--bc-plat-300:#a8b5bf;--bc-plat-400:#8693a0;--bc-plat-500:#6b7785;--bc-plat-600:#525c68;--bc-plat-700:#3d4652;--bc-plat-800:#2a313c;--bc-plat-900:#1a1f27;--bc-green-400:#4ade80;--bc-green-500:#22a55a;--bc-green-600:#15864a;--bc-red-400:#ef7070;--bc-red-500:#d84a4a;--bc-red-600:#b83838;--bc-gold-400:#e6b24a;--bc-gold-500:#c89224}:root,html[data-theme=dark]{color-scheme:dark;--bc-bg-0:#0a0d11;--bc-bg-1:#0e1217;--bc-bg-2:#141921;--bc-bg-3:#1b2029;--bc-bg-4:#232834;--bc-bg-modal:#151a23;--bc-line-1:rgba(255,255,255,0.06);--bc-line-2:rgba(255,255,255,0.10);--bc-line-3:rgba(255,255,255,0.16);--bc-text-1:#ebedf0;--bc-text-2:#9aa3ad;--bc-text-3:#6b7380;--bc-text-on-accent:#f2f4fb;--bc-link:var(--bc-plat-300);--bc-link-hover:var(--bc-plat-100);--bc-shadow-1:0 1px 0 rgba(0,0,0,0.4);--bc-shadow-2:0 2px 4px rgba(0,0,0,0.30),0 1px 0 rgba(255,255,255,0.04) inset;--bc-shadow-3:0 8px 24px rgba(0,0,0,0.42),0 1px 0 rgba(255,255,255,0.05) inset;--bc-shadow-modal:0 24px 64px rgba(0,0,0,0.55),0 1px 0 rgba(255,255,255,0.06) inset;--bc-glass-wash:rgba(76,92,138,0.08);--bc-glass-border:rgba(127,140,172,0.22)}html[data-theme=light]{color-scheme:light;--bc-bg-0:#f2f4f6;--bc-bg-1:#f8f9fb;--bc-bg-2:#ffffff;--bc-bg-3:#f2f4f6;--bc-bg-4:#e8ecf0;--bc-bg-modal:#ffffff;--bc-line-1:rgba(15,22,33,0.06);--bc-line-2:rgba(15,22,33,0.10);--bc-line-3:rgba(15,22,33,0.16);--bc-text-1:#0e1520;--bc-text-2:#4c5663;--bc-text-3:#8693a0;--bc-text-on-accent:#ffffff;--bc-link:var(--bc-teal-600);--bc-link-hover:var(--bc-teal-700);--bc-shadow-1:0 1px 0 rgba(15,22,33,0.04);--bc-shadow-2:0 1px 2px rgba(15,22,33,0.06),0 1px 0 rgba(15,22,33,0.04);--bc-shadow-3:0 4px 12px rgba(15,22,33,0.08),0 1px 0 rgba(15,22,33,0.05);--bc-shadow-modal:0 16px 48px rgba(15,22,33,0.14),0 1px 0 rgba(15,22,33,0.05);--bc-glass-wash:rgba(76,92,138,0.05);--bc-glass-border:rgba(76,92,138,0.18)}:root,body.role-builder{--bc-accent-50:var(--bc-teal-50);--bc-accent-100:var(--bc-teal-100);--bc-accent-300:var(--bc-teal-300);--bc-accent-400:var(--bc-teal-400);--bc-accent-500:var(--bc-teal-500);--bc-accent-600:var(--bc-teal-600);--bc-accent-700:var(--bc-teal-700);--bc-accent-wash:rgba(76,92,138,0.12);--bc-accent-wash-2:rgba(76,92,138,0.20);--bc-accent-border:rgba(127,140,172,0.36);--bc-accent-text-on:#f2f4fb}body.role-vendor{--bc-accent-50:var(--bc-amber-50);--bc-accent-100:var(--bc-amber-100);--bc-accent-300:var(--bc-amber-300);--bc-accent-400:var(--bc-amber-400);--bc-accent-500:var(--bc-amber-500);--bc-accent-600:var(--bc-amber-600);--bc-accent-700:var(--bc-amber-700);--bc-accent-wash:rgba(192,120,32,0.10);--bc-accent-wash-2:rgba(192,120,32,0.18);--bc-accent-border:rgba(192,120,32,0.32);--bc-accent-text-on:#1a0f03}body.density-comfortable{--bc-row-h:48px;--bc-pad-y:14px;--bc-pad-x:18px}body.density-compact{--bc-row-h:36px;--bc-pad-y:8px;--bc-pad-x:12px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--bc-font-sans);font-feature-settings:"cv11","ss01","cv02";-webkit-font-smoothing:antialiased;background:var(--bc-bg-1);color:var(--bc-text-1);font-size:var(--bc-fs-14)}.bc-tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","cv11"}.bc-label{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--bc-text-3)}html[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}html[data-theme=dark] ::-webkit-scrollbar-track{background:transparent}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--bc-bg-3);border-radius:6px;border:2px solid var(--bc-bg-1)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--bc-bg-4)}:focus-visible{outline:2px solid var(--bc-accent-500);border-radius:var(--bc-r-1)}::-moz-selection{background:var(--bc-accent-wash-2);color:var(--bc-text-1)}::selection{background:var(--bc-accent-wash-2);color:var(--bc-text-1)}@keyframes bcPulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes bcSlideIn{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes bcFade{0%{opacity:0}to{opacity:1}}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-background:var(--bc-bg-1);--color-surface:var(--bc-bg-2);--color-surface-elevated:var(--bc-bg-3);--color-surface-secondary:var(--bc-bg-2);--color-text-primary:var(--bc-text-1);--color-text-secondary:var(--bc-text-2);--color-text-tertiary:var(--bc-text-3);--color-text-link:var(--bc-accent-400);--color-accent:var(--bc-accent-500);--color-accent-hover:var(--bc-accent-400);--color-accent-light:var(--bc-accent-wash);--color-success:var(--bc-green-500);--color-warning:var(--bc-gold-500);--color-error:var(--bc-red-500);--color-border:var(--bc-line-1);--color-border-strong:var(--bc-line-2);--shadow-sm:var(--bc-shadow-1);--shadow-md:var(--bc-shadow-2);--shadow-lg:var(--bc-shadow-3);--shadow-xl:var(--bc-shadow-modal);--glass-background:rgba(20,25,33,0.72);--glass-border:rgba(255,255,255,0.08);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:var(--bc-r-1);--radius-md:var(--bc-r-2);--radius-lg:var(--bc-r-3);--radius-xl:var(--bc-r-4);--radius-full:var(--bc-r-pill);--font-family:var(--bc-font-sans);--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:48px;--transition-fast:var(--bc-t-fast) var(--bc-ease);--transition-normal:var(--bc-t-med) var(--bc-ease);--transition-slow:var(--bc-t-slow) var(--bc-ease)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,html{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:400;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;color:#ffffff}h1{font-size:var(--font-size-4xl);font-weight:700;line-height:1.1}h2{font-size:var(--font-size-3xl);line-height:1.15}h3{font-size:var(--font-size-2xl);line-height:1.2}h4{font-size:var(--font-size-xl);line-height:1.25}h5{font-size:var(--font-size-lg);line-height:1.3}p{color:var(--color-text-secondary);line-height:1.6}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;line-height:1.4;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--color-accent);color:white}.btn-primary:hover{background:var(--color-accent-hover);transform:scale(1.02)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--color-surface-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-accent)}.btn-ghost:hover{background:var(--color-accent-light)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card-elevated{background:var(--color-surface-elevated);box-shadow:var(--shadow-lg);border:none}.card-glass{background:var(--glass-background);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}input,select,textarea{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-tertiary)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.container{width:100%;max-width:1600px;margin:0 auto;padding:0 var(--space-lg)}.container-lg{max-width:1800px}.container-fluid,.container-xl{max-width:100%;padding:0 var(--space-xl)}.container-fluid{width:100%}.container-sm{max-width:800px}.navbar{position:sticky;top:0;z-index:100;background:var(--glass-background);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg)}.navbar-content{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto}.navbar-logo{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);text-decoration:none;letter-spacing:-.02em}.navbar-nav{display:flex;align-items:center;gap:var(--space-lg)}.navbar-link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.navbar-link:hover{color:var(--color-text-primary);text-decoration:none}.hero{padding:var(--space-3xl) 0;text-align:center}.hero h1{max-width:800px;margin:0 auto var(--space-lg)}.hero p{font-size:var(--font-size-xl);max-width:600px;margin:0 auto var(--space-xl)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);padding:var(--space-2xl) 0}.feature-card{padding:var(--space-xl);text-align:left}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent),#5856D6);border-radius:var(--radius-md);font-size:24px;margin-bottom:var(--space-md)}.feature-card h3{margin-bottom:var(--space-sm)}.section{padding:var(--space-3xl) 0}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-header h2{margin-bottom:var(--space-sm)}.footer{background:var(--color-surface-secondary);border-top:1px solid var(--color-border);padding:var(--space-2xl) var(--space-lg);margin-top:auto}.footer-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap}.footer-content,.footer-links{display:flex;gap:var(--space-lg)}.footer-link{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-copyright{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.auth-container{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#fafafa,#f0f0f5)}.auth-wrapper{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 80px)}@media (max-width:968px){.auth-wrapper{grid-template-columns:1fr}.auth-hero{display:none}}.auth-hero{background:linear-gradient(145deg,var(--color-accent) 0,#0051a8 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);position:relative;overflow:hidden}.auth-hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 60%);animation:pulse-slow 15s ease-in-out infinite}@keyframes pulse-slow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}}.auth-hero-content{position:relative;z-index:1;text-align:center;color:white;max-width:400px}.auth-hero-icon{width:80px;height:80px;background:rgba(255,255,255,.2);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl);backdrop-filter:blur(10px);font-size:40px}.auth-hero h2{font-size:32px;font-weight:700;margin-bottom:var(--space-md);letter-spacing:-.5px}.auth-hero p{font-size:18px;opacity:.9;line-height:1.6}.auth-hero-features{margin-top:var(--space-2xl);text-align:left}.auth-hero-feature{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;font-size:15px;opacity:.9}.auth-hero-feature span{width:24px;height:24px;background:rgba(255,255,255,.2);border-radius:50%;font-size:12px}.auth-hero-feature span,.auth-main{display:flex;align-items:center;justify-content:center}.auth-main{padding:var(--space-2xl);background:white}.auth-card{width:100%;max-width:400px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-logo{background:linear-gradient(135deg,var(--color-accent),#0051a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-lg);display:block}.auth-header h1,.auth-logo{font-size:28px;font-weight:700}.auth-header h1{margin-bottom:var(--space-xs);color:var(--color-text-primary);letter-spacing:-.5px}.auth-header p{color:var(--color-text-secondary);font-size:15px}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.auth-form .form-group{position:relative}.auth-form label{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{width:100%;padding:14px 16px;font-size:16px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-surface);transition:all .2s ease}.auth-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px rgba(0,122,255,.1);background:white}.auth-form input::-moz-placeholder{color:var(--color-text-tertiary)}.auth-form input::placeholder{color:var(--color-text-tertiary)}.auth-remember{display:flex;align-items:center;justify-content:space-between;font-size:14px}.auth-remember label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;margin:0;font-weight:400}.auth-remember input[type=checkbox]{width:18px;height:18px;border-radius:5px;accent-color:var(--color-accent);cursor:pointer}.auth-form .btn-primary{padding:16px;font-size:16px;font-weight:600;border-radius:12px;margin-top:var(--space-sm)}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--color-text-tertiary);font-size:13px}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--color-border)}.auth-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border);font-size:14px;color:var(--color-text-secondary)}.auth-footer a{color:var(--color-accent);font-weight:500}.auth-demo-box{margin-top:var(--space-lg);padding:var(--space-md);background:linear-gradient(135deg,#f0f7ff,#e8f4fd);border-radius:12px;border:1px solid rgba(0,122,255,.1);font-size:13px}.auth-demo-box h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin-bottom:var(--space-sm)}.auth-demo-box p{margin:4px 0;color:var(--color-text-secondary)}.auth-demo-box code{background:rgba(0,122,255,.1);padding:2px 6px;border-radius:4px;font-size:12px;color:var(--color-text-primary)}.admin-dashboard{display:flex;min-height:100vh}.admin-dashboard-sidebar{width:260px;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-lg);position:sticky;top:0;height:100vh;overflow-y:auto}.admin-dashboard-main{flex:1;padding:var(--space-xl);background:var(--color-background)}.admin-dashboard-header{margin-bottom:var(--space-xl)}.admin-dashboard-header h1{font-size:var(--font-size-2xl)}.table-container{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;width:100%}table{width:100%;border-collapse:collapse;table-layout:auto}th{text-align:left;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-secondary)}td,th{padding:var(--space-md);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}.badge,tr:hover td{background:var(--color-surface-secondary)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-full);color:var(--color-text-secondary)}.badge-success{background:rgba(52,199,89,.15);color:var(--color-success)}.badge-warning{background:rgba(255,149,0,.15);color:var(--color-warning)}.badge-error{background:rgba(255,59,48,.15);color:var(--color-error)}.badge-accent{background:var(--color-accent-light);color:var(--color-accent)}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-tertiary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-md);opacity:.5}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:rgba(255,59,48,.1);border:1px solid rgba(255,59,48,.2);border-radius:var(--radius-sm);color:var(--color-error)}.error-message,.success-message{padding:var(--space-md);font-size:var(--font-size-sm)}.success-message{background:rgba(52,199,89,.1);border:1px solid rgba(52,199,89,.2);border-radius:var(--radius-sm);color:var(--color-success)}.divider{height:1px;background:var(--color-border);margin:var(--space-lg) 0}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),#5856D6);display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:var(--font-size-sm)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.glass-panel{background:var(--glass-background);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass-header{background:var(--glass-background);border-bottom:1px solid var(--glass-border);padding:var(--space-lg)}.glass-header,.glass-input{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-input{background:var(--glass-background)!important;border:1px solid var(--glass-border)!important}a,button{transition:all .2s ease}button:active{transform:scale(.98)}:focus-visible{outline:2px solid rgba(96,111,148,.5);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.main,.main-content{animation:fadeIn .3s ease}tr:hover td{background:rgba(255,255,255,.03)}@media (max-width:768px){:root{--font-size-4xl:36px;--font-size-3xl:28px;--font-size-2xl:22px}.navbar-nav{gap:var(--space-md)}.features-grid{grid-template-columns:1fr}.admin-dashboard{flex-direction:column}.admin-dashboard-sidebar{width:100%;height:auto;position:relative}.footer-content{flex-direction:column;text-align:center}}:root{--bc-ink-900:#0b0d10;--bc-ink-800:#10131a;--bc-ink-700:#161a22;--bc-ink-600:#1d222c;--bc-line-1:rgba(148,163,184,0.08);--bc-line-2:rgba(148,163,184,0.14);--bc-line-3:rgba(148,163,184,0.22);--bc-text-1:#eef0f3;--bc-text-2:#a8afba;--bc-text-3:#6b7280;--bc-text-muted:#8b93a0;--bc-teal-500:#4c5c8a;--bc-teal-400:#606f94;--bc-teal-300:#7f8cac;--bc-teal-wash:rgba(76,92,138,0.10);--bc-ember:#c07820;--bc-rose:#f87171;--bc-emerald:#34d399;--bc-slate:#94a3b8;--bc-shadow-1:0 1px 2px rgba(0,0,0,0.30);--bc-shadow-2:0 8px 24px rgba(0,0,0,0.35);--bc-shadow-3:0 18px 50px rgba(0,0,0,0.45);--bc-radius-sm:8px;--bc-radius:14px;--bc-radius-lg:18px;--bc-radius-pill:9999px;--bc-duration:180ms;--bc-ease:cubic-bezier(0.22,0.61,0.36,1);--bc-noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.bc-focus-ring:focus-visible,.bc-focusable:focus-visible{outline:2px solid var(--bc-teal-400);outline-offset:2px;border-radius:inherit}.bc-glass{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012) 60%),linear-gradient(180deg,rgba(76,92,138,.04),transparent 55%);border:1px solid var(--bc-line-2);border-radius:var(--bc-radius);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);box-shadow:var(--bc-shadow-2),inset 0 1px 0 rgba(255,255,255,.04)}.bc-card{background:var(--bc-ink-800);border:1px solid var(--bc-line-1);border-radius:var(--bc-radius);transition:border-color var(--bc-duration) var(--bc-ease),background var(--bc-duration) var(--bc-ease),transform var(--bc-duration) var(--bc-ease)}.bc-card:hover{border-color:var(--bc-line-2);background:var(--bc-ink-700)}.bc-card--soft,.bc-noise-layer{pointer-events:none}.bc-noise-layer{position:fixed;inset:0;z-index:1;background-image:var(--bc-noise);opacity:.55;mix-blend-mode:overlay}.bc-gradient-text{background:linear-gradient(135deg,#f1f5f9,#cbd5e1 45%,#7f8cac);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.bc-kbd{display:inline-flex;align-items:center;gap:.25rem;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:500;color:var(--bc-text-2);background:rgba(148,163,184,.1);border:1px solid var(--bc-line-2);border-radius:6px;line-height:1}@keyframes bc-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bc-stagger{opacity:0;animation:bc-slide-up .42s var(--bc-ease) forwards}.bc-stagger[data-stagger-index="0"]{animation-delay:0s}.bc-stagger[data-stagger-index="1"]{animation-delay:60ms}.bc-stagger[data-stagger-index="2"]{animation-delay:.12s}.bc-stagger[data-stagger-index="3"]{animation-delay:.18s}.bc-stagger[data-stagger-index="4"]{animation-delay:.24s}.bc-stagger[data-stagger-index="5"]{animation-delay:.3s}@media (prefers-reduced-motion:reduce){.bc-stagger{animation:none;opacity:1}}body.role-builder,body.role-vendor{background:var(--bc-bg-1)}body.role-builder .dashboard,body.role-builder .page,body.role-vendor .dashboard,body.role-vendor .page{background:transparent!important;min-height:auto}body.role-builder .bc-noise-layer,body.role-builder .bg-animation,body.role-builder .bg-gradient,body.role-builder .bg-wash,body.role-builder .gradient-orb,body.role-vendor .bc-noise-layer,body.role-vendor .bg-animation,body.role-vendor .bg-gradient,body.role-vendor .bg-wash,body.role-vendor .gradient-orb{display:none!important}body.role-builder main,body.role-vendor main{background:var(--bc-bg-1)}body.role-builder .greeting,body.role-builder .page-title,body.role-builder h1.title,body.role-vendor .greeting,body.role-vendor .page-title,body.role-vendor h1.title{font-size:24px;font-weight:650;letter-spacing:-.015em;line-height:1.2;color:var(--bc-text-1)}body.role-builder .subtitle,body.role-vendor .subtitle{font-size:13.5px;color:var(--bc-text-2);font-weight:400}body.role-builder .section-title,body.role-builder h2,body.role-vendor .section-title,body.role-vendor h2{font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--bc-text-1)}body.role-builder .bc-gradient-text,body.role-vendor .bc-gradient-text{background:linear-gradient(135deg,var(--bc-text-1) 0,var(--bc-text-2) 60%,var(--bc-accent-300) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}body.role-builder .header-crumb,body.role-vendor .header-crumb{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bc-text-3)}body.role-builder .analytics-section,body.role-builder .bc-glass,body.role-builder .card,body.role-builder .glass-card,body.role-builder .join-builder-card,body.role-builder .perf-card,body.role-builder .project-card,body.role-builder .ranking-card,body.role-builder .setup-nudge,body.role-builder .stat-card,body.role-builder .trade-card,body.role-builder .vendor-card,body.role-vendor .analytics-section,body.role-vendor .bc-glass,body.role-vendor .card,body.role-vendor .glass-card,body.role-vendor .join-builder-card,body.role-vendor .perf-card,body.role-vendor .project-card,body.role-vendor .ranking-card,body.role-vendor .setup-nudge,body.role-vendor .stat-card,body.role-vendor .trade-card,body.role-vendor .vendor-card{background:var(--bc-bg-2)!important;border:1px solid var(--bc-line-1)!important;border-radius:var(--bc-r-2)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}body.role-builder .perf-card:hover,body.role-builder .project-card:hover,body.role-builder .stat-card:hover,body.role-builder .trade-card:hover,body.role-builder .vendor-card:hover,body.role-vendor .perf-card:hover,body.role-vendor .project-card:hover,body.role-vendor .stat-card:hover,body.role-vendor .trade-card:hover,body.role-vendor .vendor-card:hover{background:var(--bc-bg-3)!important;border-color:var(--bc-line-2)!important;transform:none!important;box-shadow:none!important}body.role-builder .ranking-card.top-vendor,body.role-builder .vendor-card.lowest,body.role-vendor .ranking-card.top-vendor,body.role-vendor .vendor-card.lowest{background:var(--bc-accent-wash)!important;border-color:var(--bc-accent-border)!important}body.role-builder .count-num,body.role-builder .perf-card-value,body.role-builder .stat-value,body.role-vendor .count-num,body.role-vendor .perf-card-value,body.role-vendor .stat-value{font-variant-numeric:tabular-nums!important;font-weight:600!important;letter-spacing:-.02em!important;color:var(--bc-text-1)!important}body.role-builder .count-label,body.role-builder .perf-card-label,body.role-builder .perf-card-subtitle,body.role-builder .stat-label,body.role-builder .stat-subtitle,body.role-vendor .count-label,body.role-vendor .perf-card-label,body.role-vendor .perf-card-subtitle,body.role-vendor .stat-label,body.role-vendor .stat-subtitle{font-size:10.5px!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--bc-text-3)!important}body.role-builder .stat-icon,body.role-vendor .stat-icon{background:transparent!important;color:var(--bc-text-3)!important;border-radius:var(--bc-r-2)!important;width:24px!important;height:24px!important;font-size:.875rem!important}body.role-builder .btn-primary,body.role-builder .primary-btn,body.role-builder .primary-cta,body.role-builder a.primary-btn,body.role-builder button.primary,body.role-vendor .btn-primary,body.role-vendor .primary-btn,body.role-vendor .primary-cta,body.role-vendor a.primary-btn,body.role-vendor button.primary{background:var(--bc-accent-500)!important;background-image:none!important;color:var(--bc-accent-text-on)!important;border:1px solid var(--bc-accent-600)!important;border-radius:var(--bc-r-2)!important;padding:8px 14px!important;font-size:13px!important;font-weight:550!important;letter-spacing:-.005em!important;box-shadow:none!important;text-shadow:none!important;transition:background var(--bc-t-fast) var(--bc-ease),border-color var(--bc-t-fast) var(--bc-ease)!important;transform:none!important}body.role-builder .btn-primary:hover,body.role-builder .primary-btn:hover,body.role-builder .primary-cta:hover,body.role-builder button.primary:hover,body.role-vendor .btn-primary:hover,body.role-vendor .primary-btn:hover,body.role-vendor .primary-cta:hover,body.role-vendor button.primary:hover{background:var(--bc-accent-400)!important;border-color:var(--bc-accent-500)!important;transform:none!important;box-shadow:none!important}body.role-builder .btn-secondary,body.role-builder button.secondary,body.role-vendor .btn-secondary{background:var(--bc-bg-2)!important;color:var(--bc-text-1)!important;border:1px solid var(--bc-line-2)!important;border-radius:var(--bc-r-2)!important;box-shadow:none!important}body.role-builder .btn-secondary:hover,body.role-vendor .btn-secondary:hover{background:var(--bc-bg-3)!important}body.role-builder .btn-submit,body.role-builder .submit-btn,body.role-vendor .btn-submit,body.role-vendor .submit-btn{background:var(--bc-accent-500)!important;background-image:none!important;color:var(--bc-accent-text-on)!important;border:1px solid var(--bc-accent-600)!important;border-radius:var(--bc-r-2)!important;box-shadow:none!important}body.role-builder .badge,body.role-builder .breakdown-badge,body.role-builder .status-badge,body.role-builder .trade-badge,body.role-vendor .breakdown-badge,body.role-vendor .status-badge,body.role-vendor .trade-badge{font-size:11px!important;font-weight:550!important;letter-spacing:.01em!important;padding:2px 8px!important;border-radius:var(--bc-r-pill)!important;border-width:1px!important;border-style:solid!important}body.role-builder .breakdown-badge.template,body.role-vendor .breakdown-badge.template{background:var(--bc-accent-wash)!important;color:var(--bc-accent-400)!important;border-color:var(--bc-accent-border)!important}body.role-builder .breakdown-badge.vendor,body.role-vendor .breakdown-badge.vendor{background:rgba(168,181,191,.08)!important;color:var(--bc-plat-200)!important;border-color:rgba(168,181,191,.22)!important}body.role-builder .trade-badge,body.role-vendor .trade-badge{background:var(--bc-bg-3)!important;color:var(--bc-text-2)!important;border-color:var(--bc-line-2)!important}body.role-builder .status-badge.pending,body.role-builder .status-badge.progress,body.role-vendor .status-badge.pending,body.role-vendor .status-badge.progress{background:rgba(200,146,36,.1)!important;color:var(--bc-gold-500)!important;border-color:rgba(200,146,36,.24)!important}body.role-builder .status-badge.approved,body.role-builder .status-badge.awarded,body.role-vendor .status-badge.approved,body.role-vendor .status-badge.awarded{background:rgba(34,165,90,.1)!important;color:var(--bc-green-500)!important;border-color:rgba(34,165,90,.24)!important}body.role-builder .status-badge.rejected,body.role-vendor .status-badge.rejected{background:rgba(216,74,74,.1)!important;color:var(--bc-red-500)!important;border-color:rgba(216,74,74,.24)!important}body.role-builder .filter-select,body.role-builder .search-input,body.role-builder input[type=email],body.role-builder input[type=number],body.role-builder input[type=search],body.role-builder input[type=tel],body.role-builder input[type=text],body.role-builder input[type=url],body.role-builder select,body.role-builder textarea,body.role-vendor .filter-select,body.role-vendor .search-input,body.role-vendor input[type=email],body.role-vendor input[type=number],body.role-vendor input[type=search],body.role-vendor input[type=tel],body.role-vendor input[type=text],body.role-vendor input[type=url],body.role-vendor select,body.role-vendor textarea{background:var(--bc-bg-1)!important;border:1px solid var(--bc-line-2)!important;border-radius:var(--bc-r-2)!important;color:var(--bc-text-1)!important;font-family:var(--bc-font-sans)!important;font-size:13px!important;transition:border-color var(--bc-t-fast)!important}body.role-builder input:focus,body.role-builder select:focus,body.role-builder textarea:focus,body.role-vendor input:focus,body.role-vendor select:focus,body.role-vendor textarea:focus{outline:none!important;border-color:var(--bc-accent-500)!important;box-shadow:0 0 0 2px var(--bc-accent-wash)!important}body.role-builder .search-box,body.role-vendor .search-box{background:var(--bc-bg-1)!important;border:1px solid var(--bc-line-2)!important;border-radius:var(--bc-r-2)!important}body.role-builder .table,body.role-builder table,body.role-vendor table{border-collapse:collapse;width:100%;background:var(--bc-bg-2)}body.role-builder .table th,body.role-builder table th,body.role-vendor .table th,body.role-vendor table th{background:var(--bc-bg-3)!important;color:var(--bc-text-3)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;border-bottom:1px solid var(--bc-line-1)!important;padding:10px 14px!important}body.role-builder .table td,body.role-builder table td,body.role-vendor .table td,body.role-vendor table td{border-top:1px solid var(--bc-line-1)!important;padding:10px 14px!important;font-size:13px!important;color:var(--bc-text-1)!important}body.role-builder .table tr:hover td,body.role-builder table tr:hover td,body.role-vendor .table tr:hover td,body.role-vendor table tr:hover td{background:var(--bc-bg-3)!important}body.role-builder .tabs,body.role-vendor .tabs{border-bottom:1px solid var(--bc-line-1)!important}body.role-builder .tab,body.role-vendor .tab{color:var(--bc-text-2)!important;background:transparent!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:10px 14px!important;font-size:13px!important;font-weight:500!important}body.role-builder .tab.active,body.role-vendor .tab.active{color:var(--bc-text-1)!important;background:transparent!important;border-bottom-color:var(--bc-accent-500)!important;font-weight:600!important}body.role-builder .tab:hover:not(.active),body.role-vendor .tab:hover:not(.active){background:var(--bc-bg-3)!important;color:var(--bc-text-1)!important}body.role-builder .empty-state,body.role-vendor .empty-state{background:var(--bc-bg-2)!important;border:1px solid var(--bc-line-1)!important;border-radius:var(--bc-r-3)!important;padding:40px 24px!important;text-align:center}body.role-builder .empty-state h3,body.role-vendor .empty-state h3{color:var(--bc-text-1)!important;font-size:14px!important;font-weight:600!important;margin-bottom:6px!important}body.role-builder .empty-state p,body.role-vendor .empty-state p{color:var(--bc-text-2)!important;font-size:13px!important;line-height:1.55!important}body.role-builder .modal-overlay,body.role-vendor .modal-overlay{background:rgba(6,9,14,.72)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}body.role-builder .bulk-modal,body.role-builder .modal,body.role-builder .prior-modal,body.role-vendor .bulk-modal,body.role-vendor .modal,body.role-vendor .prior-modal{background:var(--bc-bg-modal)!important;border:1px solid var(--bc-line-2)!important;border-radius:var(--bc-r-3)!important;box-shadow:var(--bc-shadow-modal)!important}body.role-builder .lowest-badge,body.role-builder .tab-badge,body.role-builder .you-badge,body.role-vendor .lowest-badge,body.role-vendor .tab-badge,body.role-vendor .you-badge{background:var(--bc-accent-wash)!important;color:var(--bc-accent-400)!important;border:1px solid var(--bc-accent-border)!important;border-radius:var(--bc-r-pill)!important;font-size:10.5px!important;font-weight:600!important;padding:2px 7px!important}body.role-builder .skeleton,body.role-builder [class*=skeleton],body.role-vendor .skeleton{background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08) 50%,rgba(255,255,255,.03))!important;background-size:200% 100%;border-radius:var(--bc-r-2)!important}body.role-builder .stat-icon,body.role-vendor .stat-icon{font-size:14px!important;opacity:.7}body.role-builder .bc-focus-ring:focus-visible,body.role-vendor .bc-focus-ring:focus-visible{outline:2px solid var(--bc-accent-500)!important;outline-offset:2px!important;box-shadow:none!important}body.role-builder .setup-nudge-btn,body.role-vendor .setup-nudge-btn{background:var(--bc-accent-500)!important;color:var(--bc-accent-text-on)!important;border:1px solid var(--bc-accent-600)!important;border-radius:var(--bc-r-2)!important;padding:6px 12px!important;font-size:12.5px!important;font-weight:550!important}body.role-builder .setup-nudge-icon,body.role-vendor .setup-nudge-icon{background:var(--bc-accent-wash)!important;color:var(--bc-accent-400)!important;border-radius:var(--bc-r-2)!important}body.role-builder .main.main,body.role-vendor .main.main{max-width:none;padding:24px 28px}body.role-builder .results-bar,body.role-builder .results-count,body.role-vendor .results-bar,body.role-vendor .results-count{color:var(--bc-text-2);font-size:12.5px;font-weight:450}body.role-builder a:hover,body.role-vendor a:hover{color:var(--bc-accent-400)}body.role-builder .bc-kbd,body.role-builder kbd,body.role-vendor .bc-kbd,body.role-vendor kbd{font-family:var(--bc-font-mono)!important;font-size:10.5px!important;font-weight:500!important;color:var(--bc-text-3)!important;background:var(--bc-bg-1)!important;border:1px solid var(--bc-line-2)!important;border-radius:3px!important;padding:1.5px 5px!important;box-shadow:none!important}