:root{--primary:#2563eb;--primary-dark:#1d4ed8;--secondary:#f59e0b;--accent:#10b981;--dark:#0f172a;--light:#f8fafc;--gray:#64748b;--gray-light:#e2e8f0;--danger:#ef4444;--radius:12px;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--light);color:var(--dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 24px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{color:var(--dark);border:2px solid var(--gray-light);background:#fff}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;transition:transform .2s,box-shadow .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{object-fit:cover;width:100%;height:200px}.card-body{padding:20px}.card-title{color:var(--dark);margin-bottom:8px;font-size:1.125rem;font-weight:700}.card-text{color:var(--gray);margin-bottom:12px;font-size:.9rem}.grid{gap:24px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.tag{background:var(--gray-light);color:var(--gray);border-radius:20px;margin-bottom:6px;margin-right:6px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.tag-primary{color:var(--primary);background:#dbeafe}.section-title{align-items:center;gap:12px;margin-bottom:24px;font-size:1.75rem;font-weight:800;display:flex}.section-title:after{content:"";background:var(--gray-light);flex:1;height:2px}.form-label{margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.form-input,.form-textarea,.form-select{border:2px solid var(--gray-light);border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);outline:none}.form-textarea{resize:vertical;min-height:120px}.badge{text-transform:uppercase;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-restaurant{color:#dc2626;background:#fee2e2}.badge-cafe{color:#d97706;background:#fef3c7}.badge-bar{color:#4f46e5;background:#e0e7ff}.badge-hotel{color:#059669;background:#d1fae5}.badge-event{color:#db2777;background:#fce7f3}.spinner{border:4px solid var(--gray-light);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 16px}.section-title{font-size:1.5rem}}@media (width>=769px) and (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.reusable-dropdown{position:relative}.reusable-dropdown .dropdown-trigger-link{color:var(--gray);white-space:nowrap;cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.reusable-dropdown .dropdown-trigger-link:hover{background:var(--light);color:var(--primary);text-decoration:none}.reusable-dropdown .dropdown-trigger-btn{color:var(--gray);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 16px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.reusable-dropdown .dropdown-trigger-btn:hover{background:var(--light);color:var(--primary)}.reusable-dropdown .dropdown-menu-items{z-index:200;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:12px;min-width:200px;padding:4px;transition:opacity .2s,visibility .2s,transform .2s;position:absolute;top:100%;left:0;overflow:hidden;transform:translateY(-4px);box-shadow:0 10px 40px #0000001f}.reusable-dropdown .dropdown-menu-items.align-right{left:auto;right:0}.reusable-dropdown:hover .dropdown-menu-items,.reusable-dropdown.is-open .dropdown-menu-items{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.reusable-dropdown .dropdown-item{color:var(--dark);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 16px;font-family:inherit;font-size:.9rem;text-decoration:none;transition:background .2s;display:flex}.reusable-dropdown .dropdown-item:hover{background:var(--light);color:var(--primary);text-decoration:none}.reusable-dropdown .dropdown-item-icon{flex-shrink:0;font-size:1.1rem}.reusable-dropdown .dropdown-divider{border:none;border-top:1px solid var(--gray-light);margin:4px 0}@media (width<=768px){.reusable-dropdown{width:100%}.reusable-dropdown .dropdown-trigger-link,.reusable-dropdown .dropdown-trigger-btn{width:100%;padding:12px 16px}.reusable-dropdown .dropdown-menu-items{box-shadow:none;border:1px solid var(--gray-light);opacity:1;visibility:visible;pointer-events:auto;border-radius:8px;margin-top:4px;margin-left:16px;display:none;position:static;transform:none}.reusable-dropdown:hover .dropdown-menu-items,.reusable-dropdown.is-open .dropdown-menu-items{display:block}}.navbar{border-bottom:1px solid var(--gray-light);z-index:100;background:#fff;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.navbar-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.navbar-brand{color:var(--dark);align-items:center;gap:8px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.navbar-brand:hover{text-decoration:none}.brand-icon{font-size:1.5rem}.brand-text{background:linear-gradient(135deg, var(--primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar-menu{align-items:center;gap:4px;display:flex}.nav-link{color:var(--gray);border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--light);color:var(--primary);text-decoration:none}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--dark);border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.hamburger.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.nav-divider{background:var(--gray-light);width:1px;height:24px;margin:0 8px}.user-menu-container{position:relative}.user-menu-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-family:inherit;font-size:.9rem;display:flex}.user-avatar-small{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex;overflow:hidden}.user-name-nav{color:var(--dark);font-weight:600}.user-dropdown{z-index:200;background:#fff;border-radius:12px;min-width:200px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 40px #0000001f}.dropdown-header{background:var(--light);flex-direction:column;gap:4px;padding:16px;display:flex}.dropdown-header strong{font-size:.95rem}.dropdown-role{color:var(--gray);text-transform:capitalize;font-size:.75rem}.dropdown-item{color:var(--dark);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:12px 16px;font-family:inherit;font-size:.9rem;text-decoration:none;transition:background .2s;display:block}.dropdown-item:hover{background:var(--light);text-decoration:none}.dropdown-logout{color:#dc2626}.dropdown-divider{border:none;border-top:1px solid var(--gray-light);margin:0}.nav-auth-buttons{align-items:center;gap:8px;display:flex}@media (width<=768px){.nav-divider{display:none}.user-dropdown{box-shadow:none;border:1px solid var(--gray-light);border-radius:8px;margin-top:8px;position:static}.nav-auth-buttons{flex-direction:column;width:100%}.nav-auth-buttons .btn{text-align:center;width:100%}.hamburger{display:flex}.navbar-menu{border-bottom:1px solid var(--gray-light);box-shadow:var(--shadow);background:#fff;flex-direction:column;padding:16px;display:none;position:absolute;top:64px;left:0;right:0}.navbar-menu.active{display:flex}.nav-link{width:100%;padding:12px 16px}}.hero{text-align:center;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 50%,#10b981 100%);padding:80px 0;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle at 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80%,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.hero-content{z-index:1;position:relative}.hero-title{color:#fff;margin-bottom:16px;font-size:3rem;font-weight:800;line-height:1.2}.hero-subtitle{color:#ffffffe6;max-width:600px;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:1.2rem}.hero-actions{justify-content:center;gap:16px;display:flex}.hero-actions .btn-secondary{color:#fff;background:#ffffff26;border-color:#ffffff4d}.hero-actions .btn-secondary:hover{background:#ffffff40;border-color:#ffffff80}.hero-articles{background:#1a1a2e;height:500px;padding:0}.hero-overlay{z-index:1;background:linear-gradient(135deg,#1e3a5fb3 0%,#2563eb80 50%,#10b98166 100%);position:absolute;inset:0}.hero-gallery{width:100%;height:100%;position:relative;overflow:hidden}.hero-slide{opacity:0;background-position:50%;background-size:cover;align-items:center;width:100%;height:100%;transition:opacity .8s ease-in-out;display:flex;position:absolute;top:0;left:0}.hero-slide.active{opacity:1}.hero-slide:before{content:"";background:linear-gradient(90deg,#000000bf 0%,#0006 50%,#0003 100%);position:absolute;inset:0}.hero-slide-content{z-index:2;max-width:700px;margin-left:8%;padding:2rem;animation:.8s ease-out slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-slide-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.hero-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:20px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.hero-badge-primary{color:#fff;background:#667eea}.hero-slide-title{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.2}.hero-slide-excerpt{color:#ffffffe6;max-width:600px;margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.hero-slide-meta{color:#fffc;gap:1rem;margin-bottom:1.5rem;font-size:.9rem;display:flex}.hero-slide-btn{display:inline-block}.hero-dots{z-index:3;gap:10px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.hero-dot{cursor:pointer;background:0 0;border:2px solid #fff9;border-radius:50%;width:12px;height:12px;padding:0;transition:all .3s}.hero-dot.active{background:#fff;border-color:#fff;transform:scale(1.2)}.hero-dot:hover{background:#fff6}.hero-arrow{z-index:3;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.7;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow:hover{opacity:1;background:#0009;transform:translateY(-50%)scale(1.1)}.hero-arrow-left{left:20px}.hero-arrow-right{right:20px}.category-card{color:inherit;text-decoration:none}.category-card:hover{text-decoration:none}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-header .section-title{margin-bottom:0}.view-all-link{color:var(--primary);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.view-all-link:hover{color:var(--primary-dark);text-decoration:none}.card-hover{transition:transform .3s,box-shadow .3s}.card-hover:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.card-image-wrapper{width:100%;height:200px;position:relative;overflow:hidden}.card-image-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.placeholder-icon{opacity:.9;filter:drop-shadow(0 2px 4px #0003);font-size:4rem}.event-meta{flex-direction:column;gap:8px;margin-top:12px;display:flex}.event-datetime{flex-wrap:wrap;gap:8px;display:flex}.place-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.place-header .card-title{flex:1;margin-bottom:0}.place-info{justify-content:space-between;align-items:center;margin-top:8px;margin-bottom:12px;display:flex}.rating{color:var(--secondary);font-size:.95rem;font-weight:600}@media (width<=768px){.hero{padding:60px 0}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-actions{flex-direction:column;align-items:center}.hero-articles{height:400px}.hero-slide-content{margin-left:5%;padding:1rem}.hero-slide-title{font-size:1.6rem}.hero-slide-excerpt{font-size:.95rem}.hero-arrow{width:40px;height:40px;font-size:1.5rem}.hero-arrow-left{left:10px}.hero-arrow-right{right:10px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.view-all-link{align-self:flex-end}.place-header{flex-direction:column;align-items:flex-start}.placeholder-icon{font-size:3rem}}.detail-page{padding-bottom:60px}.detail-hero{width:100%;height:450px;overflow:hidden;box-shadow:inset 0 -80px 120px #0003}.detail-hero img{object-fit:cover;width:100%;height:100%}.detail-content{background:#fff;border-radius:24px 24px 0 0;max-width:900px;margin:-50px auto 40px;padding:60px 80px;position:relative}.detail-meta{color:#64748b;border-bottom:1px solid var(--gray-light);align-items:center;gap:1rem 2.5rem;padding:12px 0 24px;font-size:.9rem;display:flex}.detail-author{color:#6366f1;align-items:center;gap:8px;font-weight:500;text-decoration:none;transition:opacity .2s ease-in-out;display:inline-flex}.detail-author:hover{opacity:.7}.author-avatar{object-fit:cover;width:40px;height:40px;box-shadow:var(--shadow);border-radius:50%}.detail-date{border-left:1px solid #cbd5e1;padding-left:1.2rem}.detail-title-wrapper{margin-top:-48px;margin-bottom:32px}.detail-title{color:#0f172a;letter-spacing:-.03em;margin-bottom:8px;font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.25}.detail-excerpt{color:#64748b;margin-bottom:32px;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.7}.detail-section{margin-bottom:3em}.section-title{color:#0f172a;letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:600}.rich-article-body{line-height:calc(1.8 + .5em)}.detail-section h2,.detail-section h3,.detail-section h4{font-weight:700}.detail-section h5,.detail-section h6{margin-top:clamp(1rem, 3vw, 1.5rem) 0 .5rem}.rich-article-body p{margin-top:clamp(24px,4vw,36px)}.detail-section h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3.5vw,1.875em)}.rich-article-body ul,.rich-article-body ol{margin:clamp(20px,6vw,34px) 0;list-style-position:outside}.detail-section h4{letter-spacing:-.02em;margin-top:1.8rem;margin-bottom:clamp(calc(var(--space-md)), calc(-9px));font-size:clamp(1.1rem,2.4vw,1.375em)}.rich-article-body ul li{padding-left:.4ch}.detail-section h3,.detail-content strong{font-weight:700}.rich-article-body blockquote{border-left:3px solid var(--primary);color:#64748b;background:#fff;border-left-color:#fbbf24;border-radius:.5rem;margin:clamp(2rem,80% - 5vw,4rem) 0;padding-left:1.5em;padding-right:-.5ch}.detail-image{max-width:100%;height:auto}.rich-article-body img{border-radius:var(--radius);object-fit:cover;width:100%;margin:clamp(2rem,80% - 5vw,4rem) 0;display:block}.detail-actions{border-top:1px solid var(--gray-light);margin-top:32px;padding-top:16px}.rich-article-body a strong:hover,.detail-content strong{color:#6366f1;padding-top:-.05em;font-size:.975rem;font-weight:700;text-decoration:none!important}.detail-table-container table{border-spacing:0;width:100%;display:block;overflow-x:auto}.table-scroll{width:-webkit-fill-available;height:7rem;margin:clamp(2rem,80% - 5vw,4rem) 0;display:inline-block;overflow-y:auto}.detail-table-header th{background:#f1f5f9;border-bottom:.6px solid #cbd5e1;padding:clamp(.3em,.2ch,7vh);font-weight:700;display:block!important}.rich-article-body th{text-align:left;color:#0f172a;background-color:f8fafc}.detail-links-section{padding:calc(var(--space-md)) 0 calc(var(--space-lg) * 2);border-radius:var(--radius);margin-top:clamp(calc(-1vh + calc(var(--space-md))), -50px, 4rem);background-color:#f8fafc}.detail-links-section h3{font-size:clamp(.95rem, calc(var(--space-sm) * 4), 1.15rem);color:#0f172a;align-items:center;margin-bottom:20px;display:flex}.detail-links-section h3:before{content:"🔗 ";margin-right:.8ch;font-size:1.2em}.links-list-container{padding-top:calc(var(--space-sm));box-shadow:inset 0 -35px var(--section-indent);gap:16px;display:grid}.link-card{border-radius:var(--radius);background-color:#fff;overflow:hidden}.links-list-container .link-btn a,.links-list-container .article-link{padding:calc(var(--space-sm) * 1.5) var(--space-lg);border-radius:calc(var(--radius));color:#64748b;background-color:#fff;justify-content:space-between;align-items:center;font-size:clamp(.9rem,.3vw,1.2em);text-decoration:none;transition:all .2s ease-in-out;display:flex}.links-list-container .link-btn a:hover{transform:translate(.5ch);box-shadow:.8em -.4ch #ddd9d0,inset -1.7rem 0 #aebbe6cf;color:#6366f1!important;background-color:#eef2ff!important}.link-btn a.internal{border-left:3px solid #22c55e}.link-btn a.external{border-left:3px solid #ef4444!important}.places-page{padding:2rem 0}.page-title{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:700}.page-subtitle{color:#666;margin-bottom:2rem}.place-types-nav{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.place-type-btn{cursor:pointer;color:#666;background:#fff;border:2px solid #e0e0e0;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .3s;display:flex}.place-type-btn:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.place-type-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.type-icon{font-size:1.2rem}.places-search{margin-bottom:2rem}.places-search .search-input{border:2px solid #e0e0e0;border-radius:8px;width:100%;max-width:500px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.places-search .search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.places-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.place-card{color:inherit;background:#fff;border-radius:12px;text-decoration:none;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #0000001a}.place-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.place-card-image{height:180px;position:relative;overflow:hidden}.place-card-image img{object-fit:cover;width:100%;height:100%}.place-card-image .badge{position:absolute;top:12px;right:12px}.place-card-body{padding:1rem 1.25rem}.place-card-title{color:#1a1a1a;margin-bottom:.4rem;font-size:1.1rem;font-weight:600}.place-card-address{color:#888;margin-bottom:.75rem;font-size:.85rem}.place-card-footer{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.price-range{color:#666;font-size:.9rem;font-weight:600}.place-tags{flex-wrap:wrap;gap:.4rem;display:flex}.place-tags .tag{padding:.2rem .5rem;font-size:.75rem}.badge-restaurant{color:#be123c;background:#ffe4e6;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-cafe{color:#065f46;background:#d1fae5;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-bar{color:#1e40af;background:#dbeafe;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-hotel{color:#92400e;background:#fef3c7;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.products-page{padding-top:80px;padding-bottom:60px}.product-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.product-link{background:var(--primary,#007bff);color:#fff;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.85rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.product-link:hover{opacity:.85}.products-page .page-title{text-align:center;margin-bottom:8px}.products-page .page-subtitle{text-align:center;color:var(--gray);margin-bottom:40px}.products-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.product-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.product-header{padding:20px 20px 0}.product-title{margin-bottom:8px;font-size:1.15rem}.product-category{background:var(--accent-light);color:var(--primary);border-radius:20px;padding:4px 10px;font-size:.8rem;display:inline-block}.product-body{padding:16px 20px}.product-description{color:var(--gray);margin-bottom:12px;font-size:.9rem;line-height:1.5}.product-price{margin-bottom:12px}.product-section{margin-bottom:16px}.product-section h4{color:var(--dark);margin-bottom:6px;font-size:.95rem}.product-section p{color:var(--gray);font-size:.9rem;line-height:1.5}.product-footer{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.product-author{color:#999;font-size:.8rem}.product-footer .btn-primary{padding:6px 16px;font-size:.85rem;text-decoration:none}@media (width<=1024px){.products-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.products-grid{grid-template-columns:1fr}}.auth-page{background:linear-gradient(135deg,#f0f4ff 0%,#e8f5e9 100%);justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:flex}.auth-container{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:48px 40px;box-shadow:0 20px 60px #00000014}.auth-header{text-align:center;margin-bottom:32px}.auth-icon{margin-bottom:12px;font-size:2.5rem;display:block}.auth-header h1{color:var(--dark);margin-bottom:8px;font-size:1.75rem;font-weight:800}.auth-header p{color:var(--gray);font-size:.95rem}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.auth-form .form-group{margin-bottom:20px}.auth-submit{justify-content:center;width:100%;margin-top:8px;padding:14px;font-size:1rem}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;border-top:1px solid var(--gray-light);color:var(--gray);margin-top:24px;padding-top:24px;font-size:.9rem}.auth-footer a{font-weight:600}.auth-demo{color:var(--gray);background:#f8fafc;border-radius:8px;margin-top:20px;padding:16px;font-size:.8rem;line-height:1.8}.auth-demo p{margin-bottom:4px}.design-settings-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.design-settings-modal{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.modal-header h2{color:#1a1a1a;margin:0;font-size:1.75rem}.close-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;transition:all .3s;display:flex}.close-btn:hover{color:#1a1a1a;background:#f0f0f0}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;outline:none}.form-group textarea{resize:vertical;min-height:100px;font-family:monospace}.color-group h3{color:#1a1a1a;margin:1.5rem 0 1rem;font-size:1.25rem}.color-input{align-items:center;gap:.75rem;display:flex}.color-input input[type=color]{cursor:pointer;border:1px solid #ddd;border-radius:6px;width:50px;height:40px;padding:2px}.color-input input[type=text]{flex:1}.message{color:#065f46;background:#d1fae5;border:1px solid #10b981;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.preview-section{background:#f8f9fa;border-radius:8px;margin:2rem 0;padding:1.5rem}.preview-section h3{color:#1a1a1a;margin:0 0 1rem;font-size:1.25rem}.preview-box{border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.preview-box h4{margin:0 0 .5rem;font-size:1.1rem}.preview-box p{margin:0 0 1rem;line-height:1.6}.preview-box button{color:#fff;cursor:pointer;border:none;border-radius:6px;margin-bottom:.5rem;margin-right:.5rem;padding:.5rem 1rem;font-weight:500}.form-actions{border-top:2px solid #e0e0e0;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-secondary{color:#fff;background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}@media (width<=768px){.design-settings-overlay{padding:1rem}.design-settings-modal{padding:1.5rem}.color-input{flex-direction:column;align-items:stretch}.color-input input[type=color]{width:100%}.form-actions{flex-direction:column}.btn{width:100%}}.dashboard-page{padding:2rem 0}.dashboard-title{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:700}.dashboard-subtitle{color:#666;margin-bottom:2rem}.view-mode-toggle{justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.toggle-btn{cursor:pointer;color:#666;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .3s}.toggle-btn:hover{color:#2563eb;border-color:#2563eb}.toggle-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.dashboard-tabs{border-bottom:2px solid #e0e0e0;gap:1rem;margin-bottom:2rem;display:flex}.tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s}.tab-btn:hover{color:#2563eb}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb}.content-list{flex-direction:column;gap:1.5rem;display:flex}.content-card{background:#fff;border-radius:12px;padding:1.5rem;transition:box-shadow .3s;box-shadow:0 2px 8px #0000001a}.content-card:hover{box-shadow:0 4px 16px #00000026}.content-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.content-info{flex:1}.content-title{color:#1a1a1a;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.content-subtitle{color:#666;margin-bottom:.5rem;font-size:.9rem}.content-meta{color:#888;flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.content-author{font-weight:500}.content-status{text-transform:capitalize;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.status-draft{color:#92400e;background:#fef3c7}.status-pending,.status-ready-to-publish{color:#1e40af;background:#dbeafe}.status-published{color:#065f46;background:#d1fae5}.status-rejected{color:#991b1b;background:#fee2e2}.content-date{color:#888}.content-actions{gap:.75rem;display:flex}.content-image{border-radius:8px;margin:1rem 0;overflow:hidden}.content-image img{object-fit:cover;width:100%;max-height:300px}.content-preview{background:#f8f9fa;border-radius:8px;max-height:200px;margin:1rem 0;padding:1rem;overflow-y:auto}.content-preview p{color:#444;margin:0;line-height:1.6}.content-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{color:#4338ca;background:#e0e7ff;border-radius:12px;padding:.25rem .75rem;font-size:.85rem}.loading{text-align:center;color:#666;padding:3rem}.empty-state{text-align:center;background:#fff;border-radius:12px;padding:3rem;box-shadow:0 2px 8px #0000001a}.empty-state p{color:#666;font-size:1.1rem}.error-message{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:1rem;padding:1rem}.access-denied{text-align:center;padding:3rem}.access-denied h1{color:#991b1b;margin-bottom:1rem}.access-denied p{color:#666}.btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.btn-outline{color:#2563eb;background:0 0;border:2px solid #2563eb}.btn-outline:hover:not(:disabled){color:#fff;background:#2563eb}.btn-success{color:#fff;background:#10b981}.btn-success:hover:not(:disabled){background:#059669}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.btn:disabled{opacity:.6;cursor:not-allowed}.create-new-bar{justify-content:flex-end;margin-bottom:1.5rem;display:flex}.create-new-bar .btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:760px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-content h2{color:#1a1a1a;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.modal-content form{flex-direction:column;gap:.75rem;display:flex}.modal-content label{color:#374151;margin-top:.25rem;font-size:.9rem;font-weight:600}.modal-content input,.modal-content select,.modal-content textarea{border:1px solid #d1d5db;border-radius:6px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.modal-content textarea{resize:vertical;min-height:60px}.modal-content input[type=file]{background:#f9fafb;border:1px dashed #d1d5db;padding:.4rem}.modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.rich-editor-toolbar{background:#f8fafc;border:1px solid #d1d5db;border-bottom:0;border-radius:6px 6px 0 0;flex-wrap:wrap;gap:.4rem;padding:.5rem;display:flex}.rich-editor-toolbar button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.35rem .55rem;font-size:.85rem}.rich-editor-toolbar button:hover{color:#2563eb;border-color:#2563eb}.rich-editor{color:#1f2937;border:1px solid #d1d5db;border-radius:0 0 6px 6px;min-height:240px;padding:1rem;line-height:1.7;overflow-y:auto}.rich-editor:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.rich-editor p,.content-preview p{margin:0 0 .75rem}.rich-editor a,.content-preview a{color:#2563eb;text-decoration:underline}.hidden-editor-file{display:none}.rich-editor figure,.content-preview figure{text-align:center;margin:1rem 0}.rich-editor img,.content-preview img{border-radius:8px;max-width:100%;height:auto;margin:0 auto;display:block}.rich-editor figcaption,.content-preview figcaption{color:#64748b;margin-top:.5rem;font-size:.85rem;font-style:italic}.article-link-builder{grid-template-columns:1fr 1.4fr 120px auto;align-items:center;gap:.5rem;display:grid}.article-links-editor{flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem;display:flex}.link-chip{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.85rem;display:inline-flex}.link-chip button{color:#1d4ed8;cursor:pointer;background:0 0;border:0;font-size:1rem;line-height:1}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}@media (width<=768px){.dashboard-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:120px}.content-header{flex-direction:column;gap:1rem}.content-actions{width:100%}.content-actions .btn{flex:1}}.visual-editor-page{flex-direction:column;max-width:1600px;min-height:calc(100vh - 64px);margin:0 auto;padding:2rem;display:flex}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.editor-header-left h1{color:#1a1a1a;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.editor-subtitle{color:#666;margin:0;font-size:.9rem}.editor-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.theme-picker-dropdown{position:relative}.theme-grid{z-index:100;background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:.5rem;min-width:240px;margin-top:4px;padding:.75rem;display:grid;position:absolute;top:100%;right:0;box-shadow:0 10px 40px #00000026}.theme-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem;font-family:inherit;transition:all .2s;display:flex}.theme-item:hover{border-color:#2563eb;box-shadow:0 2px 8px #2563eb1a}.theme-colors{gap:3px;display:flex}.theme-colors span{border:1px solid #ddd;border-radius:50%;width:16px;height:16px}.theme-name{color:#475569;font-size:.75rem}.editor-message{color:#065f46;background:#d1fae5;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.editor-layout{flex:1;grid-template-columns:220px 1fr 280px;gap:1rem;min-height:0;display:grid}.editor-sidebar{background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;overflow-y:auto;box-shadow:0 1px 4px #00000014}.editor-sidebar h3{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin:0;font-size:.75rem;font-weight:700}.page-list{flex-direction:column;gap:2px;display:flex}.page-list-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;width:100%;padding:.5rem .6rem;font-family:inherit;font-size:.85rem;transition:all .2s;display:flex}.page-list-item:hover{background:#f1f5f9}.page-list-item.active{color:#2563eb;background:#eff6ff;font-weight:600}.page-name{flex:1}.page-path{color:#94a3b8;font-size:.7rem;display:none}.page-list-item.active .page-path{display:inline}.page-has-css{color:#10b981;font-size:.5rem}.editor-center{background:#fff;border-radius:12px;flex-direction:column;min-height:500px;display:flex;overflow:hidden;box-shadow:0 1px 4px #00000014}.editor-tabs{background:#f1f5f9;border-bottom:1px solid #e2e8f0;gap:0;display:flex}.editor-tabs .tab-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s}.editor-tabs .tab-btn.active{color:#2563eb;background:#fff;border-bottom-color:#2563eb}.editor-page-title{border-bottom:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.editor-page-title h2{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.page-badge{color:#475569;background:#e2e8f0;border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.7rem}.section-count{color:#94a3b8;margin-left:auto;font-size:.75rem}.visual-blocks{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.visual-block{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s}.visual-block:hover{border-color:#94a3b8}.visual-block.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.visual-block.has-custom{background:#f0fdf4;border-color:#10b981}.visual-block.selected.has-custom{border-color:#2563eb}.block-header{-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.block-icon{font-size:1.2rem}.block-label{color:#1e293b;flex:1;font-size:.85rem;font-weight:500}.block-tag{color:#94a3b8;font-family:monospace;font-size:.7rem}.block-modified{font-size:.8rem}.block-props{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.prop-row{align-items:center;gap:.5rem;display:flex}.prop-row label{color:#475569;flex-shrink:0;min-width:100px;font-size:.78rem;font-weight:500}.prop-section{margin-bottom:.25rem}.prop-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0;margin-bottom:.25rem;padding:.35rem 0;font-size:.75rem;font-weight:600}.prop-row select{background:#fff;border:1px solid #d1d5db;border-radius:4px;flex:1;padding:.35rem .5rem;font-family:inherit;font-size:.8rem}.prop-text{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:.35rem .5rem;font-family:monospace;font-size:.8rem}.prop-text:focus,.prop-row select:focus{border-color:#2563eb;outline:none}.prop-color{flex:1;gap:.4rem;display:flex}.prop-color input[type=color]{cursor:pointer;border:1px solid #d1d5db;border-radius:4px;width:32px;height:30px;padding:1px}.prop-gradient{flex:1;align-items:center;gap:.4rem;display:flex}.gradient-preview{border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;width:30px;height:30px}.gradient-editor{flex-direction:column;flex:1;gap:.5rem;display:flex}.gradient-preview-bar{border:1px solid #d1d5db;border-radius:6px;justify-content:flex-end;align-items:center;width:100%;height:40px;padding:0 .5rem;display:flex;position:relative}.gradient-angle{background:#ffffffe6;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.7rem;display:flex}.gradient-angle label{color:#64748b;min-width:auto;font-size:.65rem}.angle-input{text-align:center;border:1px solid #d1d5db;border-radius:3px;width:40px;padding:.15rem .25rem;font-family:inherit;font-size:.75rem}.angle-input:focus{border-color:#2563eb;outline:none}.gradient-colors{flex-direction:column;gap:.35rem;display:flex}.gradient-color-row{align-items:center;gap:.35rem;display:flex}.gradient-color-picker{flex:1;align-items:center;gap:.35rem;display:flex}.gradient-color-picker input[type=color]{cursor:pointer;border:1px solid #d1d5db;border-radius:4px;width:28px;height:26px;padding:1px}.gradient-remove-btn{color:#991b1b;cursor:pointer;background:#fee2e2;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:flex}.gradient-add-btn{cursor:pointer;color:#64748b;background:0 0;border:1px dashed #94a3b8;border-radius:4px;padding:.3rem .5rem;font-family:inherit;font-size:.75rem;transition:all .2s}.gradient-add-btn:hover{color:#2563eb;background:#f0f4ff;border-color:#2563eb}.css-code-panel{flex-direction:column;flex:1;padding:1rem;display:flex}.css-code-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.css-code-header h3{color:#334155;margin:0;font-size:.9rem;font-weight:600}.css-code-output{color:#e2e8f0;white-space:pre-wrap;background:#1e293b;border-radius:8px;flex:1;min-height:300px;margin:0;padding:1rem;font-family:SF Mono,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow:auto}.css-info{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.78rem;line-height:1.4}.editor-right-panel{background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;box-shadow:0 1px 4px #00000014}.editor-right-panel h3{color:#1e293b;margin:0;font-size:.85rem;font-weight:600}.live-preview{border:2px dashed #e2e8f0;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:200px;padding:1rem;transition:background .3s;display:flex}.preview-content{text-align:center}.preview-section-icon{margin-bottom:.5rem;font-size:2rem}.preview-content h4{color:#1e293b;margin:0 0 .75rem;font-size:1rem;font-weight:600}.preview-props{text-align:left;flex-direction:column;gap:.3rem;display:flex}.preview-prop{gap:.5rem;font-family:monospace;font-size:.75rem;display:flex}.preview-prop-key{color:#64748b;min-width:80px}.preview-prop-val{color:#2563eb;word-break:break-all}.preview-empty{color:#94a3b8;text-align:center;padding:1rem;font-size:.85rem}.editor-tip{color:#1e40af;background:#eff6ff;border-radius:8px;padding:.6rem .75rem;font-size:.78rem;line-height:1.4}@media (width<=1100px){.editor-layout{grid-template-columns:180px 1fr}.editor-right-panel{display:none}}@media (width<=768px){.visual-editor-page{padding:1rem}.editor-layout{grid-template-columns:1fr}.editor-sidebar{max-height:200px}.editor-header-actions{width:100%}.theme-grid{left:0;right:auto}}.profile-page{padding:2rem 0}.profile-page h1{color:#333;margin-bottom:2rem;font-size:2rem}.profile-content{gap:2rem;display:grid}.profile-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.profile-section h2{color:#333;margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#555;margin-bottom:.5rem;font-weight:700;display:block}.form-group input,.form-group textarea{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.profile-form .btn,.password-form .btn,.avatar-form .btn{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .2s}.profile-form .btn:hover,.password-form .btn:hover,.avatar-form .btn:hover{opacity:.9}.btn-primary{color:#fff;background-color:#007bff}.btn-primary:disabled{cursor:not-allowed;background-color:#6c757d}.alert{border-radius:4px;margin-bottom:1rem;padding:1rem}.alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.avatar-preview{text-align:center;margin-bottom:1rem}.avatar-preview img{object-fit:cover;border:3px solid #007bff;border-radius:50%;width:150px;height:150px}.avatar-placeholder{background-color:#f8f9fa;border:3px dashed #ccc;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:0 auto;font-size:3rem;display:flex}.avatar-form .form-group{margin-bottom:1rem}.avatar-form input[type=file]{border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem}@media (width<=768px){.profile-content{grid-template-columns:1fr}.profile-page{padding:1rem 0}.profile-section{padding:1rem}}.user-management-page{padding:2rem 0}.user-management-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.search-bar{flex:1;min-width:300px}.search-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.user-count{color:#666;white-space:nowrap;font-size:.95rem}.user-table-wrapper{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 8px #0000001a}.user-table{border-collapse:collapse;width:100%;min-width:700px}.user-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:1rem 1.25rem;font-size:.85rem;font-weight:600}.user-table td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:.875rem 1.25rem;font-size:.95rem}.user-table tr:last-child td{border-bottom:none}.user-table tr:hover{background:#f8fafc}.user-table tr.current-user{background:#eff6ff}.user-table tr.current-user:hover{background:#dbeafe}.user-info-cell{align-items:center;gap:.75rem;display:flex}.user-avatar-small{background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.user-avatar-small img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{color:#64748b;text-transform:uppercase;font-size:1rem;font-weight:700}.user-details{flex-direction:column;gap:.15rem;display:flex}.user-name{color:#1e293b;font-weight:600}.user-username{color:#94a3b8;font-size:.8rem}.date-cell{color:#94a3b8;white-space:nowrap;font-size:.9rem}.actions-cell{text-align:center;white-space:nowrap}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.role-badge,.role-select{white-space:nowrap;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.role-select{cursor:pointer;text-align:center;border:2px solid #0000;min-width:130px;transition:all .2s}.role-select:hover{opacity:.8}.role-select:focus{border-color:#2563eb;outline:none}.role-super-admin{color:#9d174d;background:#fce7f3}.role-admin{color:#5b21b6;background:#ede9fe}.role-editor{color:#1e40af;background:#dbeafe}.role-reviewer{color:#065f46;background:#d1fae5}.role-premium{color:#92400e;background:#fef3c7}.role-regular{color:#475569;background:#f1f5f9}.success-message{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:1rem;padding:1rem}.self-label{color:#94a3b8;font-size:.8rem;font-style:italic}@media (width<=768px){.user-management-controls{flex-direction:column;align-items:stretch}.search-bar{min-width:auto}.user-count{text-align:right}}
