.nav-eyebrow{font-size:0.78rem; color:var(--muted);}
.admin-wrap{max-width:960px; padding:64px 32px;}
.admin-login{max-width:380px; margin:80px auto;}
.admin-login .modal-box{position:static; max-width:none;}
table.admin-table{width:100%; border-collapse:collapse; margin-top:24px; font-size:0.88rem;}
table.admin-table th{text-align:left; color:var(--muted); font-weight:600; padding:10px 12px; border-bottom:1px solid var(--line); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.03em;}
table.admin-table td{padding:12px; border-bottom:1px solid var(--line); vertical-align:top;}
table.admin-table tr:last-child td{border-bottom:none;}
table.admin-table tr.row-clickable{cursor:pointer;}
table.admin-table tr.row-clickable:hover td{background:rgba(242,238,226,0.03);}
table.admin-table tr.row-online td{background:rgba(63,174,133,0.06);}
table.admin-table tr.row-struggling td{background:rgba(232,136,136,0.08);}
.badge-role{display:inline-block; background:rgba(199,162,92,0.14); color:var(--gold); font-size:0.72rem; padding:3px 9px; border-radius:100px; font-family:'IBM Plex Mono',monospace;}
.badge-online{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--emerald); margin-right:6px;}
.badge-struggling{display:inline-block; background:rgba(232,136,136,0.16); color:#E88; font-size:0.68rem; padding:2px 8px; border-radius:100px; margin-left:8px;}
.admin-tabs{display:flex; gap:6px; background:var(--ink-2); border:1px solid var(--line); border-radius:9px; padding:4px; margin:24px 0; width:fit-content;}
.admin-tab{padding:9px 18px; border-radius:6px; font-size:0.86rem; font-weight:600; color:var(--muted); background:none; border:none; cursor:pointer; font-family:'Inter',sans-serif;}
.admin-tab.active{background:var(--gold); color:var(--ink);}
.admin-tab-panel{display:none;}
.admin-tab-panel.active{display:block;}
.access-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); font-size:0.86rem;}
.access-row:last-child{border-bottom:none;}
.access-empty{color:var(--emerald); font-size:0.9rem; padding:16px 0;}
.chat-thread-list{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:20px;}
.chat-thread-item{background:var(--ink-2); padding:14px 16px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-size:0.88rem; transition:background .12s ease;}
.chat-thread-item:hover{background:var(--ink);}
.unread-badge{background:var(--gold); color:var(--ink); font-size:0.7rem; font-weight:700; padding:2px 8px; border-radius:100px;}
.feedback-review-list{display:flex; flex-direction:column; gap:14px; margin-top:20px;}
.feedback-review-item{border:1px solid var(--line); border-radius:12px; background:var(--ink-2); padding:18px 20px;}
.feedback-review-item p{font-family:'Fraunces',serif; font-size:0.98rem; line-height:1.5; margin-bottom:12px;}
.feedback-review-meta{font-size:0.78rem; color:var(--muted); margin-bottom:14px;}
.feedback-review-actions{display:flex; gap:10px;}
.feedback-review-actions .btn-ghost{padding:8px 18px; font-size:0.82rem;}

/* Shared "detail" panel — the user-profile popup (access/ban/delete) and
   the support chat conversation view. Previously a pile of ad-hoc inline
   styles on each block in admin.html; centralized here so both look and
   behave the same and are easy to restyle in one place. */
.detail-panel{margin-top:24px; border:1px solid var(--line); border-radius:14px; background:var(--ink-2); padding:26px 28px; box-shadow:0 12px 32px rgba(0,0,0,0.28);}
.detail-panel-head{display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line);}
.detail-panel-head h3{font-size:1.15rem;}
.detail-panel-head .modal-close{position:static;}
.detail-section{padding:18px 0; border-bottom:1px solid var(--line);}
.detail-section:first-of-type{padding-top:0;}
.detail-section:last-child{border-bottom:none; padding-bottom:0;}
.detail-section-label{font-size:0.82rem; color:var(--muted); margin-bottom:12px; font-weight:600;}
.detail-section-label strong{color:var(--paper);}
.detail-inline-form{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.detail-inline-form .form-input{width:auto; flex:1; min-width:180px;}
.detail-inline-form input[type="datetime-local"]{flex:none;}
.detail-hint{font-size:0.76rem; color:var(--muted); margin-top:10px;}
.detail-danger-zone{border:1px solid rgba(232,136,136,0.3); border-radius:10px; padding:18px 20px; background:rgba(232,136,136,0.05); margin-top:4px;}
.detail-danger-zone .detail-section-label{color:#E88;}
.btn-danger{background:transparent; border:1px solid rgba(232,136,136,0.5); color:#E88; padding:10px 18px; border-radius:8px; font-weight:600; font-size:0.85rem; cursor:pointer; font-family:'Inter',sans-serif;}
.btn-danger:hover{background:rgba(232,136,136,0.12); border-color:#E88;}

.chat-log{max-height:360px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; margin-bottom:16px;}
.chat-bubble{max-width:75%; padding:10px 14px; border-radius:10px; font-size:0.86rem; line-height:1.4;}
.chat-bubble.from-user{align-self:flex-start; background:var(--ink);}
.chat-bubble.from-admin{align-self:flex-end; background:rgba(199,162,92,0.16);}
.chat-bubble .chat-meta{display:block; font-size:0.68rem; color:var(--muted); margin-top:4px;}
.chat-reply-row{display:flex; gap:10px;}
.chat-reply-row textarea{flex:1; background:var(--ink); border:1px solid var(--line); color:var(--paper); padding:10px 12px; border-radius:8px; font-family:'Inter',sans-serif; font-size:0.88rem; resize:vertical; min-height:44px;}
