:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-bg:#fff;--color-bg-secondary:#f8fafc;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-muted:#64748b;--color-success:#16a34a;--color-error:#dc2626;--color-warning:#d97706;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-display:"Fraunces","Georgia","Times New Roman",serif;--font-size-base:16px;--line-height-base:1.6;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px rgba(0,0,0,.1);--shadow-md:0 4px 12px rgba(0,0,0,.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base)}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:background-color .15s,opacity .15s}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-outline{background-color:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary-light)}.btn:disabled{cursor:not-allowed;opacity:.5}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{color:var(--color-text);font-size:.875rem;font-weight:500}.form-input{background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;padding:.625rem .875rem;transition:border-color .15s;width:100%}.form-input:focus{border-color:var(--color-primary);outline:none}.error-msg{color:var(--color-error);font-size:.8125rem}.dashboard-layout{background-color:var(--color-bg-secondary);display:flex;min-height:100vh}.sidebar{background-color:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;position:fixed;top:0;transition:transform .25s ease;width:240px;z-index:100}.sidebar-logo{border-bottom:1px solid var(--color-border);padding:1.5rem 1.25rem}.sidebar-logo img{display:block;height:56px;width:auto}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:.25rem;padding:1rem .75rem}.nav-item{align-items:center;border-radius:var(--radius);color:var(--color-text-muted);display:flex;font-size:.9375rem;gap:.75rem;padding:.625rem .875rem;text-decoration:none;transition:background-color .15s,color .15s}.nav-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text);text-decoration:none}.nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:500}.nav-item--locked{align-items:center;border-radius:var(--radius);color:var(--color-border);cursor:default;display:flex;font-size:.9375rem;gap:.75rem;padding:.625rem .875rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-upgrade-badge{background:var(--color-primary-light);border-radius:999px;color:var(--color-primary);flex-shrink:0;font-size:.625rem;font-weight:700;letter-spacing:.05em;margin-left:auto;padding:.15rem .5rem;text-decoration:none;text-transform:uppercase;white-space:nowrap}.nav-upgrade-badge:hover{background:var(--color-primary);color:#fff}.nav-icon{flex-shrink:0;height:18px;width:18px}.sidebar-footer{border-top:1px solid var(--color-border);padding:1rem .75rem}.view-menu-link{color:var(--color-primary);font-size:.875rem;margin-bottom:.5rem}.user-info{align-items:center;border-radius:var(--radius);display:flex;gap:.75rem;margin-bottom:.25rem;padding:.625rem .875rem}.user-info-text{display:flex;flex-direction:column;overflow:hidden}.user-avatar{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-email{color:var(--color-text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-panel-link{color:#7c3aed;font-size:.75rem;font-weight:500;margin-top:2px;text-decoration:none}.admin-panel-link:hover{text-decoration:underline}.logout-btn{background:none;border-radius:var(--radius);color:var(--color-text-muted);font-size:.9375rem;gap:.75rem;justify-content:flex-start;padding:.625rem .875rem;transition:background-color .15s,color .15s;width:100%}.logout-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-error)}.dashboard-main{display:flex;flex:1;flex-direction:column;margin-left:240px;min-height:100vh}.dashboard-header{align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;height:104px;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:50}.dashboard-header h1{font-size:1.125rem;font-weight:600}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--color-text);cursor:pointer;display:none;flex-shrink:0;height:40px;justify-content:center;margin-right:.75rem;width:40px}.sidebar-toggle:hover{background-color:var(--color-bg-secondary)}.sidebar-toggle svg{height:22px;width:22px}.sidebar-overlay{background:#00000073;display:none;inset:0;position:fixed;z-index:90}.dashboard-content{flex:1;padding:2rem}.email-verify-banner{align-items:center;background:#fefce8;border-bottom:1px solid #fde047;color:#713f12;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem;justify-content:space-between;padding:.75rem 2rem}.email-verify-resend{background:transparent;border:1px solid #ca8a04;border-radius:6px;color:#92400e;cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.35rem .875rem;transition:background .15s}.email-verify-resend:hover:not(:disabled){background:#fef9c3}.email-verify-resend:disabled{cursor:default;opacity:.6}@media(max-width:768px){.sidebar{box-shadow:2px 0 16px #0000001f;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-overlay.is-open{display:block}.dashboard-main{margin-left:0}.sidebar-toggle{display:inline-flex}.dashboard-header{height:64px;justify-content:flex-start;padding:0 1rem}.dashboard-content{padding:1rem}.email-verify-banner{padding:.75rem 1rem}}
