.app{min-height:100vh;display:flex;flex-direction:column}.top-nav{background:#1a1a1a;border-bottom:1px solid #333;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-brand h1{margin:0;font-size:1.5rem;color:#fff}.nav-links{display:flex;gap:.5rem;flex:1}.nav-link{background:transparent;border:none;color:#aaa;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#646cff;color:#fff}.nav-badge{font-size:.75rem}.nav-user{display:flex;align-items:center;gap:1rem}.user-info-compact{display:flex;align-items:center;gap:.75rem}.user-avatar-nav{width:32px;height:32px;border-radius:50%;border:2px solid #646cff}.user-details-nav{display:flex;flex-direction:column;align-items:flex-start}.user-name-nav{color:#fff;font-size:.9rem;font-weight:500}.role-badge-nav{background-color:#646cff;color:#fff;padding:.15rem .5rem;border-radius:8px;font-size:.65rem;font-weight:600;text-transform:uppercase}.logout-button{background:transparent;border:1px solid #646cff;color:#646cff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s}.logout-button:hover{background:#646cff;color:#fff}.main-content{flex:1;background:#f5f5f5}.dashboard-content{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-content h2{margin-top:0;color:#333}.login-screen,.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.error-screen{background:#fee}.error-screen h1{color:#c33}.error-details{font-family:monospace;background:#c832321a;padding:1rem;border-radius:8px;margin:1rem 0;max-width:600px;color:#666}.login-screen h1{font-size:3rem;margin-bottom:1rem;color:#333}.login-screen p{font-size:1.2rem;color:#666;margin:.5rem 0}.login-message{margin:2rem 0 1rem;color:#aaa!important}.username-input{width:100%;max-width:500px;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#1a1a1a;color:#fff;margin:1rem 0;transition:border-color .3s}.username-input:focus{outline:none;border-color:#646cff}.username-input::placeholder{color:#666}.auth-button{background-color:#646cff;color:#fff;border:none;padding:.75rem 2rem;font-size:1.1em;border-radius:8px;cursor:pointer;transition:background-color .3s;margin-top:1rem}.auth-button:hover{background-color:#535bf2}.auth-button:active{background-color:#4249d8}.error-message{background-color:#f44336;color:#fff;padding:1rem;border-radius:8px;margin-bottom:2rem}.error-message p{color:#fff!important;margin:0}.error-banner{background-color:#f44336;color:#fff;padding:1rem 2rem;text-align:center}.error-banner p{margin:0}@media (max-width: 768px){.top-nav{flex-direction:column;align-items:flex-start;gap:1rem}.nav-links{flex-wrap:wrap;width:100%}.nav-user{width:100%;justify-content:space-between}}.debug-login-section{margin-top:2rem;padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.debug-divider{width:100%;max-width:300px;display:flex;align-items:center;margin-bottom:.5rem}.debug-divider:before,.debug-divider:after{content:"";flex:1;border-bottom:1px dashed #444}.debug-divider span{padding:0 1rem;color:#888;font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.debug-login-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a;border:none;padding:.6rem 1.5rem;font-size:.95em;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;gap:.5rem}.debug-login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2466}.debug-login-button:disabled{opacity:.6;cursor:not-allowed}.clear-session-button{background:transparent;color:#888;border:1px dashed #555;padding:.5rem 1rem;font-size:.85em;border-radius:6px;cursor:pointer;transition:all .2s}.clear-session-button:hover{border-color:#f87171;color:#f87171;background:#f871711a}@media (prefers-color-scheme: light){.main-content{background:#fafafa}.dashboard-content h2,.login-screen h1{color:#213547}.login-screen p{color:#666}.debug-divider:before,.debug-divider:after{border-bottom-color:#ccc}.debug-divider span{color:#999}.clear-session-button{color:#666;border-color:#ccc}.clear-session-button:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}}.products-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.page-header h1{margin:0;color:#333}.permission-badge{padding:.5rem 1rem;background:#f0f0f0;border-radius:20px;font-size:.9rem;font-weight:500}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.product-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.product-card:hover{box-shadow:0 4px 12px #0000001a}.product-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.product-header h3{margin:0;color:#333;font-size:1.1rem}.condition-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.condition-badge.excellent{background:#d4edda;color:#155724}.condition-badge.good{background:#d1ecf1;color:#0c5460}.condition-badge.like-new{background:#fff3cd;color:#856404}.product-details{margin-bottom:1rem}.product-price{font-size:1.5rem;font-weight:700;color:#007bff;margin-bottom:.5rem}.product-stock{color:#666;font-size:.9rem}.product-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #f0f0f0}.btn-edit,.btn-delete{flex:1;padding:.5rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#007bff;color:#fff}.btn-edit:hover{background:#0056b3}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.add-product-section{text-align:center;padding:2rem}.btn-add-product{padding:1rem 2rem;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-add-product:hover{background:#218838}.viewer-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:1rem;text-align:center;color:#856404}.viewer-notice p{margin:0}.access-denied p{color:#666;margin:.5rem 0}.admin-console{padding:2rem;max-width:1400px;margin:0 auto}.console-header{margin-bottom:2rem}.console-header h1{margin:0 0 .5rem;color:#333}.console-header p{margin:0;color:#666}.message{padding:1rem;border-radius:4px;margin-bottom:1rem;font-weight:500}.message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#007bff;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-section,.pages-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.users-section h2,.pages-section h2{margin-top:0;margin-bottom:1rem;color:#333}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th{background:#f8f9fa;padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.users-table td{padding:.75rem;border-bottom:1px solid #dee2e6}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar-small{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-weight:500;color:#333}.user-email{font-size:.85rem;color:#666}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-admin{background:#dc3545;color:#fff}.role-viewer{background:#6c757d;color:#fff}.permission-select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;background:#fff;cursor:pointer;min-width:120px}.permission-select:hover{border-color:#007bff}.permission-select:disabled{opacity:.5;cursor:not-allowed}.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.page-card{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;display:flex;gap:1rem;transition:box-shadow .2s}.page-card:hover{box-shadow:0 2px 8px #0000001a}.page-icon{font-size:2rem}.page-info h3{margin:0 0 .5rem;font-size:1rem;color:#333}.page-path{margin:0 0 .5rem;font-size:.85rem;color:#007bff;font-family:monospace}.page-description{margin:0;font-size:.85rem;color:#666}.access-denied{text-align:center;padding:4rem 2rem}.access-denied h2{color:#dc3545;margin-bottom:1rem}.access-denied p{color:#666}.loading{text-align:center;padding:4rem;color:#666}.debug-panel{position:fixed;bottom:16px;right:16px;background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:12px;font-family:Monaco,Courier New,monospace;font-size:11px;color:#0f0;z-index:9999;box-shadow:0 4px 12px #0006;transition:opacity .2s ease,transform .2s ease}.debug-panel.hidden .debug-content{display:none}.debug-toggle{position:absolute;top:4px;right:4px;background:transparent;border:none;color:#0f0;font-size:16px;cursor:pointer;padding:2px 6px;line-height:1;opacity:.6;transition:opacity .2s}.debug-toggle:hover{opacity:1}.debug-content{padding-top:8px;min-width:220px}.debug-row{display:flex;justify-content:space-between;margin-bottom:6px;gap:12px}.debug-row:last-child{margin-bottom:0}.debug-label{color:#888;font-weight:700}.debug-value{color:#0f0;text-align:right;word-break:break-all}@media (max-width: 480px){.debug-panel{font-size:9px;padding:8px;bottom:8px;right:8px}.debug-content{min-width:180px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto;text-align:center}
