:root{font-family:system-ui,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;--bg: #f4f7fb;--text: #0d1e2e;--surface: #ffffff;--surface-alt: #f8fafc;--text-muted: #5a6c7d;--text-soft: #94a3b8;--border: #dbe2ea;--input-bg: #ffffff;--input-border: #dbe2ea;--primary: #667eea;--primary-dark: #764ba2;--link: #646cff;--link-hover: #535bf2;--danger: #e74c3c;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .08);--shadow-md: 0 10px 25px rgba(0, 0, 0, .15);--focus-ring: 0 0 0 3px rgba(102, 126, 234, .15);--page-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%)}body.dark{color-scheme:dark;--bg: #0f172a;--text: #f8fafc;--surface: #1e293b;--surface-alt: #273449;--text-muted: #cbd5e1;--text-soft: #94a3b8;--border: #334155;--input-bg: #0f172a;--input-border: #475569;--primary: #7c93ff;--primary-dark: #9b6bdb;--link: #8ea2ff;--link-hover: #b4c0ff;--danger: #f87171;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .22);--shadow-md: 0 10px 30px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(124, 147, 255, .2);--page-gradient: linear-gradient( 135deg, #0f172a 0%, #1e293b 45%, #312e81 100% )}html,body,#root{margin:0;padding:0;min-height:100%}body{background-color:var(--bg);color:var(--text);transition:background-color .35s ease,color .35s ease}a{font-weight:500;color:var(--link);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--link-hover)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);color:var(--text);cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}button:hover{border-color:var(--primary)}button:focus,button:focus-visible{outline:none;box-shadow:var(--focus-ring)}#root{margin:0;padding:0;min-height:100vh}nav{margin-bottom:0;padding-bottom:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em rgba(100,108,255,.67))}.logo.react:hover{filter:drop-shadow(0 0 2em rgba(97,218,251,.67))}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em;background:var(--surface);color:var(--text)}.read-the-docs{color:var(--text-muted)}.about-container{min-height:100vh;background:linear-gradient(135deg,var(--bg) 0%,var(--surface-alt) 100%);padding:3rem 2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;box-sizing:border-box;transition:background .25s ease}.about-content{max-width:900px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:3rem;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.about-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.about-header h1{font-size:2.5rem;color:var(--text);margin-bottom:1rem;font-weight:700}.tagline{font-size:1.1rem;color:var(--text-muted);margin:.5rem 0;line-height:1.6}.about-section{margin-bottom:2.5rem;padding:1.5rem;background:var(--surface-alt);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;transition:transform .3s ease,box-shadow .3s ease,background-color .25s ease,border-color .25s ease}.about-section h2{font-size:1.5rem;color:var(--text);margin-bottom:1rem;font-weight:600}.about-section p{font-size:1rem;color:var(--text-muted);line-height:1.7;margin:0}.about-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.about-actions{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.login-link-button{display:inline-block;padding:1rem 3rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;text-decoration:none;border-radius:6px;font-size:1.1rem;font-weight:600;transition:transform .3s ease,box-shadow .3s ease,opacity .2s ease;box-shadow:var(--shadow-sm)}.login-link-button:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.login-link-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(max-width:768px){.about-container{padding:2rem 1rem}.about-content{padding:2rem 1.5rem}.about-header h1{font-size:2rem}.tagline{font-size:1rem}.about-section{padding:1rem}.about-section h2{font-size:1.25rem}.login-link-button{padding:.875rem 2rem;font-size:1rem}}@media(max-width:480px){.about-header h1{font-size:1.75rem}.about-section h2{font-size:1.125rem}.about-content{padding:1.5rem 1rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-gradient);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .25s ease}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:3rem;width:100%;max-width:420px;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.login-card h1{font-size:2rem;color:var(--text);margin-bottom:.5rem;text-align:center}.login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.form-group input{padding:.75rem 1rem;font-size:1rem;border:2px solid var(--input-border);border-radius:6px;transition:border-color .3s ease,box-shadow .3s ease,background-color .25s ease,color .25s ease;font-family:inherit;background:var(--input-bg);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper input{width:100%;padding-right:4.5rem}.toggle-password{position:absolute;right:10px;background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0}.toggle-password:hover{color:var(--primary-dark);border-color:transparent;background:none}.login-submit{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:.875rem 0rem;font-size:1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,opacity .2s ease;margin-top:1.5rem;width:100%;text-decoration:none;display:block;text-align:center}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #764ba259}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-error{color:var(--danger);margin-top:1rem;text-align:center;font-weight:500}.back-link{color:var(--text-muted);text-align:center;margin-top:.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.back-link a{color:var(--link);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s ease}.back-link a:hover{color:var(--link-hover);text-decoration:underline}@media(max-width:480px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:1.75rem}.form-group input{padding:.65rem .875rem}}.NavBar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--surface);border-bottom:1px solid var(--border);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;box-sizing:border-box;margin:0;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.project-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.NavBar a,.nav-link-button{margin-left:2rem;text-decoration:none;color:var(--text-muted);font-size:.95rem;font-weight:400;transition:color .2s ease,background-color .2s ease,border-color .2s ease;white-space:nowrap;border:none;background:none;cursor:pointer;font-family:inherit;padding:0}.NavBar a:hover,.nav-link-button:hover{color:var(--primary)}.NavBar a:last-child,.nav-link-button:last-child{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:.5rem 1.25rem;border-radius:6px;margin-left:2rem;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.NavBar a:last-child:hover,.nav-link-button:last-child:hover{color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.NavBar a:focus-visible,.nav-link-button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:6px}@media(max-width:768px){.NavBar{flex-wrap:wrap;padding:1rem;gap:.75rem}.project-title{font-size:1.1rem}.NavBar a,.nav-link-button{margin-left:1rem;font-size:.85rem}.NavBar a:last-child,.nav-link-button:last-child{margin-left:1rem;padding:.4rem 1rem}}.notification-wrapper{position:relative}.notification-button{position:relative;background:none;border:none;font-size:24px;cursor:pointer}.notification-badge{position:absolute;top:-5px;right:-8px;background:red;color:#fff;font-size:12px;padding:2px 6px;border-radius:50%;font-weight:700}.notification-badge[data-count="0"]{display:none}.notification-drawer{position:fixed;top:0;right:-100%;width:min(350px,92vw);height:100%;box-shadow:-3px 0 10px #0003;transition:right .3s ease;display:flex;flex-direction:column;border-radius:20px 0 0 20px;z-index:1001;background-color:var(--bg)}.notification-drawer.open{right:0}.drawer-header{padding:16px;display:flex;justify-content:space-between;border-bottom:1px solid #ddd}.drawer-content{padding:16px;overflow-y:auto}.notification-item{position:relative;padding:10px;border-bottom:1px solid #eee}.notification-close{position:absolute;top:5px;right:8px;border:none;background:none;cursor:pointer;font-size:16px;color:var(--text)}.drawer-overlay{position:fixed;inset:0;background:#0006;display:none;z-index:1000}.drawer-overlay.show{display:block}.close-button{background:none;border:none;font-size:18px;cursor:pointer}@media(max-width:480px){.notification-drawer{width:100vw;right:-100vw;border-radius:0}}.sponsors-container{padding:2rem;max-width:1200px;margin:0 auto}.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}@media(max-width:768px){.sponsor-grid{grid-template-columns:1fr}}.signup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-gradient);padding:2rem;transition:background .25s ease}.signup-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:3rem;max-width:500px;width:100%;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.signup-title{font-size:2rem;font-weight:700;color:var(--text);margin:0 0 .5rem;text-align:center}.signup-subtitle{color:var(--text-muted);text-align:center;margin:0 0 2rem;font-size:.95rem}.signup-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:var(--text);margin-bottom:.5rem;font-size:.9rem}.optional{font-weight:400;color:var(--text-soft);font-size:.85rem}.form-group input{padding:.75rem 1rem;border:2px solid var(--input-border);border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease,background-color .25s ease,color .25s ease;outline:none;background:var(--input-bg);color:var(--text)}.form-group input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.form-group input::placeholder{color:var(--text-soft)}.form-group input.error{border-color:var(--danger)}.submit-button{width:100%;padding:.875rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;margin-top:.5rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.login-link{text-align:center;color:var(--text-muted);font-size:.9rem;margin-top:1rem}.login-link a{color:var(--link);text-decoration:none;font-weight:600}.login-link a:hover{color:var(--link-hover);text-decoration:underline}.error-message{color:var(--danger);font-size:.85rem;margin-top:.25rem}.submit-error{text-align:center;margin-top:-.25rem}@media(max-width:600px){.signup-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.signup-title{font-size:1.75rem}}.admin-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .3s,color .3s}.admin-sidebar{width:240px;background:var(--surface-alt);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem;gap:.5rem;flex-shrink:0;transition:background .3s,border-color .3s}.brand-dot{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:700}.brand-name{font-size:1rem;font-weight:700}.nav-section-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-alt);padding:.75rem .75rem .25rem}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:8px;font-size:.9rem;color:var(--text-muted);transition:background .15s;background:transparent;border:none;width:100%;cursor:pointer;text-align:left;text-decoration:none}.nav-item:hover{background:var(--border)}.user-name{font-size:.85rem;font-weight:600}.admin-main{flex:1;display:flex;flex-direction:column;overflow:auto}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--surface-alt);flex-shrink:0;transition:background .3s,border-color .3s}.topbar-title{font-size:1.3rem;font-weight:700}.admin-content{padding:2rem;flex:1}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .15s}.stat-card:hover{border-color:#667eea}.stat-value{font-size:1.9rem;font-weight:700;line-height:1}.stat-sub{font-size:.75rem;color:var(--text-alt);margin-top:.3rem}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.section-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:background .3s}.action-list{display:flex;flex-direction:column;gap:.6rem}.action-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .15s;color:var(--text-muted);text-decoration:none}.action-row:hover{border-color:#667eea;background:linear-gradient(135deg,#667eea0f,#764ba20f)}.action-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.feed{display:flex;flex-direction:column;gap:.75rem}.feed-item{display:flex;align-items:flex-start;gap:.75rem}.feed-dot{width:8px;height:8px;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:linear-gradient(135deg,#667eea,#764ba2)}.feed-text{font-size:.85rem;line-height:1.4}.feed-time{font-size:.75rem;color:var(--text-alt);margin-top:.15rem}.view-select{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:.9rem;outline:none;transition:border-color .15s}.view-select:focus{border-color:#667eea}.pov-switch-select{max-width:220px;width:100%}@media(max-width:1100px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-2{grid-template-columns:1fr}}@media(max-width:900px){.admin-shell{flex-direction:column}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:1rem}.admin-topbar{padding:1rem 1.25rem}.admin-content{padding:1.25rem}}@media(max-width:640px){.stats-row{grid-template-columns:1fr}.admin-topbar{flex-direction:column;align-items:flex-start;gap:.5rem}.topbar-title{font-size:1.1rem}.section-card{padding:1rem}}.pov-banner-wrapper{max-width:1200px;margin:0 auto;padding:0 20px}.pov-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;box-sizing:border-box;background:#eef0ff;border:1px solid #cfd4ff;border-radius:8px;padding:12px 16px;margin:20px 0}.pov-banner--impersonation{background:#eef0ff}.catalog-page{padding:2rem}.catalog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.catalog-title{margin:0;font-size:1.75rem;font-weight:700}.catalog-points{margin-top:.35rem;color:var(--text-alt);font-size:1rem}.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.catalog-filters{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--surface-alt)}.filters-form{display:flex;flex-direction:column;gap:.9rem}.filter-block{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-weight:600;color:var(--text-muted)}.filter-row input,.catalog-filters input,.catalog-filters select{width:100%;padding:.65rem .75rem;border-radius:6px;border:1px solid var(--border);font-size:.95rem;box-sizing:border-box}.filter-divider{height:1px;background:#edf2f7;margin:1rem}.catalog-results{min-width:0}.catalog-error{padding:.75rem 1rem;border:1px solid #feb2b2;background:#fff5f5;color:#c53030;border-radius:8px;margin-bottom:1rem}.catalog-list-header{display:grid;grid-template-columns:120px 1fr 140px 170px 180px;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);font-weight:700}.catalog-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.catalog-row{display:grid;grid-template-columns:120px 1fr 140px 170px 180px;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);align-items:center}.catalog-img{width:110px;height:80px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.product-name{font-weight:700;color:var(--text-muted)}.muted{color:#718096;font-size:.85rem}.linkish{background:transparent;border:none;padding:0;color:#2b6cb0;cursor:pointer;font-weight:600;text-align:left}.submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit:disabled{opacity:.6;cursor:not-allowed}.linkish:hover{text-decoration:underline}.application-card{background-color:var(--bg);padding:1.5rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;border:2px solid #ffc107}@media(max-width:980px){.catalog-layout{grid-template-columns:1fr}.catalog-list-header,.catalog-row{grid-template-columns:120px 1fr;grid-auto-rows:auto}.catalog-list-header .col.points,.catalog-list-header .col.avail,.catalog-list-header .col.action{display:none}.catalog-row .col.points,.catalog-row .col.avail,.catalog-row .col.action{grid-column:2 / -1}}:root{--bg: #f7f8fc;--surface-alt: #ffffff;--border: #e2e8f0;--text-muted: #4a5568;--text-alt: #718096;--accent: #667eea;--accent-2: #764ba2}body.dark{--bg: #0f1117;--surface-alt: #1a1d27;--border: #2d3148;--text-muted: #e2e8f0;--text-alt: #a0aec0}.sponsor-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text-muted);font-family:Georgia,serif;transition:background-color .3s,color .3s}.sponsor-shell *{box-sizing:border-box}.sponsor-shell a,.sponsor-shell button{color:var(--text-muted)}.sponsor-sidebar{width:240px;background:var(--surface-alt);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 1rem;gap:.4rem;flex-shrink:0;transition:background-color .3s,border-color .3s}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem 1.25rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.brand-dot{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:700;flex-shrink:0}.brand-name{font-size:1rem;font-weight:700;color:var(--text-muted);letter-spacing:.02em}.nav-section-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-alt);padding:.75rem .75rem .25rem;font-family:Georgia,serif}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:8px;font-size:.9rem;color:var(--text-muted);background:transparent;border:none;width:100%;cursor:pointer;text-align:left;text-decoration:none;transition:background-color .15s ease,color .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nav-item:hover{background:var(--border);color:var(--text-muted)}.nav-item.active{background:linear-gradient(135deg,#667eea26,#764ba226);color:#667eea;font-weight:600}.nav-item:visited,.nav-item:link{color:var(--text-muted)}.nav-item.active,.nav-item.active:visited,.nav-item.active:link{color:#667eea}.sidebar-bottom{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}.user-name{font-size:.85rem;font-weight:600;color:var(--text-muted);line-height:1.2}.user-role{font-size:.72rem;color:var(--text-alt)}.pov-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#667eea26,#764ba226);border-bottom:2px solid rgba(102,126,234,.4);font-size:.875rem;color:var(--text-muted);width:100%;flex-shrink:0}.pov-banner strong{color:var(--accent)}.pov-exit-btn{margin-left:auto;padding:5px 14px;border-radius:6px;border:1px solid rgba(102,126,234,.5);background:transparent;color:var(--accent);font-size:.825rem;font-weight:600;cursor:pointer;transition:all .15s}.pov-exit-btn:hover{background:#667eea1f}.sponsor-main{flex:1;display:flex;flex-direction:column;overflow:auto}.sponsor-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--surface-alt);flex-shrink:0;transition:background-color .3s,border-color .3s}.topbar-title{font-size:1.3rem;font-weight:700;color:var(--text-muted)}.topbar-sub{font-size:.85rem;color:var(--text-alt);margin-top:.1rem}.topbar-right{display:flex;align-items:center;gap:.75rem}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;color:var(--text-muted);transition:all .15s}.icon-btn:hover{background:var(--border)}.sponsor-content{padding:2rem;flex:1}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem}.stat-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .15s ease,background-color .3s ease}.stat-card:hover{border-color:var(--accent)}.stat-label{font-size:.75rem;color:var(--text-alt);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.stat-value{font-size:1.9rem;font-weight:700;line-height:1;color:var(--text-muted)}.stat-sub{font-size:.75rem;color:var(--text-alt);margin-top:.3rem;display:block}.stat-card a.stat-sub{color:var(--accent);text-decoration:none;font-weight:600;transition:opacity .15s}.stat-card a.stat-sub:hover{opacity:.75;text-decoration:underline}.sponsor-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.section-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:background-color .3s,border-color .3s}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-alt);margin-bottom:1rem;font-weight:600}.view-select{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;outline:none;transition:border-color .15s;display:block}.view-select:focus{border-color:var(--accent)}.view-select::placeholder{color:var(--text-alt)}.submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;font-family:Georgia,serif}.submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.action-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .15s;color:var(--text-muted);text-decoration:none;margin-bottom:.55rem}.action-row:hover{border-color:var(--accent);background:linear-gradient(135deg,#667eea0f,#764ba20f)}.action-row:visited,.action-row:link{color:var(--text-muted)}.action-row-left{display:flex;align-items:center;gap:.65rem;font-size:.9rem;font-weight:500}.action-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.catalog-list{display:flex;flex-direction:column;gap:.6rem}.catalog-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem .875rem;border-radius:8px;border:1px solid var(--border);transition:border-color .15s}.catalog-row:hover{border-color:var(--accent)}.catalog-name{font-weight:600;font-size:.875rem;color:var(--text-muted);margin-bottom:.15rem}.catalog-meta{font-size:.75rem;color:var(--text-alt)}.pts-badge{background:linear-gradient(135deg,#667eea26,#764ba226);color:var(--accent);border-radius:5px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:1rem}.product-card{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.875rem;cursor:pointer;transition:all .15s}.product-card:hover{border-color:var(--accent)}.product-card.selected{border-color:var(--accent);background:linear-gradient(135deg,#667eea14,#764ba214)}.product-img{width:100%;height:100px;object-fit:contain;border-radius:6px;background:var(--surface-alt);margin-bottom:.6rem;display:block}.product-img-placeholder{width:100%;height:100px;border-radius:6px;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--text-alt);margin-bottom:.6rem}.product-name{font-weight:600;font-size:.82rem;color:var(--text-muted);line-height:1.3;margin-bottom:.3rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.product-price{font-size:.75rem;color:var(--text-alt)}.product-link{font-size:.75rem;color:var(--accent);display:block;margin-top:.4rem;text-decoration:none}.product-link:hover{text-decoration:underline}.selected-product-preview{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.875rem;margin-bottom:.875rem}.selected-product-name{font-weight:600;font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}.selected-product-meta{font-size:.78rem;color:var(--text-alt)}.alert{padding:.6rem .875rem;border-radius:8px;font-size:.85rem;margin-bottom:1.25rem}.alert-error{background:#e74c3c14;border:1px solid rgba(231,76,60,.25);color:#c0392b}.alert-success{background:#48bb781a;border:1px solid rgba(72,187,120,.3);color:#276749}body.dark .alert-error{color:#fc8181}body.dark .alert-success{color:#68d391}.empty-state{font-size:.85rem;color:var(--text-alt);text-align:center;padding:1.5rem 0}.theme-toggle{background:transparent;cursor:pointer;font-size:1.4rem;position:relative;overflow:hidden}.theme-toggle .icon{display:inline-block;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .3s ease}body.dark .theme-toggle{background:var(--bg)}body.dark .theme-toggle .icon{transform:rotate(360deg) scale(1.15)}@media(max-width:1024px){.sponsor-grid-2{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.sponsor-sidebar{display:none}.stats-row{grid-template-columns:1fr}.sponsor-topbar,.sponsor-content{padding:1rem}.search-results-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.profile-container{max-width:900px;margin:0 auto;padding:2rem}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile-header h1{font-size:2rem;color:var(--text-muted);margin:0}.user-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1.25rem;border-radius:20px;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}.alert-error{background-color:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.alert-icon{font-size:1.25rem;font-weight:700}.profile-card{background:var(--surface-alt);border-radius:12px;padding:2.5rem;box-shadow:0 2px 8px #0000001a}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.profile-item{display:flex;flex-direction:column;gap:.5rem}.profile-item label{font-size:.85rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:1rem;color:var(--text-muted);padding:.75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;min-height:2.5rem;display:flex;align-items:center}.not-set{color:#999;font-style:italic}.profile-form{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.9rem;font-weight:600;color:var(--text)}.form-input{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input::placeholder{color:#999}.form-actions{display:flex;gap:1rem}.btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.profile-container{padding:1rem}.profile-header{flex-direction:column;align-items:flex-start;gap:1rem}.profile-grid,.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:1}.form-actions{flex-direction:column}.btn{width:100%}}.report-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:1.25rem;margin-top:1rem}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.report-header h3{margin:0;font-size:1.2rem}.report-table-wrapper{overflow-x:auto;border-radius:8px}.report-table{width:100%;border-collapse:collapse;font-size:.95rem}.report-table thead{background:var(--surface-alt)}.report-table th{text-align:left;padding:.75rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600}.report-table td{padding:.75rem;border-bottom:1px solid var(--border)}.report-table tbody tr:hover{background:var(--surface-alt);transition:background .2s ease}.report-state{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.report-state.error{color:var(--danger)}
