:root { color-scheme:light; --ink:#172033; --muted:#65738a; --line:#d9e0e8; --surface:#fff; --surface-subtle:#f5f7fa; --canvas:#e9eef3; --blue:#315d91; --gold:#a9782e; --gold-soft:#d8bb80; --nav:#14263b; --shadow:rgba(20,38,59,.16); }
:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; --ink:#e7edf8; --muted:#a9b6c9; --line:#354158; --surface:#202a3b; --surface-subtle:#192232; --canvas:#101a28; --blue:#8cb5e6; --gold:#d0a84b; --gold-soft:#f0d68c; --nav:#091522; --shadow:rgba(0,0,0,.42); }
body { background:radial-gradient(ellipse at top,rgba(108,139,170,.15),transparent 38rem),repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),var(--canvas); color:var(--ink); font-size:.94rem; }
.navbar { background:linear-gradient(100deg,#0b1928,var(--nav) 50%,#0d1b2b) !important; border-bottom:1px solid rgba(216,187,128,.52); box-shadow:0 2px 12px var(--shadow),0 1px 0 rgba(255,255,255,.08) inset; }
.navbar-brand { color:#f1d998 !important; font-family:Georgia,"Times New Roman",serif; font-weight:700; letter-spacing:.055em; text-shadow:0 1px 1px #000; }
.navbar-nav .nav-link { color:rgba(239,245,250,.8) !important; }
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus { color:var(--gold-soft) !important; }
.theme-toggle { color:rgba(255,255,255,.75); font-size:1rem; padding:.5rem .65rem; }
.theme-toggle:hover,.theme-toggle:focus { color:#fff; text-decoration:none; }
main.container { max-width:1320px; }
.dashboard-heading h1 { font-family:Georgia,"Times New Roman",serif; font-weight:700; letter-spacing:-.02em; }
.eyebrow { color:var(--gold); display:block; font-size:.68rem; font-weight:700; letter-spacing:.16em; margin-bottom:.35rem; }
.card { background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:0 4px 18px var(--shadow),0 0 0 1px rgba(216,187,128,.1) inset; overflow:hidden; }
.card:has(.card-header) { position:relative; }
.card:has(.card-header):before { background:linear-gradient(90deg,transparent,var(--gold-soft),transparent); content:""; height:1px; left:12%; opacity:.22; position:absolute; right:12%; top:4px; z-index:1; }
.card-header { background:linear-gradient(90deg,rgba(49,93,145,.075),transparent 48%,rgba(169,120,46,.07)); border-bottom:1px solid var(--line); padding:1rem 1.15rem; position:relative; }
.card-header:after { background:linear-gradient(90deg,transparent,var(--gold),transparent); bottom:0; content:""; height:1px; left:18%; opacity:.48; position:absolute; right:18%; }
.card-title { font-size:1.08rem; font-weight:700; }
.card-footer { background:var(--surface); border-top:1px solid var(--line); }
.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.kpi-card { background:linear-gradient(135deg,rgba(49,93,145,.08),var(--surface) 38%,rgba(169,120,46,.055)); border:1px solid var(--line); border-radius:10px; box-shadow:0 4px 18px var(--shadow),0 0 0 1px rgba(216,187,128,.1) inset; padding:1.1rem 1.2rem; position:relative; overflow:hidden; }
.kpi-card:before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--blue); }
.kpi-card:after { border:1px solid rgba(169,120,46,.38); border-left:0; border-bottom:0; content:""; height:14px; position:absolute; right:7px; top:7px; width:14px; }
.kpi-card strong { display:block; font-size:2.15rem; line-height:1.15; margin:.3rem 0; }
.kpi-label,.kpi-note { color:var(--muted); display:block; font-size:.78rem; }
.kpi-card a { font-size:.78rem; }.kpi-violet:before{background:#7950f2}.kpi-green:before{background:#2f9e44}.kpi-orange:before{background:#f08c00}
.table thead th { border-top:0; color:#8792a6; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.table thead { background:linear-gradient(90deg,rgba(49,93,145,.08),rgba(169,120,46,.04),rgba(49,93,145,.08)); }
.table td { vertical-align:middle; }.table tbody tr { transition:background-color .15s ease,box-shadow .15s ease; }.table-hover tbody tr:hover { background-color:rgba(169,120,46,.055); box-shadow:inset 2px 0 var(--gold); }.empty-state { color:var(--muted); padding:2rem !important; text-align:center; }
.status-dot { border-radius:50%; display:inline-block; height:8px; margin-right:.55rem; width:8px; }.status-online { background:#37b24d; box-shadow:0 0 0 3px #e4f7e8; }.status-offline { background:#fa5252; box-shadow:0 0 0 3px #ffebeb; }
.service-row { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:.55rem; padding:.9rem 1.15rem; }.service-row:last-child{border-bottom:0}.service-name{flex:1}.service-name strong,.service-name small{display:block}.service-name small{color:var(--muted);font-size:.75rem}.service-log{font-size:.78rem;margin-right:.25rem}.reload-grid{display:grid;gap:.45rem;grid-template-columns:repeat(3,1fr)}
.visitor-stats { display:grid; grid-template-columns:repeat(4,1fr); padding:1.25rem; text-align:center; }.visitor-stats div+div{border-left:1px solid var(--line)}.visitor-stats strong{display:block;font-size:1.65rem}.visitor-stats span{color:var(--muted);font-size:.75rem}
.dashboard-chat { display:flex; flex-direction:column; height:36vh; min-height:280px; }.dashboard-chat-messages{background:var(--surface-subtle);flex:1;min-height:0;overflow-y:auto;padding:.35rem .75rem}.dashboard-chat-line{border-bottom:1px solid var(--line);display:flex;font-size:.84rem;gap:.55rem;line-height:1.25;padding:.22rem 0}.dashboard-chat-meta{color:var(--muted);flex:0 0 auto;white-space:nowrap}.dashboard-chat-author{font-weight:600}.dashboard-chat-text{overflow-wrap:anywhere}.dashboard-chat-form{background:var(--surface);border-top:1px solid var(--line);display:flex;gap:.5rem}
.skill-level-input { max-width:5.5rem; }.skill-suggestions { background:var(--surface); border:1px solid var(--line); border-radius:0 0 .25rem .25rem; box-shadow:0 8px 18px var(--shadow); left:0; max-height:16rem; overflow:auto; position:absolute; right:0; top:100%; z-index:1050; }.skill-suggestion { background:var(--surface); border:0; border-bottom:1px solid var(--line); color:var(--ink); display:block; padding:.55rem .75rem; text-align:left; width:100%; }.skill-suggestion:hover { background:var(--surface-subtle); }
.jumbotron { background:linear-gradient(135deg,rgba(49,93,145,.12),var(--surface) 42%,rgba(169,120,46,.08)); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:10px; box-shadow:0 4px 18px var(--shadow),0 0 0 1px rgba(216,187,128,.1) inset; color:var(--ink); }
.btn-primary { background:linear-gradient(135deg,#3b6ba2,#284f7d); border-color:#315d91; box-shadow:inset 0 1px rgba(255,255,255,.18),0 1px 2px rgba(20,38,59,.2); }.btn-primary:hover,.btn-primary:focus { background:#264b75; border-color:#264b75; }.btn-outline-primary { border-color:var(--gold); color:var(--gold); }.btn-outline-primary:hover,.btn-outline-primary:focus { background:var(--gold); border-color:var(--gold); color:#14263b; }.btn:focus-visible,.theme-toggle:focus-visible { box-shadow:0 0 0 .2rem rgba(216,187,128,.34); outline:0; }
:root[data-theme="dark"] .table { color:var(--ink); }
:root[data-theme="dark"] .table-hover tbody tr:hover { color:var(--ink); background-color:rgba(255,255,255,.06); }
:root[data-theme="dark"] body { background-image:radial-gradient(ellipse at top,rgba(74,112,154,.2),transparent 38rem),repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 7px); }
:root[data-theme="dark"] .form-control,:root[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]) { background:var(--surface-subtle); border-color:var(--line); color:var(--ink); }
:root[data-theme="dark"] .form-control::placeholder,:root[data-theme="dark"] input::placeholder { color:var(--muted); opacity:1; }
:root[data-theme="dark"] .dropdown-menu,:root[data-theme="dark"] .modal-content { background:var(--surface); border-color:var(--line); color:var(--ink); }
:root[data-theme="dark"] .dropdown-item { color:var(--ink); }
:root[data-theme="dark"] .dropdown-item:hover,:root[data-theme="dark"] .dropdown-item:focus { background:var(--surface-subtle); color:var(--ink); }
:root[data-theme="dark"] .modal-header,:root[data-theme="dark"] .modal-footer { border-color:var(--line); }
:root[data-theme="dark"] .close { color:var(--ink); text-shadow:none; }
:root[data-theme="dark"] .text-muted { color:var(--muted)!important; }
:root[data-theme="dark"] .jumbotron { background:linear-gradient(135deg,rgba(140,181,230,.11),var(--surface) 42%,rgba(208,168,75,.08)); border-color:var(--line); color:var(--ink); }
:root[data-theme="dark"] .badge-light,:root[data-theme="dark"] .bg-light,:root[data-theme="dark"] .bg-white { background-color:#303c51!important; color:var(--ink)!important; }
@media (max-width: 991.98px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 575.98px){body{font-size:.88rem}.dashboard-heading{align-items:flex-start!important;flex-direction:column}.dashboard-heading>div:last-child{text-align:left!important;margin-top:.75rem}.kpi-grid{gap:.6rem}.kpi-card{padding:.85rem}.kpi-card strong{font-size:1.7rem}.visitor-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.visitor-stats div+div{border-left:0}.service-row{flex-wrap:wrap}.service-log{margin-left:auto}.reload-grid{grid-template-columns:repeat(2,1fr)}.dashboard-chat{height:44vh}}
