/* Grafite e verde, inspirados no DofusDB. */
:root { --bg:#383838; --surface:#292929; --surface-raised:#333333; --border:#424242; --text:#e5e5e5; --muted:#a4a4a4; --accent:#9fbd43; --accent-dim:#819e30; --soft-accent:#343b24; }
body { background:#383838; color:#e1e1e1; font-family:Inter,"Segoe UI",Arial,sans-serif; }
.site-topbar { position:fixed; z-index:35; inset:0 0 auto 0; height:64px; display:flex; align-items:center; gap:28px; padding:0 24px; background:#242424; border-bottom:1px solid #111111; box-shadow:0 2px 8px #0003; }
.site-topbar .brand { flex:none; padding:0; gap:8px; color:#eeeeee; font-size:20px; letter-spacing:-.6px; }
.site-topbar .brand-symbol { width:28px; height:32px; color:#9fbd43; font-size:34px; }
.site-topbar .brand-small { display:inline; margin:0 0 0 7px; color:#a4a4a4; font-size:9px; letter-spacing:1px; }
.site-topbar nav { min-width:0; height:100%; display:flex; align-items:center; gap:3px; overflow-x:auto; scrollbar-width:none; }
.site-topbar nav::-webkit-scrollbar { display:none; }
.site-topbar .nav-item { position:relative; height:100%; width:auto; flex:none; gap:8px; padding:0 15px; margin:0; border:0; border-radius:0; background:transparent; color:#aaaaaa; font-size:12px; }
.site-topbar .nav-item:hover { background:#303030; color:#eeeeee; }
.site-topbar .nav-item.active { background:transparent; color:#a8c849; font-weight:600; }
.site-topbar .nav-item.active::after { content:""; position:absolute; left:12px; right:12px; bottom:0; height:3px; background:#a0be42; }
.site-topbar .nav-item svg { width:17px; height:17px; }
.site-topbar .nav-count { background:#424b2e; color:#bed477; }
.site-topbar .save-status { margin-left:auto; flex:none; color:#aaaaaa; font-size:10px; }
.site-topbar .status-dot { width:7px; height:7px; background:#9fbd43; }
.sidebar { inset:64px auto 0 0; width:280px; padding:18px 16px; background:#303030; border-color:#222222; scrollbar-color:#515151 transparent; }
.sidebar-controls { border-color:#474747; }
.sidebar .section-heading h2 { color:#a2bd49; }
.sidebar .panel,.sidebar .reset-panel { background:#292929; border-color:#454545; border-radius:3px; }
.sidebar .panel-heading h2 { color:#d7d7d7; }
.sidebar .nav-item { border-radius:2px; }
.sidebar .nav-item.active { color:#a6c344; background:#3c3c3c; border-color:#4e4e4e; }
.sidebar .nav-item:not(.active):hover { background:#393939; }
.sidebar .tab { border-radius:2px; background:#292929; border-color:#474747; color:#aaaaaa; }
.sidebar .tab.active { background:#424b2e; border-color:#677d32; color:#c0d783; }
.sidebar .calendar-day:hover { background:#414141; }
.sidebar .calendar-day.selected,.sidebar .calendar-day.has-activity { background:#708c31; border-radius:2px; color:#fff; }
.sidebar .calendar-day.in-week:not(.selected) { background:#363d2b; }
.sidebar .calendar-day.today { outline-color:#a4c34c; }
.sidebar .reset-panel { border-left:3px solid #91ad3d; }
.sidebar .reset-icon { background:#3b442b; color:#afca5c; }
.sidebar .save-status { color:#aaaaaa; }
.app-shell { margin-left:280px; padding-top:64px; }
main { max-width:1900px; padding:28px 30px; }
#daily-view { grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr)); gap:16px; align-items:stretch; }
.daily-card,.dungeon-card { background:#292929; border:1px solid #454545; border-radius:3px; box-shadow:0 2px 5px #0002; }
.daily-card { padding:20px; }
.daily-card:hover,.dungeon-card:hover { border-color:#738d35; }
.daily-card.is-complete,.dungeon-card.completed { border-color:#829f37; }
.daily-card-heading { gap:11px; }
.daily-symbol { border-radius:2px; background:#3b442b; color:#a6c344; }
.daily-card h1,.daily-card-heading h2,.section-heading h2 { color:#a6c344; }
.daily-card-heading h2 { font-size:18px; }
.daily-card-heading p,.daily-foot,.daily-state { color:#aaaaaa; }
.offering-art { background:#242424; border:1px solid #393939; border-radius:2px; }
.daily-offering .eyebrow,.eyebrow { color:#a2bd49; }
.daily-offering h2 { color:#eeeeee; font-size:19px; }
.daily-offering h2 span { color:#b1ce58; }
.daily-bonus { color:#bdbdbd; }
.daily-action,.button.primary { color:#202212; background:#9fbd43; border-color:#9fbd43; border-radius:2px; }
.daily-action:hover,.button.primary:hover { background:#b0ce52; border-color:#b0ce52; }
.button.secondary { color:#d0d0d0; background:#333333; border-color:#4a4a4a; border-radius:2px; }
.button.secondary:hover { background:#404040; border-color:#666666; }
.daily-card.is-complete .daily-action { color:#c6db8a; background:#39452a; border-color:#647d31; }
.create-objective { color:#adc94d; }
.create-objective:hover { background:#333a29; }
.kerubim-emblem img { border-color:#586d32; border-radius:3px; }
.objective-field input { background:#222222; border-color:#555555; border-radius:2px; }
.dungeon-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.dungeon-card { overflow:hidden; }
.card-art { background:#242424; }
.card-art::before { border-color:#a2c24718; box-shadow:0 0 0 18px #a2c24705,0 0 0 38px #a2c24703; }
.card-region,.card-content .card-name { color:#aaaaaa; }
.card-content h3 { color:#c1d586; }
.card-meta { border-color:#414141; color:#bdbdbd; }
.card-action { color:#d2dfaf; background:#363e2a; border:1px solid #596e33; border-radius:2px; }
.card-action:hover { background:#424d30; }
.card-check { color:#9ebb48; border-radius:2px; }
.level-badge,.drag-handle { border-radius:2px; }
.drag-handle { background:#292929dd; border-color:#626262; }
.section-heading { margin-bottom:18px; }
.section-heading h2 { position:relative; display:inline-flex; padding:7px 26px 7px 10px; background:#292929; clip-path:polygon(0 0,88% 0,100% 100%,0 100%); }
.pill { color:#c0d783; background:#343b24; border-radius:2px; }
.search-box,.select-wrap { background:#292929; border-color:#484848; border-radius:2px; }
.search-box input,.select-wrap select { color:#ddd; }
.history-notice { background:#292929; border-color:#7b9837; }
.report-panel,.activity-empty { background:#292929; border-color:#454545; border-radius:3px; }
.report-table th { color:#a2bd49; }
.report-table td { border-color:#3b3b3b; }
.calendar-day,.icon-button,.tab,.key-filter { border-radius:2px; }
.modal { background:#292929; border:1px solid #555555; border-radius:3px; color:#e5e5e5; }
.modal::backdrop { background:#000a; }
.toast { border-radius:2px; background:#242424; border-color:#607a32; }
.sidebar-toggle { background:#333333; border-color:#79953a; color:#c6db8a; border-radius:3px; }
.sidebar-backdrop:not([hidden]) { background:#0009; }
@media(max-width:760px) {
  .site-topbar { gap:12px; height:58px; padding:0 10px; }
  .site-topbar .brand { font-size:15px; }
  .site-topbar .brand-symbol { font-size:27px; width:22px; }
  .site-topbar .brand-small { display:none; }
  .site-topbar .nav-item { padding:0 10px; font-size:0; }
  .site-topbar .nav-item svg { width:20px; height:20px; }
  .site-topbar .nav-count { font-size:9px; line-height:16px; }
  .site-topbar .save-status { font-size:0; gap:0; }
  .sidebar { top:58px; }
  .app-shell { margin-left:0; padding-top:58px; }
  main { padding:18px 14px 75px; }
}
.calendar-legend .legend-dot { background:#9fbd43; }
.calendar-legend .legend-week { background:#596c32; }
@media(max-width:480px) { #daily-view { grid-template-columns:minmax(0,1fr); } .daily-card { padding:18px; } }

.card-art[data-drag-handle] { cursor:grab; touch-action:none; }
.card-art[data-drag-handle]:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.reordering .card-art[data-drag-handle] { cursor:grabbing; }
.objective-progress strong { color:var(--text); }
.objective-progress,.objective-controls span { color:var(--muted); }
.fight-club-card .objective-progress svg { color:var(--accent); }

/* Shared reorder feedback follows the current theme. */
.dungeon-card.is-dragging,.daily-card.is-dragging { background:var(--soft-accent);border:2px dashed var(--accent);opacity:.35;box-shadow:none; }
.dungeon-card.drag-ghost,.daily-card.drag-ghost { background:var(--surface);border-color:var(--accent);box-shadow:0 18px 48px #0009; }
.daily-card-heading[data-drag-handle] { cursor:grab;touch-action:none; }
.daily-card-heading[data-drag-handle]:focus-visible { outline:2px solid var(--accent);outline-offset:5px; }
.dungeon-card .card-art { z-index:2; }

/* The sidebar has the same structure in every tab. DG controls stay with the cards. */
.dungeon-controls { display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 18px; }
.dungeon-controls .filter-row { gap:12px;flex-wrap:wrap;margin:0; }
.dungeon-controls .tab { background:var(--surface);border-color:var(--border);color:var(--muted); }
.dungeon-controls .tab.active { background:var(--soft-accent);border-color:#677d32;color:#c0d783; }
.dungeon-controls .tab span { background:#383838;color:inherit; }
.dungeon-controls .tab.active span { background:#424b2e; }

.drops-controls { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;color:var(--muted);font-size:12px; }

/* Neutral surfaces and green feedback throughout the dungeon workflow. */
.dungeon-card .card-art { --tint:var(--soft-accent);background:#242424; }
.dungeon-card .level-badge { color:#c7c7c7;background:#1e1e1ed9;border-color:var(--border); }
.dungeon-card .card-check { color:var(--accent);background:#292929cc;border-color:#596346; }
.dungeon-card.completed .card-check { color:#202212;background:var(--accent);border-color:var(--accent); }
.dungeon-card .card-action:hover { background:#424d30;border-color:var(--accent); }
.dungeon-card.completed .card-action { color:#c6db8a;background:var(--soft-accent);border-color:#647d31; }
.dungeon-card .card-tools .text-button { color:var(--muted); }
.dungeon-card .card-tools .text-button:not(:disabled):hover { color:#c6db8a; }
.dungeon-card .cancel-card { color:#b6bfaa;border-color:#596346; }
.dungeon-card .cancel-card:hover { color:#d2dfaf;background:var(--soft-accent);border-color:var(--accent); }
.dungeon-controls .tab:hover { background:#3d4530;color:#d2dfaf; }
.empty-state { background:var(--surface);border-color:#596346; }
.empty-state>span,.history-notice { color:var(--muted); }
.text-button,.icon-button { color:var(--muted); }
.icon-button:hover { background:#3d3d3d;color:var(--text); }
.sidebar .panel-heading svg,.calendar-weekdays,.calendar-legend { color:var(--muted); }
.calendar-day { color:#bdbdbd; }
.calendar-day.outside { color:#686868; }
.calendar-day.today:not(.selected) { border-color:var(--accent); }
.sidebar .calendar-day:hover:not(:disabled):not(.selected) { background:#414a31; }
.calendar-day.has-activity::after { background:#c6db8a; }
.calendar-day.selected.has-activity::after { background:#29351c; }
.reset-icon { border-color:#596346; }
.reset-panel h3 { color:var(--text); }
.reset-panel p { color:var(--muted); }
.reset-panel .eyebrow { color:#a2bd49; }
.modal-portrait { background:radial-gradient(ellipse,#9fbd4320,transparent 65%); }
.modal-subtitle,.resource-checklist>p,.resource-check-row small,.resource-check-row .resource-amount,.run-heading>span,.run-loot .no-run-drop,.run-notes { color:var(--muted); }
.resource-checklist legend { color:var(--text); }
.resource-check-row,.run-item { background:#242424;border-color:var(--border); }
.resource-check-row:has(input:checked) { background:var(--soft-accent);border-color:#829f37; }
.drop-quantity { background:#222222;border-color:#555555;color:var(--text); }
.toast,.toast button { color:var(--text); }
