@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Montserrat:wght@300;400;500;600&display=swap";
:root{--background:#0a0a0a;--foreground:#fff;--primary:#d4af37;--primary-hover:#b5952f;--surface:#141414;--surface-light:#1f1f1f;--border:#333;--text-muted:#a0a0a0;--error:#ef4444;--success:#10b981;--radius:4px;--shadow:0 4px 20px #00000080;--shadow-lg:0 10px 40px #000c;--shadow-gold:0 4px 20px #d4af3726;--font-heading:"Cinzel",serif;--font-body:"Montserrat",sans-serif}html,body{max-width:100vw;font-family:var(--font-body);background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-weight:300;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:1px;margin-top:0;font-weight:400}*{box-sizing:border-box}a{color:inherit;text-decoration:none;transition:color .3s}a:hover{color:var(--primary)}.auth-container{background:radial-gradient(circle,#1a1a1a 0%,#000 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-form{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-gold);border:1px solid var(--border);flex-direction:column;gap:1.5rem;width:100%;max-width:420px;padding:3rem 2.5rem;display:flex;position:relative;overflow:hidden}.auth-form:before{content:"";background:linear-gradient(90deg,transparent,var(--primary),transparent);width:100%;height:2px;position:absolute;top:0;left:0}.auth-form h1{text-align:center;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin:0 0 1rem;font-size:1.75rem}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:500}.input-group input,.input-group select,.input-group textarea{background:var(--surface-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-family:var(--font-body);outline:none;padding:1rem;font-size:1rem;transition:all .3s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}button{background:var(--primary);color:#000;border-radius:var(--radius);font-family:var(--font-body);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;border:none;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s}button:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}button:active{transform:scale(.98)}button.secondary{color:var(--primary);border:1px solid var(--primary);background:0 0}button.secondary:hover{background:#d4af371a}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.error-msg{color:var(--error);border-left:3px solid var(--error);background:#ef44441a;margin:0;padding:1rem;font-size:.875rem}.auth-form p{text-align:center;color:var(--text-muted);font-size:.875rem}.auth-form a{color:var(--primary);font-weight:500}.dashboard-container{max-width:900px;margin:0 auto;padding:3rem 1.5rem}.dashboard-header{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:3rem;padding:2rem;display:flex;position:relative;overflow:hidden}.dashboard-header:before{content:"";background:var(--primary);width:3px;position:absolute;top:0;bottom:0;left:0}.dashboard-header h1{color:var(--foreground);margin-bottom:.5rem;font-size:2rem}.dashboard-header p{color:var(--primary);letter-spacing:1px;font-size:1.1rem;font-weight:400}.guest-page-header{background:0 0;border-bottom:1px solid #d4af3733;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:3rem;padding:2rem 0;display:flex;position:relative}.guest-page-header h1{color:var(--foreground);margin-bottom:.5rem;font-size:clamp(1.8rem,5vw,2.5rem)}.guest-page-header p{color:var(--primary);letter-spacing:2px;font-size:1rem;font-weight:500}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.dashboard-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);flex-direction:column;align-items:flex-start;padding:2rem;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;position:relative;overflow:hidden}.dashboard-card:after{content:"";background:var(--primary);transform-origin:100%;width:100%;height:2px;transition:transform .4s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.dashboard-card:hover{box-shadow:var(--shadow-gold);border-color:#d4af374d;transform:translateY(-8px)}.dashboard-card:hover:after{transform-origin:0;transform:scaleX(1)}.card-icon{color:var(--primary);margin-bottom:1.5rem;font-size:2.5rem}.dashboard-card h3{color:var(--foreground);margin-bottom:.75rem;font-size:1.25rem}.dashboard-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.dashboard-secondary-link{border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);text-transform:uppercase;letter-spacing:1px;background:0 0;padding:1rem 2rem;font-size:.875rem;transition:all .3s;display:inline-block}.dashboard-secondary-link:hover{border-color:var(--primary);color:var(--primary);box-shadow:inset 0 0 10px #d4af371a}.spinner{color:var(--primary);font-size:2rem;animation:2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-container{background:var(--surface);max-width:700px;height:100vh;box-shadow:var(--shadow-lg);border-left:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;margin:0 auto;display:flex}.chat-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.chat-header h1{color:var(--primary);font-size:1.5rem}.chat-interface{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-messages{background:var(--background);flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.chat-bubble-wrapper{flex-direction:column;max-width:75%;display:flex}.chat-bubble-wrapper.mine{align-self:flex-end;align-items:flex-end}.chat-bubble-wrapper.theirs{align-self:flex-start;align-items:flex-start}.chat-bubble{border-radius:var(--radius);word-wrap:break-word;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5}.chat-bubble.mine{background:var(--primary);color:#000;border-bottom-right-radius:0}.chat-bubble.theirs{background:var(--surface-light);color:var(--foreground);border:1px solid var(--border);border-bottom-left-radius:0}.chat-time{color:var(--text-muted);margin-top:.5rem;font-size:.75rem}.chat-input-form{background:var(--surface);border-top:1px solid var(--border);gap:1rem;padding:1.5rem 2rem;display:flex}.chat-input-form input{background:var(--background);border:1px solid var(--border);color:var(--foreground);font-family:var(--font-body);border-radius:30px;outline:none;flex:1;padding:1rem 1.5rem}.chat-input-form input:focus{border-color:var(--primary);box-shadow:0 0 0 1px #d4af374d}.chat-input-form button{border-radius:30px;padding:1rem 2rem}.admin-layout{background:var(--background);min-height:100vh;display:flex}.admin-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:280px;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--border);text-align:center;padding:2rem 1.5rem}.sidebar-brand h2{color:var(--primary);letter-spacing:2px;font-size:1.5rem}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:2rem 1rem;display:flex;overflow-y:auto}.sidebar-link{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;text-transform:uppercase;letter-spacing:1px;border:none;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:.95rem;font-weight:400;transition:all .3s;display:flex}.sidebar-link:hover{background:var(--surface-light);color:var(--primary)}.sidebar-link.active{color:var(--primary);border-left:3px solid var(--primary);border-radius:0 var(--radius)var(--radius)0;background:linear-gradient(90deg,#d4af371a,#0000)}.sidebar-badge{background:var(--primary);color:#000;border-radius:12px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:1.5rem}.admin-main{flex:1;padding:3rem;overflow-y:auto}.admin-page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1.5rem;display:flex}.admin-page-header h1{color:var(--primary);margin:0;font-size:2rem}.admin-table-container{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.admin-table th{background:var(--surface-light);font-family:var(--font-heading);color:var(--primary);letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-weight:600}.admin-table tr{transition:background-color .2s}.admin-table tr:hover{background:#ffffff05}.admin-table td{color:var(--foreground);font-size:.95rem}.status-badge{text-transform:uppercase;letter-spacing:1px;border-radius:4px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.pending{color:var(--primary);border:1px solid var(--primary);background:#d4af371a}.status-badge.active{color:var(--success);border:1px solid var(--success);background:#10b9811a}.status-badge.rejected{color:var(--error);border:1px solid var(--error);background:#ef44441a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
