.admin-layout{display:flex;min-height:100vh;background-color:var(--color-background, #FDFCFB)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--color-text-secondary, #7A7A7A)}.admin-loading-spinner{width:40px;height:40px;border:3px solid var(--color-border, #E9E4E2);border-top-color:var(--color-primary, #FF7A5A);border-radius:50%;animation:spin 1s linear infinite}.admin-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;border-radius:12px;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E9E4E2);box-shadow:var(--shadow-md);cursor:pointer;font-size:1.25rem;transition:all .2s ease}.admin-menu-toggle:hover{background:var(--color-background, #FDFCFB);transform:scale(1.05)}.admin-sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:999;backdrop-filter:blur(2px)}.admin-sidebar{width:260px;min-height:100vh;background:var(--color-surface, #FFFFFF);border-right:1px solid var(--color-border, #E9E4E2);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh}.admin-sidebar-header{padding:1.5rem;border-bottom:1px solid var(--color-border, #E9E4E2);display:flex;align-items:center;gap:.75rem}.admin-sidebar-header h2{font-family:var(--font-display, "Manrope", sans-serif);font-size:1.25rem;font-weight:700;color:var(--color-text-primary, #2B2B2B);margin:0}.admin-badge{background:linear-gradient(135deg,#6d6875,#4a4550);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.admin-nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;text-decoration:none;color:var(--color-text-secondary, #7A7A7A);font-weight:500;transition:all .2s ease}.admin-nav-item:hover{background:var(--color-background, #FDFCFB);color:var(--color-text-primary, #2B2B2B);transform:translate(4px);text-decoration:none}.admin-nav-item.active{background:linear-gradient(135deg,#ff7a5a10,#ff7a5a20);color:var(--color-primary, #FF7A5A);font-weight:600}.admin-nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon{font-size:1.25rem;transition:transform .2s ease}.nav-text{font-size:.95rem}.admin-sidebar-footer{padding:1rem;border-top:1px solid var(--color-border, #E9E4E2)}.admin-user-info{padding:.75rem 1rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:600;color:var(--color-text-primary, #2B2B2B);font-size:.9rem}.user-email{font-size:.8rem;color:var(--color-text-secondary, #7A7A7A)}.logout-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;border:none;background:none;color:var(--color-danger, #E57373);font-weight:500;cursor:pointer;width:100%;transition:all .2s ease}.logout-btn:hover{background:#e5737310}.admin-main{flex:1;margin-left:260px;padding:2rem;min-height:100vh}.admin-page-title{font-family:var(--font-display, "Manrope", sans-serif);font-size:1.75rem;font-weight:700;color:var(--color-text-primary, #2B2B2B);margin:0 0 .5rem}.admin-page-subtitle{font-size:1rem;color:var(--color-text-secondary, #7A7A7A);margin:0 0 1.5rem}@media(max-width:1024px){.admin-main{padding:1.5rem}}@media(max-width:768px){.admin-menu-toggle{display:flex;align-items:center;justify-content:center}.admin-sidebar-overlay{display:block}.admin-sidebar{left:-280px;z-index:1000;transition:left .3s ease;box-shadow:4px 0 20px #0000001a}.admin-sidebar.open{left:0}.admin-main{margin-left:0;padding:5rem 1rem 1rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#fdfcfb,#e9e4e2)}.login-container{width:100%;max-width:420px;background:var(--color-surface, #FFFFFF);border-radius:20px;padding:2.5rem;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-family:var(--font-display, "Manrope", sans-serif);font-size:1.75rem;font-weight:700;color:var(--color-text-primary, #2B2B2B);margin:0 0 .5rem}.login-header p{color:var(--color-text-secondary, #7A7A7A);font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#e5737310;border:1px solid #E57373;border-radius:10px;color:#c62828;font-size:.9rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--color-text-primary, #2B2B2B);font-size:.9rem}.form-group input{padding:.875rem 1rem;border:1px solid var(--color-border, #E9E4E2);border-radius:10px;font-size:1rem;background:var(--color-surface, #FFFFFF);transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--color-primary, #FF7A5A);box-shadow:0 0 0 3px #ff7a5a1a}.form-group input::placeholder{color:var(--color-text-secondary, #7A7A7A)}.login-btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--color-primary, #FF7A5A) 0%,#E86A4A 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff7a5a4d}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border, #E9E4E2)}.login-footer p{color:var(--color-text-secondary, #7A7A7A);font-size:.85rem}@media(max-width:480px){.login-page{padding:1rem}.login-container{padding:1.5rem}}.dashboard{max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E9E4E2);border-radius:8px;color:var(--color-text-secondary, #7A7A7A);font-size:.875rem;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:var(--color-background, #FDFCFB);color:var(--color-text-primary, #2B2B2B)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--color-text-secondary, #7A7A7A)}.error-icon{font-size:2.5rem}.retry-btn{padding:.5rem 1.5rem;background:var(--color-primary, #FF7A5A);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.retry-btn:hover{background:#e86a4a;transform:translateY(-1px)}.stats-section{background:var(--color-surface, #FFFFFF);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--color-border, #E9E4E2)}.stats-section.half{flex:1;min-width:280px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title{font-family:var(--font-display, "Manrope", sans-serif);font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #2B2B2B);margin:0 0 1rem}.section-header .section-title{margin:0}.view-all-link{font-size:.875rem;color:var(--color-primary, #FF7A5A);text-decoration:none;font-weight:500}.view-all-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stats-grid.small{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-background, #FDFCFB);border-radius:12px;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card.growth{background:linear-gradient(135deg,#8bc34a10,#8bc34a20);flex-direction:column;text-align:center}.stat-card.warning{background:linear-gradient(135deg,#ffb74d10,#ffb74d20)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--color-surface, #FFFFFF);box-shadow:0 2px 8px #0000000d}.stat-icon.users{background:linear-gradient(135deg,#6d6875,#4a4550)}.stat-icon.projects{background:linear-gradient(135deg,#ff7a5a,#e86a4a)}.stat-icon.messages{background:linear-gradient(135deg,#8bc34a,#7cb342)}.stat-icon.deleted{background:linear-gradient(135deg,#ffb74d,#ffa726)}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-family:var(--font-display, "Manrope", sans-serif);font-size:1.75rem;font-weight:700;color:var(--color-text-primary, #2B2B2B);line-height:1}.stat-card.growth .stat-value{font-size:1.5rem}.stat-label{font-size:.875rem;color:var(--color-text-secondary, #7A7A7A)}.stats-row{display:flex;gap:1.5rem;flex-wrap:wrap}.breakdown-list{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-background, #FDFCFB);border-radius:8px}.breakdown-label{font-size:.9rem;color:var(--color-text-primary, #2B2B2B);text-transform:capitalize}.breakdown-value{font-weight:600;color:var(--color-primary, #FF7A5A);background:linear-gradient(135deg,#ff7a5a10,#ff7a5a20);padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.recent-list{display:flex;flex-direction:column;gap:.75rem}.recent-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-background, #FDFCFB);border-radius:10px;transition:transform .2s ease}.recent-item:hover{transform:translate(4px)}.recent-avatar{width:40px;height:40px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary, #FF7A5A),#E86A4A);color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.recent-avatar img{width:100%;height:100%;object-fit:cover}.recent-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.recent-name{font-weight:500;color:var(--color-text-primary, #2B2B2B);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-meta{font-size:.8rem;color:var(--color-text-secondary, #7A7A7A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-tag{background:linear-gradient(135deg,#6d6875,#4a4550);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.status-tag{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-tag.draft{background:#e9e4e2;color:#6d6875}.status-tag.in-progress{background:#ffb74d20;color:#e65100}.status-tag.launched{background:#8bc34a20;color:#558b2f}.no-data{padding:1rem;text-align:center;color:var(--color-text-secondary, #7A7A7A);font-size:.9rem}.quick-actions{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:var(--color-background, #FDFCFB);border-radius:10px;text-decoration:none;color:var(--color-text-primary, #2B2B2B);font-weight:500;transition:all .2s ease}.action-btn:hover{background:linear-gradient(135deg,#ff7a5a10,#ff7a5a20);color:var(--color-primary, #FF7A5A);transform:translateY(-2px);text-decoration:none}.action-icon{font-size:1.25rem}@media(max-width:768px){.stats-row{flex-direction:column}.stats-section.half{min-width:100%}.dashboard-header{flex-direction:column;gap:1rem}.quick-actions{flex-direction:column}.action-btn{justify-content:center}}.users-page{max-width:1200px;margin:0 auto}.users-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-form{display:flex;gap:.5rem;flex:1;max-width:400px}.filter-controls{display:flex;gap:.5rem;align-items:center}.filter-select{padding:.75rem 1rem;border:1px solid var(--color-border, #E9E4E2);border-radius:10px;font-size:.9rem;background:var(--color-surface, #FFFFFF);cursor:pointer;min-width:120px}.users-table-wrapper{background:var(--color-surface, #FFFFFF);border-radius:16px;border:1px solid var(--color-border, #E9E4E2);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:1rem 1.25rem;background:var(--color-background, #FDFCFB);font-weight:600;font-size:.85rem;color:var(--color-text-secondary, #7A7A7A);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #E9E4E2)}.users-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #E9E4E2);vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:var(--color-background, #FDFCFB)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary, #FF7A5A),#E86A4A);color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:500;color:var(--color-text-primary, #2B2B2B)}.email-cell{color:var(--color-text-secondary, #7A7A7A);font-size:.9rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.role-badge.user{background:#e9e4e2;color:#6d6875}.role-badge.admin{background:linear-gradient(135deg,#6d6875,#4a4550);color:#fff}.action-menu{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E9E4E2);border-radius:12px;box-shadow:var(--shadow-lg);z-index:100;min-width:150px;overflow:hidden}@media(max-width:768px){.users-filters{flex-direction:column;align-items:stretch}.search-form{max-width:100%}.filter-controls{justify-content:flex-start}.users-table-wrapper{overflow-x:auto}.users-table{min-width:600px}.pagination{flex-wrap:wrap}}.projects-page{max-width:1200px;margin:0 auto}.projects-filters{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-form{display:flex;gap:.5rem;flex:1;max-width:350px}.search-input{flex:1;padding:.75rem 1rem;border:1px solid var(--color-border, #E9E4E2);border-radius:10px;font-size:.9rem;background:var(--color-surface, #FFFFFF);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary, #FF7A5A);box-shadow:0 0 0 3px #ff7a5a1a}.search-btn{padding:.75rem 1.25rem;background:var(--color-primary, #FF7A5A);color:#fff;border:none;border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s ease}.search-btn:hover{background:#e86a4a}.filter-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.filter-select{padding:.75rem 1rem;border:1px solid var(--color-border, #E9E4E2);border-radius:10px;font-size:.85rem;background:var(--color-surface, #FFFFFF);cursor:pointer;min-width:110px;text-transform:capitalize}.filter-select:focus{outline:none;border-color:var(--color-primary, #FF7A5A)}.checkbox-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E9E4E2);border-radius:10px;cursor:pointer;font-size:.85rem;color:var(--color-text-secondary, #7A7A7A)}.checkbox-filter input{cursor:pointer}.sort-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border, #E9E4E2);border-radius:10px;background:var(--color-surface, #FFFFFF);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.sort-btn:hover{background:var(--color-background, #FDFCFB)}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#e5737310;border:1px solid #E57373;border-radius:12px;margin-bottom:1.5rem;color:#c62828}.error-banner button{padding:.5rem 1rem;background:#e57373;color:#fff;border:none;border-radius:8px;cursor:pointer}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--color-text-secondary, #7A7A7A)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border, #E9E4E2);border-top-color:var(--color-primary, #FF7A5A);border-radius:50%;animation:spin 1s linear infinite}.projects-table-wrapper{background:var(--color-surface, #FFFFFF);border-radius:16px;border:1px solid var(--color-border, #E9E4E2);overflow:hidden}.projects-table{width:100%;border-collapse:collapse}.projects-table th{text-align:left;padding:1rem 1.25rem;background:var(--color-background, #FDFCFB);font-weight:600;font-size:.85rem;color:var(--color-text-secondary, #7A7A7A);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #E9E4E2)}.projects-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #E9E4E2);vertical-align:middle}.projects-table tr:last-child td{border-bottom:none}.projects-table tr:hover{background:var(--color-background, #FDFCFB)}.projects-table tr.deleted{background:#ffb74d10}.projects-table tr.deleted:hover{background:#ffb74d15}.project-cell{display:flex;flex-direction:column;gap:.25rem}.project-title{font-weight:500;color:var(--color-text-primary, #2B2B2B);display:inline-flex;align-items:center;gap:.5rem}.featured-badge{font-size:.9rem}.deleted-badge{display:inline-block;padding:.15rem .5rem;background:#ffb74d;color:#fff;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;margin-left:.5rem}.project-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.category-tag{padding:.15rem .5rem;background:var(--color-background, #FDFCFB);border-radius:4px;font-size:.7rem;color:var(--color-text-secondary, #7A7A7A);text-transform:capitalize}.author-cell{display:flex;align-items:center;gap:.5rem}.author-avatar{width:32px;height:32px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6d6875,#4a4550);color:#fff;font-weight:600;font-size:.8rem;flex-shrink:0}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-name{font-size:.9rem;color:var(--color-text-secondary, #7A7A7A)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-badge.draft{background:#e9e4e2;color:#6d6875}.status-badge.in-progress{background:#ffb74d20;color:#e65100}.status-badge.launched{background:#8bc34a20;color:#558b2f}.views-cell{font-weight:500;color:var(--color-text-primary, #2B2B2B)}.date-cell{font-size:.9rem;color:var(--color-text-secondary, #7A7A7A)}.actions-cell{position:relative}.action-menu-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border, #E9E4E2);border-radius:8px;background:var(--color-surface, #FFFFFF);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.action-menu-btn:hover{background:var(--color-background, #FDFCFB)}.action-menu{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E9E4E2);border-radius:12px;box-shadow:var(--shadow-lg);z-index:100;min-width:160px;overflow:hidden}.action-menu button{width:100%;padding:.75rem 1rem;text-align:left;border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--color-text-primary, #2B2B2B);transition:background .2s ease}.action-menu button:hover{background:var(--color-background, #FDFCFB)}.action-menu button.success{color:#558b2f}.action-menu button.success:hover{background:#8bc34a10}.action-menu button.danger{color:#e57373}.action-menu button.danger:hover{background:#e5737310}.action-menu button:disabled{opacity:.5;cursor:not-allowed}.no-data{text-align:center;padding:3rem!important;color:var(--color-text-secondary, #7A7A7A)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem}.page-btn{padding:.5rem 1rem;border:1px solid var(--color-border, #E9E4E2);border-radius:8px;background:var(--color-surface, #FFFFFF);color:var(--color-text-primary, #2B2B2B);cursor:pointer;font-weight:500;transition:all .2s ease}.page-btn:hover:not(:disabled){background:var(--color-primary, #FF7A5A);color:#fff;border-color:var(--color-primary, #FF7A5A)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.9rem;color:var(--color-text-primary, #2B2B2B)}.total-info{margin-left:.5rem;color:var(--color-text-secondary, #7A7A7A)}@media(max-width:1024px){.filter-controls{width:100%;justify-content:flex-start}}@media(max-width:768px){.projects-filters{flex-direction:column;align-items:stretch}.search-form{max-width:100%}.projects-table-wrapper{overflow-x:auto}.projects-table{min-width:700px}.pagination{flex-wrap:wrap}}.app{min-height:100vh}:root{--color-primary: #FF7A5A;--color-primary-hover: #E86A4A;--color-secondary: #6D6875;--color-admin: #6D6875;--color-admin-hover: #4A4550;--color-background: #FDFCFB;--color-surface: #FFFFFF;--color-border: #E9E4E2;--color-text-primary: #2B2B2B;--color-text-secondary: #7A7A7A;--color-success: #8BC34A;--color-warning: #FFB74D;--color-danger: #E57373;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.3}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary);color:#fff}
