@font-face{font-family:'Futura';src:local('Futura Bold'),local('Futura-Bold'),local('Century Gothic'),local('Trebuchet MS');font-weight:700;}
:root{
  --cream:#fff3d3; --cream-dark:#e8d9b0; --cream-deep:#dccb9e;
  --rust:#ab4b05; --rust-deep:#7a3303; --rust-dim:rgba(171,75,5,0.08); --rust-border:rgba(171,75,5,0.12);
  --ink:#1a0e04; --ink-2:rgba(26,14,4,0.55); --ink-3:rgba(26,14,4,0.28);
  --border:rgba(171,75,5,0.12);
  --warn:#c0392b; --warn-dim:rgba(192,57,43,0.10); --warn-border:rgba(192,57,43,0.22);
  --amber:#b5780a; --amber-dim:rgba(181,120,10,0.10); --amber-border:rgba(181,120,10,0.25);
  --good:#16a34a; --good-dim:rgba(22,163,74,0.10); --good-border:rgba(22,163,74,0.22);
  --off:#8a7a5c; --off-dim:rgba(138,122,92,0.12); --off-border:rgba(138,122,92,0.25);
  --font-ar:'Cairo',sans-serif; --font-h:'Anton',sans-serif; --font-brand:'Futura','Century Gothic','Trebuchet MS',sans-serif;
  --sidebar-w:252px; --topbar-h:68px; --radius-lg:18px; --radius-md:14px; --radius-sm:10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
svg{width:16px;height:16px;flex-shrink:0;vertical-align:middle;display:inline-block;}
html{scroll-behavior:smooth;}
body{background:var(--cream-dark);color:var(--ink);font-family:var(--font-ar);-webkit-font-smoothing:antialiased;}
::selection{background:rgba(171,75,5,.25);}
a{color:inherit;}
button{font-family:var(--font-ar);}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(171,75,5,.18);border-radius:10px;}
::-webkit-scrollbar-thumb:hover{background:rgba(171,75,5,.32);}

/* ══════════ SHELL ══════════ */
.db-shell{display:flex;min-height:100vh;}

/* ── SIDEBAR ── */
.db-sidebar{
  width:var(--sidebar-w);flex-shrink:0;position:fixed;top:0;left:0;bottom:0;
  background:rgba(255,243,211,0.92);backdrop-filter:blur(14px);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;z-index:300;
  transition:transform .25s ease;
}
.db-sidebar-logo{
  display:flex;align-items:center;gap:10px;padding:22px 22px 18px;
  border-bottom:1px solid var(--border);flex-shrink:0;
}
.db-sidebar-logo svg{width:30px;height:30px;flex-shrink:0;}
.db-sidebar-logo-text{font-family:var(--font-brand);font-weight:700;font-size:17px;letter-spacing:1px;color:var(--ink);}
.db-sidebar-logo-text span{color:var(--rust);}

.db-apiary-switch{
  margin:16px 18px 8px;padding:11px 13px;border-radius:var(--radius-sm);
  background:var(--rust-dim);border:1px solid var(--rust-border);
  display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s;
  position:relative;
}
.db-apiary-switch:hover{background:rgba(171,75,5,0.13);}
.db-apiary-icon{width:30px;height:30px;border-radius:8px;background:var(--rust);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--cream);font-family:var(--font-h);font-size:14px;}
.db-apiary-meta{flex:1;min-width:0;}
.db-apiary-name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.db-apiary-sub{font-size:11px;color:var(--ink-2);}
.db-apiary-switch .chev{width:14px;height:14px;color:var(--ink-3);flex-shrink:0;}

.db-nav{flex:1;overflow-y:auto;padding:14px 14px 14px;display:flex;flex-direction:column;gap:2px;}
.db-nav-label{font-family:var(--font-brand);font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 6px;}
.db-nav-item{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;cursor:pointer;
  transition:background .15s,color .15s;position:relative;
}
.db-nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85;}
.db-nav-item:hover{background:var(--rust-dim);color:var(--ink);}
.db-nav-item.active{background:var(--rust);color:var(--cream);}
.db-nav-item.active svg{opacity:1;}
.db-nav-badge{margin-left:auto;font-size:10.5px;font-weight:700;background:var(--warn);color:#fff;border-radius:20px;padding:1px 7px;}
.db-nav-item.active .db-nav-badge{background:rgba(255,255,255,.25);}

.db-sidebar-foot{padding:14px;border-top:1px solid var(--border);flex-shrink:0;}
.db-user{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;transition:background .15s;}
.db-user:hover{background:var(--rust-dim);}
.db-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#d9a14a,var(--rust));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0;}
.db-user-meta{flex:1;min-width:0;}
.db-user-name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.db-user-role{font-size:11px;color:var(--ink-2);}

/* ── MAIN ── */
.db-main{margin-left:var(--sidebar-w);flex:1;min-width:0;display:flex;flex-direction:column;}

.db-topbar{
  height:var(--topbar-h);position:sticky;top:0;z-index:120;
  background:rgba(232,217,176,0.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:16px;padding:0 28px;flex-shrink:0;
}
.db-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;}
.db-menu-toggle span{display:block;width:20px;height:1.6px;background:var(--ink);border-radius:2px;margin:4px 0;}
.db-breadcrumb{display:flex;flex-direction:column;gap:1px;min-width:0;}
.db-breadcrumb-trail{font-size:11px;color:var(--ink-3);font-weight:600;letter-spacing:.5px;text-transform:uppercase;}
.db-page-title{font-family:var(--font-h);font-size:22px;color:var(--ink);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.db-search{
  flex:1;max-width:360px;display:flex;align-items:center;gap:8px;
  background:rgba(255,243,211,0.7);border:1px solid var(--border);border-radius:10px;
  padding:8px 13px;color:var(--ink-2);margin-left:auto;
}
.db-search svg{width:16px;height:16px;flex-shrink:0;opacity:.6;}
.db-search input{border:none;background:none;outline:none;font-family:var(--font-ar);font-size:13.5px;color:var(--ink);width:100%;}
.db-search input::placeholder{color:var(--ink-3);}

.db-topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.db-status-pill{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:var(--rust-dim);white-space:nowrap;}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--good);flex-shrink:0;animation:blink 2.2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.db-icon-btn{
  width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:rgba(255,243,211,.55);
  display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;flex-shrink:0;
  color:var(--ink-2);transition:background .15s,color .15s;
}
.db-icon-btn:hover{background:var(--rust-dim);color:var(--ink);}
.db-icon-btn svg{width:18px;height:18px;}
.db-icon-btn .dot-badge{position:absolute;top:5px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--warn);border:1.5px solid var(--cream-dark);}

.db-content{padding:28px 32px 60px;max-width:1480px;width:100%;margin:0 auto;}

/* ══════════ COMMON ELEMENTS ══════════ */
.section-eyebrow{font-family:var(--font-brand);font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--rust);opacity:.8;margin-bottom:6px;}
.section-title{font-family:var(--font-h);font-size:clamp(22px,2.4vw,30px);color:var(--ink);letter-spacing:.3px;margin-bottom:4px;}
.section-sub{font-size:13.5px;color:var(--ink-2);line-height:1.5;}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px;}

.card{background:rgba(255,243,211,0.62);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,transform .2s,background .2s;}
.card-hover:hover{border-color:rgba(171,75,5,0.25);transform:translateY(-2px);background:rgba(255,243,211,0.85);}

.btn{font-family:var(--font-ar);font-weight:600;font-size:13.5px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;border:none;text-decoration:none;transition:background .15s,transform .15s,border-color .15s,color .15s;white-space:nowrap;}
.btn svg{width:15px;height:15px;}
.btn-primary{background:var(--rust);color:var(--cream);padding:10px 18px;}
.btn-primary:hover{background:var(--rust-deep);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--rust);border:1.4px solid var(--rust-border);padding:9px 16px;}
.btn-outline:hover{background:var(--rust-dim);border-color:var(--rust);}
.btn-ghost-sm{background:rgba(255,243,211,.55);color:var(--ink-2);border:1px solid var(--border);padding:7px 13px;font-size:12.5px;}
.btn-ghost-sm:hover{background:var(--rust-dim);color:var(--ink);}
.btn-ghost-sm.active{background:var(--rust);color:var(--cream);border-color:var(--rust);}

.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.2px;align-self:flex-start;}
.badge-good{background:var(--good-dim);color:#0e7a37;border:1px solid var(--good-border);}
.badge-warn{background:var(--amber-dim);color:#8c5d08;border:1px solid var(--amber-border);}
.badge-crit{background:var(--warn-dim);color:var(--warn);border:1px solid var(--warn-border);}
.badge-off{background:var(--off-dim);color:var(--off);border:1px solid var(--off-border);}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}

.toggle{position:relative;width:42px;height:24px;border-radius:20px;background:var(--off-dim);border:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background .2s;}
.toggle::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s;}
.toggle.on{background:var(--rust);}
.toggle.on::after{transform:translateX(18px);}
.toggle.disabled{opacity:.4;cursor:not-allowed;}

.tooltip-wrap{position:relative;}
.tip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--cream);font-size:11.5px;padding:7px 11px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:50;line-height:1.4;}
.tooltip-wrap:hover .tip-bubble{opacity:1;}

/* Stat tiles row */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:16px;margin-bottom:26px;}
.stat-tile{padding:20px 20px;display:flex;flex-direction:column;gap:8px;}
.stat-tile-top{display:flex;align-items:center;justify-content:space-between;}
.stat-tile-icon{width:36px;height:36px;border-radius:10px;background:var(--rust-dim);border:1px solid var(--rust-border);display:flex;align-items:center;justify-content:center;color:var(--rust);flex-shrink:0;}
.stat-tile-icon svg{width:18px;height:18px;}
.stat-tile-label{font-size:12.5px;color:var(--ink-2);font-weight:600;}
.stat-tile-value{font-family:var(--font-h);font-size:30px;color:var(--ink);line-height:1;}
.stat-tile-value small{font-size:15px;color:var(--ink-2);font-family:var(--font-ar);font-weight:600;}
.stat-tile-trend{font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px;}
.trend-up{color:var(--good);}
.trend-down{color:var(--warn);}
.trend-flat{color:var(--ink-2);}

/* Hive cards grid */
.hive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;}
.hive-card{padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:14px;}
.hive-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.hive-card-name{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.hive-card-loc{font-size:12px;color:var(--ink-2);}
.hive-ring-wrap{position:relative;width:50px;height:50px;flex-shrink:0;}
.hive-ring-wrap svg{width:50px;height:50px;}
.hive-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-h);font-size:13px;color:var(--ink);}
.hive-metric-row{display:flex;gap:14px;flex-wrap:wrap;}
.hive-mini-metric{display:flex;flex-direction:column;gap:1px;}
.hive-mini-metric .v{font-size:14px;font-weight:700;color:var(--ink);}
.hive-mini-metric .l{font-size:10.5px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.4px;}
.hive-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;}
.hive-card-sync{font-size:11.5px;color:var(--ink-3);}
.hive-card-arrow{width:26px;height:26px;border-radius:50%;background:var(--rust-dim);display:flex;align-items:center;justify-content:center;color:var(--rust);transition:background .15s;}
.hive-card:hover .hive-card-arrow{background:var(--rust);color:var(--cream);}
.hive-card-issue{font-size:12px;color:var(--warn);font-weight:600;display:flex;align-items:center;gap:6px;}
.hive-card-issue.amber{color:#8c5d08;}

/* Filter bar */
.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.filter-chip{font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:20px;border:1px solid var(--border);background:rgba(255,243,211,.5);color:var(--ink-2);cursor:pointer;transition:all .15s;}
.filter-chip:hover{background:var(--rust-dim);}
.filter-chip.active{background:var(--ink);color:var(--cream);border-color:var(--ink);}

/* Panels / 2-col layout */
.grid-2col{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start;}
.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:1100px){.grid-2col{grid-template-columns:1fr;} .grid-3col{grid-template-columns:1fr 1fr;}}
@media (max-width:680px){.grid-3col{grid-template-columns:1fr;}}

.panel{padding:22px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.panel-title{font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;}
.panel-title svg{width:17px;height:17px;color:var(--rust);}

/* AI Insights */
.insight-card{display:flex;gap:14px;padding:16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:rgba(255,243,211,.45);margin-bottom:10px;}
.insight-card:last-child{margin-bottom:0;}
.insight-card.crit{border-color:var(--warn-border);background:var(--warn-dim);}
.insight-card.warn{border-color:var(--amber-border);background:var(--amber-dim);}
.insight-card.good{border-color:var(--good-border);background:var(--good-dim);}
.insight-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.5);}
.insight-icon svg{width:18px;height:18px;}
.insight-card.crit .insight-icon{color:var(--warn);}
.insight-card.warn .insight-icon{color:#8c5d08;}
.insight-card.good .insight-icon{color:var(--good);}
.insight-body{flex:1;}
.insight-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.insight-text{font-size:12.8px;color:var(--ink-2);line-height:1.55;margin-bottom:8px;}
.insight-action{font-size:12.3px;font-weight:700;color:var(--rust);display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.insight-meta{font-size:11px;color:var(--ink-3);margin-top:6px;}

/* Alert list */
.alert-row{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:var(--radius-sm);border:1px solid var(--border);background:rgba(255,243,211,.4);margin-bottom:8px;}
.alert-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.alert-dot.crit{background:var(--warn);}
.alert-dot.warn{background:#b5780a;}
.alert-dot.good{background:var(--good);}
.alert-main{flex:1;min-width:0;}
.alert-title{font-size:13.5px;font-weight:700;color:var(--ink);}
.alert-sub{font-size:12px;color:var(--ink-2);}
.alert-time{font-size:11.5px;color:var(--ink-3);white-space:nowrap;}

/* Metric pills (snapshot) */
.metric-pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.metric-pill2{padding:14px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:rgba(255,243,211,.5);cursor:pointer;transition:all .15s;}
.metric-pill2:hover{background:rgba(255,243,211,.85);border-color:rgba(171,75,5,.25);}
.metric-pill2.selected{background:var(--rust);border-color:var(--rust);}
.metric-pill2.selected .mp-label,.metric-pill2.selected .mp-unit{color:rgba(255,243,211,.8);}
.metric-pill2.selected .mp-value{color:var(--cream);}
.metric-pill2.selected .mp-status{color:var(--cream);opacity:.85;}
.mp-top{display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.mp-top svg{width:15px;height:15px;color:var(--rust);}
.metric-pill2.selected .mp-top svg{color:var(--cream);}
.mp-label{font-size:11.5px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.3px;}
.mp-value{font-family:var(--font-h);font-size:22px;color:var(--ink);line-height:1;margin-bottom:4px;}
.mp-unit{font-size:12px;font-weight:600;color:var(--ink-2);}
.mp-status{font-size:11px;font-weight:600;}
.mp-disabled{opacity:.45;}
.mp-disabled-label{font-size:10.5px;font-style:italic;color:var(--ink-3);}

/* Chart controls */
.chart-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.range-group{display:flex;align-items:center;gap:6px;background:rgba(255,243,211,.5);border:1px solid var(--border);border-radius:10px;padding:4px;}
.range-btn{font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:7px;border:none;background:none;color:var(--ink-2);cursor:pointer;transition:all .15s;}
.range-btn.active{background:var(--rust);color:var(--cream);}
.range-btn:hover:not(.active){background:var(--rust-dim);}
.chart-tools{display:flex;align-items:center;gap:8px;}
.compare-check{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;user-select:none;}
.custom-range-row{display:flex;align-items:center;gap:8px;font-size:12.5px;}
.custom-range-row input{font-family:var(--font-ar);font-size:12.5px;padding:6px 9px;border-radius:7px;border:1px solid var(--border);background:rgba(255,243,211,.6);color:var(--ink);}
.chart-canvas-wrap{position:relative;height:300px;}
.chart-legend-line{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--ink-2);margin-top:10px;flex-wrap:wrap;}
.legend-item{display:flex;align-items:center;gap:6px;}
.legend-swatch{width:14px;height:3px;border-radius:2px;}

.normal-range-note{font-size:11.5px;color:var(--ink-3);margin-top:8px;display:flex;align-items:center;gap:6px;}

/* Sensor settings */
.sensor-row{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--border);}
.sensor-row:last-child{border-bottom:none;}
.sensor-icon-sm{width:34px;height:34px;border-radius:9px;background:var(--rust-dim);border:1px solid var(--rust-border);display:flex;align-items:center;justify-content:center;color:var(--rust);flex-shrink:0;}
.sensor-icon-sm svg{width:17px;height:17px;}
.sensor-meta{flex:1;}
.sensor-name{font-size:13.5px;font-weight:700;color:var(--ink);}
.sensor-desc{font-size:11.5px;color:var(--ink-2);}
.device-tag{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:14px;}
.device-tag.connected{background:var(--good-dim);color:#0e7a37;}
.device-tag.missing{background:var(--off-dim);color:var(--off);}

/* Hive detail header */
.hive-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink-2);cursor:pointer;margin-bottom:14px;}
.back-link:hover{color:var(--rust);}
.back-link svg{width:14px;height:14px;}
.hive-detail-title-row{display:flex;align-items:center;gap:14px;}
.hive-health-ring{position:relative;width:64px;height:64px;flex-shrink:0;}
.hive-health-ring svg{width:64px;height:64px;}
.hive-health-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.hive-health-num b{font-family:var(--font-h);font-size:16px;color:var(--ink);}
.hive-health-num span{font-size:8px;color:var(--ink-2);text-transform:uppercase;}
.hive-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto;}
.hive-tab{padding:11px 16px;font-size:13.5px;font-weight:700;color:var(--ink-2);cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;transition:color .15s;}
.hive-tab:hover{color:var(--ink);}
.hive-tab.active{color:var(--rust);border-bottom-color:var(--rust);}

.empty-state{text-align:center;padding:50px 20px;color:var(--ink-2);}
.empty-state svg{width:46px;height:46px;color:var(--ink-3);margin-bottom:14px;}
.empty-state-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.empty-state-text{font-size:13px;max-width:340px;margin:0 auto;}

.table-wrap{overflow-x:auto;}
table.dtable{width:100%;border-collapse:collapse;font-size:13px;}
table.dtable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-3);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
table.dtable td{padding:12px 12px;border-bottom:1px solid var(--border);color:var(--ink);white-space:nowrap;}
table.dtable tr:last-child td{border-bottom:none;}
table.dtable tbody tr:hover{background:rgba(171,75,5,0.05);}

.weather-strip{display:flex;align-items:center;gap:18px;padding:16px 20px;}
.weather-item{display:flex;align-items:center;gap:10px;}
.weather-item svg{width:22px;height:22px;color:var(--rust);}
.weather-val{font-size:14px;font-weight:700;color:var(--ink);}
.weather-label{font-size:11px;color:var(--ink-2);}

@media (max-width:980px){
  .db-sidebar{transform:translateX(-100%);}
  .db-sidebar.open{transform:translateX(0);}
  .db-main{margin-left:0;}
  .db-menu-toggle{display:flex;flex-direction:column;}
  .db-search{display:none;}
  .grid-2col{grid-template-columns:1fr;}
}
.toast{position:fixed;bottom:26px;right:26px;background:var(--ink);color:var(--cream);padding:13px 20px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:999;display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(10px);transition:all .25s;}
.toast.show{opacity:1;transform:translateY(0);}
.toast svg{width:16px;height:16px;color:var(--good);flex-shrink:0;}