@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,600;0,700;0,900;1,900&family=Barlow+Condensed:wght@400;600;700;900&family=JetBrains+Mono:wght@400;600&display=swap');
:root{--black:#020912;--dark:#111;--dark2:#1a1a1a;--dark3:#222;--red:#e02020;--red-dim:rgba(224,32,32,0.15);--red-glow:rgba(224,32,32,0.35);--white:#f0f0f0;--grey:#777;--grey2:#444;--border:rgba(255,255,255,0.07);--border-red:rgba(224,32,32,0.3);--green:#22c55e;--yellow:#f5c542;--mono:'JetBrains Mono',monospace;--cond:'Barlow Condensed',sans-serif;--sans:'Barlow',sans-serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}img{max-width:100%;display:block;}a{color:inherit;text-decoration:none;}button{cursor:pointer;}
body{font-family:var(--sans);background:#020912;background-image:radial-gradient(ellipse 80% 40% at 50% -5%,rgba(224,32,32,0.1),transparent);color:var(--white);min-height:100vh;line-height:1.65;font-size:16px;}
/* HEADER */
.site-header{position:sticky;top:0;z-index:100;background:rgba(2,9,18,0.97);border-bottom:1px solid var(--border);backdrop-filter:blur(12px);padding:0 3rem;height:64px;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.logo{display:flex;align-items:center;gap:0;font-family:var(--cond);font-weight:900;font-size:1.25rem;letter-spacing:0.04em;color:var(--white);white-space:nowrap;}
.logo-bracket{display:inline-flex;flex-direction:column;justify-content:space-between;height:32px;width:10px;flex-shrink:0;}
.logo-bracket span{display:block;background:var(--white);border-radius:1px;}
.logo-bracket.left span:nth-child(1){width:10px;height:3px;}.logo-bracket.left span:nth-child(2){width:3px;height:100%;}
.logo-bracket.right span:nth-child(1){width:3px;height:100%;margin-left:auto;}.logo-bracket.right span:nth-child(2){width:10px;height:3px;margin-left:auto;}
.logo-text{padding:0 0.55rem;line-height:1.1;}.logo-text strong{display:block;font-size:1.1rem;}
.logo-text em{display:block;font-style:italic;font-size:0.72rem;color:var(--red);letter-spacing:0.12em;font-weight:700;text-transform:uppercase;}
.site-nav{display:flex;align-items:center;gap:0.2rem;flex:1;justify-content:center;}
.site-nav a{font-family:var(--mono);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--grey);padding:0.45rem 0.85rem;border-radius:4px;transition:color 160ms,background 160ms;position:relative;}
.site-nav a:hover,.site-nav a.active{color:var(--white);background:rgba(255,255,255,0.06);}
.site-nav a.active::after{content:'';position:absolute;bottom:-1px;left:50%;width:20px;height:2px;background:var(--red);transform:translateX(-50%);}
.nav-sep{width:1px;height:14px;background:var(--border);margin:0 0.4rem;}
.header-auth{display:flex;align-items:center;gap:0.75rem;}
.user-chip{display:flex;align-items:center;gap:0.5rem;padding:0.3rem 0.75rem 0.3rem 0.4rem;border:1px solid var(--border);border-radius:999px;font-size:0.8rem;font-family:var(--mono);transition:border-color 160ms;}
.user-chip:hover{border-color:rgba(255,255,255,0.2);}
.user-chip img{width:26px;height:26px;border-radius:50%;object-fit:cover;}
.user-role-badge{font-size:0.62rem;padding:0.12rem 0.5rem;border-radius:999px;font-family:var(--mono);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
.role-super_admin{background:rgba(224,32,32,0.2);color:var(--red);border:1px solid var(--red-dim);}
.role-admin{background:rgba(255,180,0,0.15);color:#ffb400;border:1px solid rgba(255,180,0,0.25);}
.role-support{background:rgba(80,160,255,0.15);color:#50a0ff;border:1px solid rgba(80,160,255,0.25);}
.role-membre{background:rgba(255,255,255,0.06);color:var(--grey);border:1px solid var(--border);}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.7rem 1.5rem;border-radius:4px;font-family:var(--mono);font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;border:1px solid transparent;transition:transform 140ms,box-shadow 140ms,background 140ms,border-color 140ms;white-space:nowrap;cursor:pointer;}
.btn-red{background:var(--red);color:#fff;box-shadow:0 0 20px var(--red-glow);}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 0 30px var(--red-glow);}
.btn-outline{background:transparent;color:var(--white);border-color:var(--border);}
.btn-outline:hover{border-color:rgba(255,255,255,0.25);background:rgba(255,255,255,0.04);}
.btn-discord{background:#5865F2;color:#fff;box-shadow:0 0 20px rgba(88,101,242,0.35);}
.btn-discord:hover{transform:translateY(-2px);}
.btn-sm{padding:0.45rem 0.9rem;font-size:0.7rem;}
.btn-danger{background:rgba(224,32,32,0.15);color:var(--red);border-color:var(--red-dim);}
.btn-danger:hover{background:rgba(224,32,32,0.25);}
.btn-success{background:rgba(34,197,94,0.15);color:#22c55e;border-color:rgba(34,197,94,0.25);}
.btn-success:hover{background:rgba(34,197,94,0.25);}
/* LAYOUT */
.wrap{max-width:1200px;margin:0 auto;padding:0 3rem;}
.wrap-narrow{max-width:860px;margin:0 auto;padding:0 3rem;}
/* HERO */
.hero{padding:5rem 3rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:4rem;align-items:center;}
.hero-eyebrow{font-family:var(--mono);font-size:0.72rem;color:var(--red);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:1.2rem;display:flex;align-items:center;gap:0.7rem;}
.hero-eyebrow::before{content:'';display:block;width:28px;height:2px;background:var(--red);}
.hero h1{font-family:var(--cond);font-weight:900;font-size:clamp(3.2rem,6vw,5.5rem);line-height:0.92;letter-spacing:0.01em;margin-bottom:1.4rem;text-transform:uppercase;}
.hero h1 .strike{position:relative;color:rgba(255,255,255,0.35);display:inline-block;}
.hero h1 .strike::after{content:'';position:absolute;left:0;right:0;top:50%;height:3px;background:var(--red);transform:rotate(-4deg) translateY(-50%);}
.hero h1 .red-italic{font-style:italic;color:var(--red);display:block;font-size:0.75em;}
.hero-desc{color:var(--grey);font-size:1rem;max-width:480px;margin-bottom:2rem;line-height:1.7;}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.85rem;margin-bottom:2rem;}
/* MDT CARD */
.hero-mdt{background:var(--dark2);border:1px solid rgba(224,32,32,0.3);border-radius:8px;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,0.5);}
.mdt-bar{background:var(--red);padding:0.6rem 1.1rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#fff;}
.mdt-dots{display:flex;gap:5px;}.mdt-dots span{width:9px;height:9px;border-radius:50%;}
.mdt-dots span:nth-child(1){background:#ff5f57;}.mdt-dots span:nth-child(2){background:#febc2e;}.mdt-dots span:nth-child(3){background:#28c840;}
.mdt-body{padding:1.2rem;}.mdt-row{display:flex;justify-content:space-between;padding:0.65rem 0;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:0.78rem;}.mdt-row:last-child{border-bottom:none;}
.mdt-key{color:var(--grey2);}.mdt-val{color:var(--white);font-weight:600;}.mdt-val.red{color:var(--red);}.mdt-val.green{color:#22c55e;}.mdt-val.yellow{color:var(--yellow);}
.mdt-dot-live{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;margin-right:5px;box-shadow:0 0 6px #22c55e;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.35}}
/* SECTIONS */
.section{padding:4rem 0;border-top:1px solid var(--border);}.section:first-child{border-top:none;}.section.no-border{border-top:none;padding-top:0;}
.section-label{font-family:var(--mono);font-size:0.7rem;font-weight:600;color:var(--red);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:0.6rem;}
.section h2{font-family:var(--cond);font-weight:900;font-size:clamp(1.8rem,3vw,2.6rem);text-transform:uppercase;letter-spacing:0.02em;line-height:1.05;margin-bottom:0.5rem;}
.section-sub{color:var(--grey);max-width:520px;margin-bottom:2.2rem;font-size:0.95rem;}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;}
/* GRID */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;}
/* CARDS */
.card{background:var(--dark2);border:1px solid var(--border);border-radius:6px;padding:1.6rem;display:block;transition:border-color 180ms,transform 180ms;position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 220ms ease;}
.card:hover{border-color:rgba(255,255,255,0.15);transform:translateY(-3px);}.card:hover::before{transform:scaleX(1);}
.card-icon{width:42px;height:42px;background:var(--red-dim);border:1px solid var(--border-red);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;font-size:1.1rem;}
.card h3{font-family:var(--cond);font-weight:700;font-size:1.15rem;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.5rem;}
.card p{color:var(--grey);font-size:0.9rem;}
/* TAGS */
.tag{display:inline-block;padding:0.2rem 0.6rem;border-radius:3px;font-family:var(--mono);font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.8rem;}
.tag-red{background:var(--red-dim);color:var(--red);border:1px solid var(--border-red);}
.tag-white{background:rgba(255,255,255,0.06);color:var(--grey);border:1px solid var(--border);}
.tag-green{background:rgba(34,197,94,0.12);color:#22c55e;border:1px solid rgba(34,197,94,0.25);}
.tag-yellow{background:rgba(245,197,66,0.12);color:#f5c542;border:1px solid rgba(245,197,66,0.25);}
/* PAGE HERO */
.page-hero{padding:3.5rem 3rem 3rem;max-width:1200px;margin:0 auto;border-bottom:1px solid var(--border);}
.page-hero h1{font-family:var(--cond);font-weight:900;font-size:clamp(2.4rem,5vw,4rem);text-transform:uppercase;letter-spacing:0.02em;line-height:1;margin-bottom:0.9rem;}
.page-hero p{color:var(--grey);max-width:560px;font-size:0.97rem;margin-bottom:1.6rem;}
/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;}
.photo-card{border-radius:6px;overflow:hidden;aspect-ratio:4/3;position:relative;background:var(--dark3);border:1px solid var(--border);transition:transform 200ms,box-shadow 200ms;}
.photo-card:hover{transform:scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,0.5);}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform 300ms;}.photo-card:hover img{transform:scale(1.06);}
.photo-card-info{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 40%,rgba(0,0,0,0.88));padding:1rem;opacity:0;transition:opacity 200ms;}.photo-card:hover .photo-card-info{opacity:1;}
.photo-card-title{font-weight:700;font-size:0.9rem;}
.photo-card-author{display:flex;align-items:center;gap:0.4rem;margin-top:0.3rem;font-family:var(--mono);font-size:0.7rem;color:var(--grey);}
.photo-card-author img{width:18px;height:18px;border-radius:50%;}
/* UPLOAD ZONE */
.upload-zone{border:2px dashed var(--border);border-radius:8px;padding:2.5rem;text-align:center;background:var(--dark2);transition:border-color 200ms,background 200ms;cursor:pointer;}
.upload-zone:hover,.upload-zone.drag-over{border-color:var(--red);background:var(--red-dim);}
.upload-zone p{color:var(--grey);font-size:0.92rem;}.upload-zone strong{color:var(--white);}
/* FORM */
.form-group{display:flex;flex-direction:column;gap:0.45rem;margin-bottom:1.1rem;}
.form-group label{font-family:var(--mono);font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--grey);}
.form-group input,.form-group textarea,.form-group select{background:var(--dark3);border:1px solid var(--border);border-radius:4px;padding:0.7rem 0.9rem;color:var(--white);font-family:var(--sans);font-size:0.93rem;outline:none;transition:border-color 150ms;width:100%;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--red);}
.form-group textarea{resize:vertical;min-height:80px;}
/* ADMIN LAYOUT */
.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px);}
.admin-sidebar{background:var(--dark);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;}
.admin-sidebar-brand{display:flex;align-items:center;gap:0.5rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--border);margin-bottom:0.5rem;color:var(--white);}
.admin-nav{display:flex;flex-direction:column;flex:1;overflow-y:auto;}
.admin-nav-group{padding:0.5rem 0.6rem;}
.admin-nav-group+.admin-nav-group{border-top:1px solid var(--border);margin-top:0.3rem;padding-top:0.8rem;}
.admin-nav-label{font-family:var(--mono);font-size:0.6rem;font-weight:700;color:var(--grey2);letter-spacing:0.18em;text-transform:uppercase;padding:0 0.6rem;margin-bottom:0.25rem;}
.admin-nav a{display:flex;align-items:center;gap:0.65rem;padding:0.65rem 0.8rem;font-family:var(--mono);font-size:0.72rem;font-weight:600;letter-spacing:0.08em;color:var(--grey);transition:color 150ms,background 150ms;border-left:2px solid transparent;border-radius:0 4px 4px 0;}
.admin-nav a:hover{color:var(--white);background:rgba(255,255,255,0.04);}
.admin-nav a.active{color:var(--white);border-left-color:var(--red);background:var(--red-dim);}
.admin-content{padding:2.5rem 3rem;}
.admin-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.admin-page-header h2{font-family:var(--cond);font-weight:900;font-size:1.8rem;text-transform:uppercase;letter-spacing:0.02em;line-height:1.05;}
.admin-section-title{font-family:var(--mono);font-size:0.68rem;font-weight:700;color:var(--grey2);letter-spacing:0.16em;text-transform:uppercase;}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem;}
.stat-card{background:var(--dark2);border:1px solid var(--border);border-radius:6px;padding:1.4rem 1.6rem;}
.stat-card-num{font-family:var(--cond);font-weight:900;font-size:2.6rem;line-height:1;color:var(--red);letter-spacing:0.03em;}
.stat-card-label{font-family:var(--mono);font-size:0.68rem;color:var(--grey);letter-spacing:0.14em;text-transform:uppercase;margin-top:0.3rem;}
.admin-table{width:100%;border-collapse:collapse;font-size:0.88rem;}
.admin-table th{font-family:var(--mono);font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--grey2);padding:0.6rem 0.9rem;text-align:left;border-bottom:1px solid var(--border);}
.admin-table td{padding:0.8rem 0.9rem;border-bottom:1px solid var(--border);color:var(--grey);vertical-align:middle;}
.admin-table td strong{color:var(--white);}
.admin-table tr:hover td{background:rgba(255,255,255,0.02);}
.admin-table .actions{display:flex;gap:0.5rem;align-items:center;}
.pending-card{background:var(--dark2);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:grid;grid-template-columns:120px 1fr auto;align-items:start;transition:border-color 180ms;}
.pending-card img{width:120px;height:90px;object-fit:cover;}
.pending-info{padding:1rem;}.pending-info h4{font-weight:700;margin-bottom:0.3rem;}
.pending-info .meta{font-family:var(--mono);font-size:0.7rem;color:var(--grey);display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.pending-info .meta img{width:16px;height:16px;border-radius:50%;}
.pending-actions{padding:1rem;display:flex;flex-direction:column;gap:0.5rem;}
/* MEMBER ROW */
.member-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--dark2);border:1px solid var(--border);border-radius:5px;padding:0.7rem 1rem;transition:border-color 160ms;}
.member-row:hover{border-color:rgba(255,255,255,0.13);}
.member-info{display:flex;align-items:center;gap:0.7rem;flex:1;min-width:0;}
.member-info img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.member-roles{display:flex;flex-wrap:wrap;gap:0.3rem;margin-top:0.25rem;}
.role-pill{display:inline-block;padding:0.08rem 0.5rem;border-radius:3px;font-family:var(--mono);font-size:0.6rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);}
.member-actions{display:flex;gap:0.5rem;flex-shrink:0;}
/* STATUS */
.status-badge{font-family:var(--mono);font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.6rem;border-radius:3px;display:inline-flex;align-items:center;gap:0.35rem;}
.status-badge::before{content:'';width:5px;height:5px;border-radius:50%;animation:pulse 2s infinite;}
.status-badge.online{background:rgba(34,197,94,0.12);color:#22c55e;border:1px solid rgba(34,197,94,0.25);}.status-badge.online::before{background:#22c55e;}
.status-badge.offline{background:rgba(239,68,68,0.12);color:#ef4444;border:1px solid rgba(239,68,68,0.25);}.status-badge.offline::before{background:#ef4444;}
/* STATUS PAGE */
.status-box{background:var(--dark2);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:2rem;}
.status-box-head{background:var(--dark3);padding:1rem 1.4rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);}
.status-box-head h3{font-family:var(--cond);font-weight:700;font-size:1.1rem;text-transform:uppercase;}
.status-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.status-stat{padding:1.4rem;text-align:center;border-right:1px solid var(--border);}.status-stat:last-child{border-right:none;}
.status-stat-n{font-family:var(--cond);font-weight:900;font-size:2.2rem;line-height:1;color:var(--red);}
.status-stat-l{font-family:var(--mono);font-size:0.65rem;color:var(--grey2);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.25rem;}
.player-bar-wrap{padding:1rem 1.4rem;border-top:1px solid var(--border);}
.player-bar-label{font-family:var(--mono);font-size:0.68rem;color:var(--grey2);letter-spacing:0.1em;text-transform:uppercase;display:flex;justify-content:space-between;margin-bottom:0.4rem;}
.player-bar-track{height:4px;background:var(--dark3);border-radius:2px;overflow:hidden;}
.player-bar-fill{height:100%;background:var(--red);border-radius:2px;}
/* ACCORDION */
.accordion{display:grid;gap:0.6rem;}
.acc-item{background:var(--dark2);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color 200ms;}
.acc-item.open{border-color:var(--border-red);}
.acc-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;cursor:pointer;font-family:var(--cond);font-weight:700;font-size:1.05rem;letter-spacing:0.04em;text-transform:uppercase;background:none;border:none;color:var(--white);width:100%;text-align:left;transition:color 180ms;}
.acc-header:hover{color:var(--red);}
.acc-arrow{font-size:0.7rem;font-family:var(--mono);color:var(--grey2);transition:transform 200ms;}
.acc-item.open .acc-arrow{transform:rotate(180deg);color:var(--red);}
.acc-body{display:none;padding:0 1.3rem 1.3rem;color:var(--grey);font-size:0.92rem;border-top:1px solid var(--border);}
.acc-item.open .acc-body{display:block;}
.acc-body ul{padding-left:0;list-style:none;display:grid;gap:0.4rem;}
.acc-body li{padding:0.45rem 0;display:flex;align-items:baseline;gap:0.6rem;border-bottom:1px solid rgba(255,255,255,0.03);}
.acc-body li:last-child{border:none;}
.acc-body li::before{content:'//';color:var(--red);font-family:var(--mono);font-size:0.75rem;flex-shrink:0;}
/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:1000;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:2rem;width:min(520px,calc(100vw - 3rem));max-height:90vh;overflow-y:auto;}
.modal h3{font-family:var(--cond);font-weight:900;font-size:1.4rem;text-transform:uppercase;margin-bottom:1.5rem;}
.modal-actions{display:flex;justify-content:flex-end;gap:0.6rem;margin-top:1.5rem;}
/* CHATBOT */
.chatbot-btn{position:fixed;bottom:1.5rem;right:1.5rem;width:58px;height:58px;border-radius:50%;background:var(--red);border:none;color:#fff;font-size:1.3rem;box-shadow:0 0 24px var(--red-glow);transition:transform 160ms,box-shadow 160ms;z-index:500;display:flex;align-items:center;justify-content:center;}
.chatbot-btn:hover{transform:scale(1.08);box-shadow:0 0 36px var(--red-glow);}
.chatbot-panel{display:none;position:fixed;bottom:5.5rem;right:1.5rem;width:min(360px,calc(100vw - 3rem));background:var(--dark2);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,0.5);overflow:hidden;z-index:500;}
.chatbot-panel.open{display:flex;flex-direction:column;}
.chatbot-head{background:var(--red);padding:0.8rem 1.1rem;font-family:var(--mono);font-size:0.72rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;display:flex;align-items:center;gap:0.5rem;}
.chatbot-head::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 2s infinite;}
.chatbot-msgs{flex:1;max-height:280px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:0.7rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.msg{padding:0.75rem 0.9rem;border-radius:6px;font-size:0.87rem;line-height:1.5;max-width:90%;word-break:break-word;}
.msg-user{background:rgba(224,32,32,0.18);border:1px solid var(--border-red);align-self:flex-end;}
.msg-bot{background:var(--dark3);border:1px solid var(--border);align-self:flex-start;color:var(--grey);}
.chatbot-foot{padding:0.8rem;border-top:1px solid var(--border);display:flex;gap:0.5rem;}
.chatbot-foot input{flex:1;background:var(--dark3);border:1px solid var(--border);border-radius:4px;padding:0.6rem 0.85rem;color:var(--white);font-family:var(--sans);font-size:0.87rem;outline:none;}
.chatbot-foot input:focus{border-color:var(--red);}
.chatbot-foot button{background:var(--red);color:#fff;border:none;border-radius:4px;padding:0.6rem 0.9rem;font-family:var(--mono);font-size:0.74rem;font-weight:600;letter-spacing:0.1em;cursor:pointer;transition:opacity 150ms;}
.chatbot-foot button:hover{opacity:0.85;}
/* TOAST */
.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:0.6rem;}
.toast{background:var(--dark2);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:6px;padding:0.85rem 1.2rem;font-family:var(--mono);font-size:0.8rem;color:var(--white);max-width:320px;box-shadow:0 8px 30px rgba(0,0,0,0.4);animation:slideIn 300ms ease;}
.toast.success{border-left-color:#22c55e;}.toast.error{border-left-color:var(--red);}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
/* FOOTER */
.site-footer{border-top:1px solid var(--border);padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:0.7rem;color:var(--grey2);letter-spacing:0.06em;margin-top:4rem;}
.footer-links{display:flex;gap:1.5rem;}.footer-links a:hover{color:var(--white);}
/* LOGIN WALL */
.login-wall{text-align:center;padding:4rem 2rem;max-width:480px;margin:0 auto;}
.login-wall h2{font-family:var(--cond);font-weight:900;font-size:2rem;text-transform:uppercase;margin-bottom:0.7rem;}
.login-wall p{color:var(--grey);margin-bottom:1.8rem;}
/* REVEAL */
.reveal{opacity:0;transform:translateY(16px);transition:opacity 0.45s ease,transform 0.45s ease;}
.reveal.visible{opacity:1;transform:none;}
/* EMPTY STATE */
.empty-state{text-align:center;padding:3rem 2rem;background:var(--dark2);border:1px dashed var(--border);border-radius:8px;color:var(--grey);font-size:0.9rem;}
/* TOGGLE SWITCH */
.toggle-switch{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0;}
.toggle-switch input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--dark3);border:1px solid var(--border);border-radius:22px;transition:background 200ms;}
.toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:var(--grey2);border-radius:50%;transition:transform 200ms,background 200ms;}
input:checked+.toggle-slider{background:var(--red-dim);border-color:var(--red);}
input:checked+.toggle-slider::before{transform:translateX(20px);background:var(--red);}
/* RESPONSIVE */
@media(max-width:1024px){.hero{grid-template-columns:1fr;}.grid-3{grid-template-columns:repeat(2,1fr);}.admin-stats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.site-header{padding:0 1.25rem;}.hero{padding:3rem 1.25rem;}.page-hero{padding:2rem 1.25rem;}.wrap,.wrap-narrow{padding:0 1.25rem;}.grid-3,.grid-2{grid-template-columns:1fr;}.site-nav{display:none;}.admin-layout{grid-template-columns:1fr;}.admin-sidebar{display:none;}.admin-content{padding:1.5rem 1.25rem;}.status-stats{grid-template-columns:repeat(2,1fr);}.site-footer{flex-direction:column;gap:0.75rem;text-align:center;}.footer-links{justify-content:center;}.pending-card{grid-template-columns:80px 1fr;}.pending-actions{grid-column:1/-1;flex-direction:row;padding:0 1rem 1rem;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;}.reveal{opacity:1;transform:none;}}

