/* Blackwatch Coalition | Transcript Portal v6.0
   Visual system: forged metal, restrained bone/silver highlights, graphite panels.
   Deliberately flat surfaces for excellent scroll and iframe performance. */
:root {
  color-scheme: dark;
  --bg: #0b0c0e;
  --bg-elevated: #121315;
  --surface: #17191c;
  --surface-2: #1d2023;
  --surface-3: #23262a;
  --surface-soft: #17191c;
  --line: #343639;
  --line-soft: #292b2e;
  --line-strong: #545657;
  --text: #f0eee9;
  --text-soft: #d8d5cf;
  --muted: #b4b4b0;
  --muted-2: #8c8e8e;
  --ember: #cdc7ba;
  --ember-bright: #f0e9db;
  --ember-soft: rgba(205,199,186,.09);
  --gold: #d0c1a7;
  --gold-soft: rgba(208,193,167,.09);
  --teal: #a8c1ad;
  --teal-soft: rgba(168,193,173,.11);
  --discord: #6877e1;
  --blue: #d2cec6;
  --blue-soft: rgba(210,206,198,.09);
  --purple: #b6b6b2;
  --purple-soft: rgba(182,182,178,.10);
  --pink: #d0c3b0;
  --danger: #d58d87;
  --shadow: 0 22px 54px rgba(0,0,0,.32);
  --shadow-soft: 0 10px 26px rgba(0,0,0,.19);
  --radius-xl: 18px;
  --radius-lg: 14px;
  --radius-md: 11px;
  --radius-sm: 8px;
}
html { scroll-behavior:auto; }
body {
  background: linear-gradient(180deg,#101113 0%,#0b0c0e 360px,#0b0c0e 100%);
  color:var(--text);
  font-size:15px;
}
body::before { display:none; }
::selection {background:rgba(207,199,184,.36);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid #dbd1be;
  outline-offset:3px;
}
.shell { width:min(1380px,calc(100% - 56px)); }
.site-header { padding-top:12px;background:#101113; }
.header-inner {
  background:#17191c;
  border-color:#3a3b3c;
  border-radius:14px;
  min-height:76px;
  box-shadow:0 7px 21px rgba(0,0,0,.22);
}
.brand { gap:12px; }
.brand img {
  height:50px;width:50px;object-fit:contain;
  background:#111214;border:1px solid #464541;
  border-radius:50%;padding:2px;
  box-shadow:none;
}
.brand-name { color:#f1ede5;font-size:16px;font-weight:850;letter-spacing:.055em;text-transform:uppercase; }
.brand-subtitle { color:#b8b5ae;font-size:10px;letter-spacing:.14em;text-transform:uppercase; }
.portal-nav {background:#111315;border:1px solid #303134;border-radius:10px;box-shadow:none;}
.nav-link {border-radius:7px;color:#b2b2b1;font-size:12px;font-weight:690;}
.nav-link:hover {background:#27282b;color:#fff;}
.nav-link.active {
  color:#f0ece3;
  background:#303034;
  box-shadow:inset 0 0 0 1px #484947;
}
.header-actions { flex-wrap:wrap; }
.status-pill, .live-chip, .resolution-chip, .access-chip, .role-chip,
.verified-badge, .archive-count, .rating-chip {border-color:#4a4a48;background:#242528;border-radius:8px;}
.status-pill { color:#ddd9d0; }
.status-dot,.live-chip i {background:#a6c5b0;box-shadow:none;}
.button {border-radius:9px;font-size:12px;font-weight:740;transition:background-color .14s,border-color .14s,color .14s !important;}
.button:hover {transform:none!important}
.button-primary {
  background:linear-gradient(180deg,#e2ddd1,#b9b2a5);
  color:#171717;border:1px solid #ded5c7;box-shadow:none;
}
.button-primary:hover {background:#ece6da;color:#131313;box-shadow:none;}
.button-ghost,.button-muted {background:#242529;color:#e3e0db;border:1px solid #434444;}
.button-ghost:hover,.button-muted:hover {background:#343538;border-color:#696864;color:#fff;}
.button-discord {background:#5464d6;border-color:#7985e9;box-shadow:none;}
.button-discord:hover {background:#6171e4;box-shadow:none;}
.button-large {border-radius:10px;min-height:53px;}
.button-compact {border-radius:8px;}
.eyebrow {color:#c9c1b2;letter-spacing:.2em;font-weight:790;}
/* Landing */
.home-shell {padding-top:65px;}
.login-layout {gap:clamp(28px,5vw,88px);grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);}
.login-copy {max-width:700px;}
.login-copy h1 {font-size:clamp(48px,5.4vw,79px);line-height:1.02;letter-spacing:-.052em;}
.login-copy h1 span {
  color:#d2cec5;
  background:linear-gradient(120deg,#eee9df,#bcb7af 65%,#f5f1e8);
  background-clip:text;-webkit-background-clip:text;
}
.hero-lead {max-width:590px;color:#bdbbb7;font-size:16px;line-height:1.7;}
.login-note {color:#a7a7a2;}
.mini-shield {color:#cfc7b7;}
.login-panel {
  position:relative;padding:29px 30px;
  background:linear-gradient(144deg,#212327,#17191c 60%,#161719);
  border:1px solid #444441;border-radius:18px;
  box-shadow:0 20px 48px rgba(0,0,0,.3);
}
.login-panel::before {left:25px;right:25px;height:1px;background:linear-gradient(90deg,transparent,#d5cabb,transparent);}
.login-panel-top {font-size:11px;letter-spacing:.04em;}
.login-panel-brand {border-bottom:1px solid #3a3a39;}
.login-panel-brand img {
  height:92px;width:92px;padding:3px;object-fit:contain;
  border:1px solid #57534d;border-radius:50%;background:#101113;
  box-shadow:none;
}
.login-panel-brand h2 {color:#f0ece4;font-size:21px;letter-spacing:.01em;text-transform:uppercase;}
.login-panel-brand p {color:#b7b4ae;font-size:12px;}
.live-chip,.verified-badge {color:#cce4d0;border-color:#57705f;background:#26342b;}
.login-benefits {border-top:0;}
.login-benefit {border-bottom-color:#363739;}
.login-benefit-icon,.info-card>span {color:#cfc6b7;}
.login-benefit b {color:#ece9e3;font-size:13px;}
.login-benefit small {color:#a8aba9;font-size:11px;}
.home-info {padding-top:70px;}
.info-card {background:#181a1d;border-color:#393a3a!important;border-radius:13px;box-shadow:none;}
.info-card:hover {border-color:#696760!important;background:#202225;}
.info-card h3 {font-size:17px;color:#eeece6;}
.info-card p {color:#a9aaa7;}
/* Dashboard overview */
.dashboard-shell {padding-top:36px;}
.dashboard-hero {
  background:linear-gradient(115deg,#1b1d20,#222428 70%,#1a1b1d);
  border-color:#464644;border-radius:16px;
  box-shadow:none;padding:33px;
}
.dashboard-hero::after {background:linear-gradient(90deg,transparent,#aba597,transparent);opacity:.75;}
.dashboard-intro h1 {color:#f1eee7;font-size:clamp(35px,3.8vw,53px);}
.dashboard-intro p {color:#b9b7b3;}
.account-card {background:#161719;border:1px solid #474745;border-radius:12px;box-shadow:none;}
.account-avatar {border-radius:9px;}
.account-copy > span:last-child {color:#bab8b2;}
.stats-grid {gap:12px;}
.stat-card {background:#191b1e;border:1px solid #353637;border-radius:13px;box-shadow:none;}
.stat-card:nth-child(n) {border-top:2px solid #66635c;}
.stat-card::after {display:none!important;}
.stat-label {color:#b2b0ab;}
.stat-value-row b {color:#f1eee7;}
.stat-card small,.stat-icon {color:#aaa9a4;}
.archive-sidebar,.archive-panel {
  background:#17191c;border:1px solid #38393a;border-radius:15px;box-shadow:none;
}
.archive-sidebar {top:100px;}
.sidebar-note {background:#222427;border-color:#42413e;color:#adaeaa;}
.filter-chip {border-radius:8px;color:#b9b8b2;}
.filter-chip:hover {background:#2a2b2d;color:#f8f6ef;}
.filter-chip.active {
  border-color:#6a665d;color:#f1ede6;background:#323330;
}
.filter-chip.active b {background:#4a4a44;color:#f3eee3;}
.archive-title-row h2 {color:#eeece6;}
.search-wrap,.sort-wrap {background:#121416;border-color:#434443;border-radius:9px;}
.search-wrap:focus-within {border-color:#a8a190;box-shadow:0 0 0 3px rgba(218,207,187,.08);}
.search-wrap input,.sort-wrap select {color:#eae7df;}
.ticket-list-header {color:#a7a49d;}
.ticket-grid {gap:7px;}
.ticket-card {
  background:#202225;border:1px solid #363839;border-radius:10px;
  box-shadow:none;transition:background .13s,border-color .13s !important;
}
.ticket-card:hover {background:#292b2d;border-color:#69675f;box-shadow:none!important;}
.ticket-card h3 {color:#f0ece5;}
.ticket-type,.ticket-number {color:#c7beb0;}
.ticket-reason,.ticket-date {color:#a9aaa6;}
.ticket-cell b {color:#ddd9d2;}
.ticket-open {background:#333432;border-color:#5c5952;color:#f1e9dc;}
.ticket-open:hover {background:#454541;border-color:#858073;}
.archive-count {color:#d0c8bb;}
/* Transcript detail */
.viewer-shell {padding-top:35px;}
.breadcrumb {color:#aaa9a4;}
.viewer-summary-card {
  background:linear-gradient(115deg,#202225,#1a1c1f);
  border-color:#494843;border-radius:15px;box-shadow:none;
}
.viewer-heading h1 {color:#f0ece4;overflow-wrap:anywhere;}
.viewer-heading p {color:#b6b3ac;}
.resolution-chip,.access-chip {color:#ddd7cc;}
.viewer-meta-grid {gap:10px;background:transparent;border:0;overflow:visible;}
.viewer-meta-card {border:1px solid #3b3c3b;border-radius:10px;background:#1a1c1f;min-width:0;}
.viewer-meta-card span {color:#adaaa4;font-size:10px;}
.viewer-meta-card b {color:#eeeae2;overflow-wrap:anywhere;white-space:normal;}
.closure-card {background:#191b1d;border:1px solid #41413e;border-radius:12px;}
.closure-block p {color:#d2d0c9;overflow-wrap:anywhere;}
.transcript-frame-card {background:#131416;border-color:#444442;border-radius:15px;box-shadow:none!important;}
.frame-topbar {background:#242528;border-bottom-color:#40403f;}
.frame-title {color:#dad7d0;}
.frame-actions a,.frame-actions button {color:#dfdcd3;background:#333437;border-color:#50514f;border-radius:8px;}
.frame-actions a:hover,.frame-actions button:hover {background:#484947;border-color:#8f8a7f;}
.transcript-frame {background:#101113;}
/* Dialog and errors */
.portal-dialog {background:#191b1d;border-color:#686257;border-radius:14px;}
.dialog-card {background:#191b1d;border-radius:14px;}
.dialog-input-wrap input {background:#111315;color:#f0ece5;border-color:#55544f;}
.dialog-input-wrap input:focus {border-color:#bab2a1;box-shadow:0 0 0 3px rgba(193,185,167,.10);}
.dialog-close {background:#282a2c;color:#eeebe4;}
.message-card {background:#191b1d;border:1px solid #54524d;border-top:2px solid #cfc4b3;border-radius:14px;}
.message-card>img {border-radius:50%;padding:3px;background:#121315;border-color:#656055;}
.error-code {color:#d6cbb9;}
.site-footer {border-top-color:#3a3b3b;color:#a7a7a2;}
.footer-brand img {border-radius:50%;background:#141518;border:1px solid #474540;padding:2px;object-fit:contain;}
.footer-brand b {color:#dedad2;letter-spacing:.03em;text-transform:uppercase;}
.footer-brand span {color:#aaa79f;}
/* Input sizes and hit targets */
@media (max-width:1100px){.header-inner{grid-template-columns:1fr auto}.login-layout{gap:30px}}
@media (max-width:900px){
  .shell{width:calc(100% - 32px)}
  .header-inner{width:calc(100% - 24px)}
  .login-layout{grid-template-columns:1fr;min-height:auto;gap:26px}
  .login-copy{max-width:100%}.login-panel{max-width:100%}
  .dashboard-hero{padding:25px}
  .viewer-meta-grid{gap:8px}
}
@media (max-width:650px){
  .site-header{padding-top:6px}
  .header-inner{width:calc(100% - 16px);padding:8px 10px;min-height:70px;border-radius:10px}
  .brand img{width:42px;height:42px}
  .brand-name{font-size:12px;letter-spacing:.02em}
  .brand-subtitle{font-size:9px;letter-spacing:.07em}
  .shell{width:calc(100% - 26px)}
  .home-shell{padding-top:34px}
  .login-copy h1{font-size:clamp(38px,10vw,56px)}
  .hero-lead{font-size:14px}
  .login-panel{padding:19px}
  .login-panel-brand img{width:70px;height:70px}
  .login-panel-brand h2{font-size:17px}
  .dashboard-hero{padding:20px}
  .dashboard-intro h1{font-size:32px}
  .viewer-meta-card{padding:12px}
  .viewer-summary-card{padding:20px}
  .frame-topbar{padding:8px 11px;gap:7px;height:auto;min-height:56px}
  .frame-actions{flex-wrap:wrap;justify-content:flex-end}
  .frame-actions a,.frame-actions button{font-size:10px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms!important;animation:none!important}}
@media print{.site-header,.site-footer,.frame-actions,.portal-nav{display:none!important}body{background:#fff!important;color:#111!important}}
