/* ═══════════════════════════════════════════════════════════════════════════
   STAFF DASHBOARD — /dashboard/*   ("Back office on Third Avenue")
   Loaded AFTER the page's structural inline CSS: it re-skins every .db-* / modal /
   toast / auth-gate component onto the Gokurakugai design language (hard-shadow panels,
   Anton titles, Barlow caps labels, red/ink/paper palette, square corners).
   Structural layout, ids and JS hooks are untouched.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --f-display:'Anton','Impact','Arial Narrow',sans-serif;
  --f-label:'Barlow Condensed','Arial Narrow',sans-serif;
  --f-body:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Noto Sans JP',system-ui,sans-serif;
  --f-jp:'Dela Gothic One','Noto Sans JP',sans-serif;
  --f-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --red:#D4222C;--red-hot:#FF3B3B;--red-deep:#6B0108;--gold:#E8B84A;--ink-0:#0C0A0B;--ink:#16100F;--paper:#F2EADB;
  --ok:#3DBE74;--warn:#E8B84A;--bad:#FF5A4D;--blurple:#5865F2;
}
:root[data-theme="dark"],[data-theme="dark"]{
  --bg:#0C0A0B;--bg2:#120E10;--surface:#171214;--surface2:#1F181B;--surface3:#2A2024;
  --text:#F3E9D9;--text-dim:#CDBFAA;--text-muted:#9A8B79;
  --accent:#FF5A4D;--accent2:#FFA24A;--hard:#6B0108;--line:rgba(243,233,217,.16);--line-strong:rgba(243,233,217,.42);
  --hr:rgba(243,233,217,.18);--in-bg:#100C0D;--in-border:rgba(243,233,217,.34);--input-bg:#100C0D;--input-border:rgba(243,233,217,.34);
  --tag-bg:rgba(255,90,77,.12);--tag-text:#FF8A7E;--card-bg:#171214;--nav-bg:#0C0A0B;
  --glow:4px 4px 0 var(--hard);--glow2:6px 6px 0 var(--hard);--shadow:6px 6px 0 var(--hard);
  --modal-bg:rgba(8,5,6,.88);--overlay:rgba(8,5,6,.9);--sidebar-bg:#120E10;--mob-bar-bg:#0C0A0B;--code-bg:#0A0708;
  --danger:#FF5A4D;--success:#3DBE74;--warn:#E8B84A;--st-ok:#5BE08F;--st-bad:#FF8A7E;--st-info:#9BA8FF;
}
:root[data-theme="light"],[data-theme="light"]{
  --bg:#F2EADB;--bg2:#EADFCB;--surface:#FBF5E8;--surface2:#F0E5D0;--surface3:#E6D8BE;
  --text:#16100F;--text-dim:#3E3029;--text-muted:#6B5B4E;
  --accent:#B3141F;--accent2:#8E0F18;--hard:#16100F;--line:rgba(22,16,15,.2);--line-strong:rgba(22,16,15,.7);
  --hr:rgba(22,16,15,.26);--in-bg:#FFFBF2;--in-border:rgba(22,16,15,.6);--input-bg:#FFFBF2;--input-border:rgba(22,16,15,.6);
  --tag-bg:rgba(179,20,31,.08);--tag-text:#B3141F;--card-bg:#FBF5E8;--nav-bg:#F2EADB;
  --glow:4px 4px 0 var(--hard);--glow2:6px 6px 0 var(--hard);--shadow:6px 6px 0 var(--hard);
  --modal-bg:rgba(22,16,15,.7);--overlay:rgba(22,16,15,.78);--sidebar-bg:#EADFCB;--mob-bar-bg:#F2EADB;--code-bg:#EDE0C8;
  --danger:#B3141F;--success:#146A3A;--warn:#8A5A00;--st-ok:#146A3A;--st-bad:#B3141F;--st-info:#2F44B8;
}
body{font-family:var(--f-body);font-size:16px}
body::before{background:radial-gradient(circle,rgba(127,127,127,.55) 0 1px,transparent 1.5px) 0 0/7px 7px!important;opacity:.09!important}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:0;border:2px solid var(--bg2)}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-weight:400}

/* ── auth gate ───────────────────────────────────────────────────────────── */
#auth-gate,#access-gate{isolation:isolate;overflow:hidden}
#auth-gate::before,#access-gate::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--red);opacity:.09;-webkit-mask:url('/assets/ui/cloud.svg') 0 0/120px 76px repeat;mask:url('/assets/ui/cloud.svg') 0 0/120px 76px repeat}
#auth-gate::after,#access-gate::after{content:'極楽街';position:absolute;left:50%;bottom:-.2em;transform:translateX(-50%);z-index:-1;font:400 clamp(7rem,28vw,22rem)/1 var(--f-jp);color:var(--red);opacity:.08;white-space:nowrap;pointer-events:none}
.gate-logo{font:400 1.5rem/1 var(--f-display);letter-spacing:.14em;color:var(--text);text-shadow:3px 3px 0 var(--red)}
.gate-jp{display:inline-block;padding:.2em .6em;font:400 1.1rem/1 var(--f-jp);color:#fff;background:var(--red);border:2px solid var(--ink-0);opacity:1;transform:rotate(-2deg)}
.gate-icon{width:84px;height:84px;border-radius:0;border:3px solid var(--ink-0);background:var(--red);color:#fff;box-shadow:5px 5px 0 var(--gold);transform:rotate(-3deg)}
.gate-title{font:400 clamp(1.8rem,5vw,2.6rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text);text-shadow:3px 3px 0 var(--hard)}
.gate-sub{font-size:1rem;color:var(--text-dim)}
.gate-loader{width:38px;height:38px;border-radius:0;border:4px solid var(--line-strong);border-top-color:var(--red);border-right-color:var(--red);animation:spin .8s steps(8) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.gate-btn{position:relative;gap:.6rem;min-height:48px;padding:.8rem 1.6rem;font:700 .9rem/1 var(--f-label)!important;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--red);border:2px solid var(--ink-0);box-shadow:5px 5px 0 var(--gold);border-radius:0;transition:transform .12s,box-shadow .12s}
.gate-btn:hover{opacity:1;background:var(--red-hot);transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--gold)}
.gate-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--gold)}
.gate-denied{color:var(--st-bad)}

/* ── top bar ─────────────────────────────────────────────────────────────── */
#db-topbar{background:var(--nav-bg);border-top:3px solid var(--red);border-bottom:2px solid var(--line-strong);box-shadow:none;gap:1rem}
.db-logo{display:inline-flex;align-items:center;gap:.6rem;font:400 1.25rem/1 var(--f-display)!important;letter-spacing:.12em;color:var(--text)}
.db-logo span{display:inline-grid;place-items:center;margin:0;padding:.18em .45em;font:400 .95rem/1 var(--f-jp)!important;color:#fff;background:var(--red);border:2px solid var(--ink-0);box-shadow:2px 2px 0 var(--gold);opacity:1;transform:rotate(-3deg)}
.db-user-chip{border:2px solid var(--line-strong);border-radius:0;background:var(--surface);box-shadow:3px 3px 0 var(--hard);padding:.25rem .7rem .25rem .3rem}
.db-user-chip:hover{border-color:var(--red);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--hard)}
.db-user-av{border:2px solid var(--ink-0);box-shadow:2px 2px 0 var(--red)}
.db-user-name{font:700 .85rem/1 var(--f-label)!important;letter-spacing:.1em;text-transform:uppercase}
.db-role-badge{font:700 .72rem/1 var(--f-label)!important;letter-spacing:.14em;text-transform:uppercase;border-radius:0;padding:.28rem .55rem;transform:rotate(-2deg)}
.db-role-admin{background:var(--red);color:#fff;border:2px solid var(--ink-0)}
.db-role-editor{background:var(--blurple);color:#fff;border:2px solid var(--ink-0)}
.db-role-moderator{background:var(--ok);color:var(--ink-0);border:2px solid var(--ink-0)}
.db-icon-btn{width:40px;height:40px;border-radius:0;border:2px solid var(--line-strong);background:var(--surface);box-shadow:3px 3px 0 var(--hard);color:var(--text)}
.db-icon-btn:hover{border-color:var(--red);color:var(--accent);transform:translate(-1px,-1px)}
.db-notif-dot{border-radius:0;background:var(--red-hot);width:10px;height:10px;border:2px solid var(--nav-bg);transform:rotate(45deg)}
#db-notif-panel,.db-profile-dropdown{border:2px solid var(--line-strong);border-radius:0;background:var(--surface);box-shadow:6px 6px 0 var(--hard)}
.notif-header{font:400 1.05rem/1 var(--f-display)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--text);border-bottom:2px solid var(--line-strong);background:var(--surface2)}
.notif-item{border-bottom:1px solid var(--hr);font-size:.92rem}
.notif-empty{font-style:normal;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}
#home-link{min-height:40px;padding:.3rem .9rem;border:2px solid var(--line-strong)!important;border-radius:0!important;font:700 .8rem/1 var(--f-label)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--text)!important;background:var(--surface)!important;box-shadow:3px 3px 0 var(--hard)}
#home-link:hover{border-color:var(--red)!important;color:var(--accent)!important}
.db-pd-item{font:700 .8rem/1 var(--f-label)!important;letter-spacing:.14em;text-transform:uppercase}
.db-pd-item:hover{background:var(--tag-bg);color:var(--accent)}

/* ── sidebar ─────────────────────────────────────────────────────────────── */
#db-sidebar{background:var(--sidebar-bg,var(--bg2));border-right:2px solid var(--line-strong)}
.db-nav-section{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1rem .4rem;font:700 .74rem/1 var(--f-label)!important;letter-spacing:.26em;color:var(--text-muted)}
.db-nav-section::after{content:'';flex:1;height:2px;background:var(--line)}
.db-nav-item{min-height:46px;font:700 .9rem/1 var(--f-label)!important;letter-spacing:.14em;border-left-width:5px}
.db-nav-item:hover{background:var(--tag-bg);color:var(--text);border-left-color:var(--line-strong)}
.db-nav-item.active{color:#fff;background:var(--red);border-left-color:var(--ink-0);box-shadow:inset -4px 0 0 var(--ink-0)}
.db-nav-item.active svg{opacity:1}
.db-nav-badge{border-radius:0;font:700 .72rem/1 var(--f-label)!important;background:var(--gold);color:var(--ink-0);padding:.18rem .45rem;border:2px solid var(--ink-0)}
.db-nav-item.active .db-nav-badge{background:var(--paper)}
.db-sidebar-footer{border-top:2px solid var(--line-strong)}
.db-logout-btn{min-height:42px;border:2px solid var(--st-bad)!important;border-radius:0!important;font:700 .8rem/1 var(--f-label)!important;letter-spacing:.18em;text-transform:uppercase;color:var(--st-bad)!important;box-shadow:3px 3px 0 var(--hard)}
.db-logout-btn:hover{background:var(--red)!important;color:#fff!important}

/* ── main / headers ──────────────────────────────────────────────────────── */
#db-main{background:transparent;padding:clamp(1.2rem,3vw,2.4rem)}
.db-page-hdr{padding-bottom:1rem;margin-bottom:1.8rem;border-bottom:3px double var(--line-strong)}
.db-page-title{font:400 clamp(2rem,4.5vw,3.2rem)/1 var(--f-display)!important;text-transform:uppercase;letter-spacing:.01em;color:var(--text);text-shadow:3px 3px 0 var(--hard);display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.db-page-title span{display:inline-block;margin:0;padding:.2em .5em;font:400 .9rem/1 var(--f-jp)!important;color:#fff;background:var(--red);border:2px solid var(--ink-0);opacity:1;text-shadow:none;transform:rotate(-2deg)}
.db-section.active{animation:dbFade .25s ease}

/* ── buttons ─────────────────────────────────────────────────────────────── */
.db-btn{min-height:42px;padding:.6rem 1.2rem;font:700 .82rem/1 var(--f-label)!important;letter-spacing:.16em;border:2px solid var(--line-strong);border-radius:0;background:var(--surface);color:var(--text);box-shadow:3px 3px 0 var(--hard);transition:transform .12s,box-shadow .12s,background .12s,color .12s}
.db-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:5px 5px 0 var(--hard);transform:translate(-2px,-2px)}
.db-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--hard)}
.db-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.db-btn-p{background:var(--red);color:#fff;border-color:var(--ink-0);box-shadow:3px 3px 0 var(--gold)}
.db-btn-p:hover{background:var(--red-hot);color:#fff;border-color:var(--ink-0);box-shadow:5px 5px 0 var(--gold)}
.db-btn-danger{border-color:var(--st-bad);color:var(--st-bad);background:transparent}
.db-btn-danger:hover{background:var(--red);color:#fff;border-color:var(--ink-0)}
.db-btn-ghost{border-color:var(--line-strong);color:var(--text-dim);background:transparent;box-shadow:none}
.db-btn-ghost:hover{background:var(--tag-bg);color:var(--accent);border-color:var(--accent);box-shadow:3px 3px 0 var(--hard)}
.db-btn-approve{border-color:var(--st-ok);color:var(--st-ok);background:transparent}
.db-btn-approve:hover{background:var(--ok);color:var(--ink-0);border-color:var(--ink-0);box-shadow:5px 5px 0 var(--hard)}
.db-btn-reject{border-color:var(--st-bad);color:var(--st-bad);background:transparent}
.db-btn-reject:hover{background:var(--red);color:#fff;border-color:var(--ink-0);box-shadow:5px 5px 0 var(--hard)}
.db-btn-sm{min-height:34px;padding:.38rem .8rem;font-size:.72rem!important}

/* ── cards / stats / grids ───────────────────────────────────────────────── */
.db-card,.db-staff-card,.db-char-card,.db-rule-item,.db-toggle-row,.db-media-item,.db-quick-card,.db-stat{background:var(--surface);border:2px solid var(--line-strong);border-radius:0;box-shadow:5px 5px 0 var(--hard);transition:transform .14s var(--ease,ease),box-shadow .14s,border-color .14s}
.db-card:hover,.db-staff-card:hover,.db-char-card:hover,.db-rule-item:hover,.db-media-item:hover,.db-quick-card:hover,.db-stat:hover{border-color:var(--red);transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--hard)}
.db-card{padding:clamp(1rem,2.5vw,1.6rem)}
.db-card-title,.db-section-label{font:700 .88rem/1.2 var(--f-label)!important;letter-spacing:.22em;color:var(--accent)}
.db-section-label{color:var(--text-muted)}
.db-section-label::after{height:2px;background:var(--line)}
.db-stat{text-align:left;padding:1.2rem 1.3rem 1.1rem;overflow:hidden}
.db-stat::before{background:radial-gradient(circle,var(--accent) 0 1px,transparent 1.6px) 100% 0/6px 6px;opacity:.28;inset:auto 0 0 auto;width:55%;height:60%;-webkit-mask:linear-gradient(135deg,transparent 45%,#000);mask:linear-gradient(135deg,transparent 45%,#000)}
.db-stat-val{font:400 clamp(2.4rem,5vw,3.4rem)/1 var(--f-display)!important;color:var(--text);text-shadow:3px 3px 0 var(--red)}
.db-stat-label{font:700 .8rem/1.2 var(--f-label)!important;letter-spacing:.22em;color:var(--text-dim);margin-top:.5rem}
.db-stat-icon{justify-content:flex-start;opacity:1;color:var(--accent)}
.db-quick-card{text-align:left;display:grid;gap:.4rem}
.db-quick-card::after{height:5px;background:var(--red)}
.db-quick-icon{justify-content:flex-start}
.db-quick-label{font:400 1.2rem/1.1 var(--f-display)!important;letter-spacing:.04em;text-transform:uppercase}
.db-staff-av,.db-char-img,.db-img-thumb{border-radius:0;border:2px solid var(--ink-0)}
.db-staff-av{box-shadow:3px 3px 0 var(--red)}
.db-staff-name,.db-char-name,.db-rule-title{font:400 1.2rem/1.1 var(--f-display)!important;letter-spacing:.03em;text-transform:uppercase;color:var(--text)}
.db-char-name{color:var(--accent)}
.db-staff-handle,.db-char-role{font:600 .8rem/1.3 var(--f-label);letter-spacing:.14em;text-transform:uppercase}
.db-rule-num{font:400 1rem/1 var(--f-display)!important;color:#fff;background:var(--red);border:2px solid var(--ink-0);box-shadow:2px 2px 0 var(--gold);transform:rotate(-3deg);padding:.35rem .6rem}
.db-toggle-info h4{font:400 1.15rem/1.1 var(--f-display)!important;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.db-media-item.selected{border-color:var(--ink-0);box-shadow:5px 5px 0 var(--gold)}

/* ── switch ──────────────────────────────────────────────────────────────── */
.db-toggle{width:56px;height:30px;border-radius:0;border:2px solid var(--line-strong);background:var(--surface2)}
.db-toggle-thumb{top:3px;left:3px;width:20px;height:20px;border-radius:0;background:var(--text-muted);border:2px solid var(--ink-0)}
.db-toggle.on{background:var(--red);border-color:var(--ink-0)}
.db-toggle.on .db-toggle-thumb{transform:translateX(26px);background:var(--paper)}

/* ── forms ───────────────────────────────────────────────────────────────── */
.db-label,.psm-label{font:700 .8rem/1.2 var(--f-label)!important;letter-spacing:.2em;color:var(--accent);margin-bottom:.45rem}
.db-input,.db-select,.db-textarea,.db-search,.psm-input,.psm-textarea{background:var(--in-bg);border:2px solid var(--in-border);border-radius:0;color:var(--text);font-family:var(--f-body)!important;font-size:1rem;transition:border-color .14s,box-shadow .14s}
.db-input:focus,.db-select:focus,.db-textarea:focus,.db-search:focus,.psm-input:focus,.psm-textarea:focus{outline:none;border-color:var(--red);box-shadow:4px 4px 0 var(--hard)}
.db-hint,.psm-hint{font-style:normal;color:var(--text-muted)}
.db-filter-btn,.db-content-tab,.rte-mode-btn{min-height:38px;padding:.4rem 1rem;font:700 .8rem/1 var(--f-label)!important;letter-spacing:.16em;text-transform:uppercase;border:2px solid var(--line-strong);border-radius:0;background:var(--surface);color:var(--text-dim)}
.db-filter-btn:hover,.db-content-tab:hover,.rte-mode-btn:hover{border-color:var(--red);color:var(--accent)}
.db-filter-btn.active,.db-content-tab.active,.rte-mode-btn.active{background:var(--red);color:#fff;border-color:var(--ink-0);box-shadow:3px 3px 0 var(--gold)}
.db-divider{height:2px;background:var(--line)}
.db-img-drop{border:3px dashed var(--line-strong);border-radius:0;background:var(--in-bg)}
.db-img-drop:hover,.db-img-drop.drag-over{border-color:var(--red);background:var(--tag-bg)}
.db-img-drop-label{font:700 .88rem/1.2 var(--f-label)!important;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.db-img-thumb-rm{border-radius:0;border:2px solid var(--ink-0);width:22px;height:22px;background:var(--red)}
.db-autosave{font:700 .78rem/1 var(--f-label)!important;letter-spacing:.16em;text-transform:uppercase}
.db-autosave.saved{color:var(--st-ok)}
.db-autosave-dot{border-radius:0;transform:rotate(45deg)}

/* ── rich text editor ────────────────────────────────────────────────────── */
.rte-wrap{border:2px solid var(--in-border);box-shadow:4px 4px 0 var(--hard)}
.rte-toolbar{border-bottom:2px solid var(--in-border);background:var(--surface2);gap:4px}
.rte-btn{min-width:34px;min-height:34px;font:700 .8rem/1 var(--f-label)!important;letter-spacing:.06em;border:2px solid transparent;border-radius:0}
.rte-btn:hover{border-color:var(--red);color:var(--accent)}
.rte-btn.active{background:var(--red);color:#fff;border-color:var(--ink-0)}
.rte-sep{width:2px;background:var(--line)}
.rte-content h2,.rte-content h3,.rte-preview h2,.rte-preview h3{font-family:var(--f-display)!important;font-weight:400;text-transform:uppercase;letter-spacing:.02em;color:var(--text)}
.rte-content blockquote{border-left:6px solid var(--red);font-style:normal}

/* ── tables ──────────────────────────────────────────────────────────────── */
.db-table-wrap{border:2px solid var(--line-strong);box-shadow:5px 5px 0 var(--hard);background:var(--surface)}
.db-table th{padding:.8rem 1rem;font:700 .82rem/1 var(--f-label)!important;letter-spacing:.2em;color:var(--text);background:var(--surface3);border-bottom:3px solid var(--red)!important;white-space:nowrap}
.db-table td{border-bottom:1px solid var(--hr);font-size:.95rem}
.db-table tbody tr:nth-child(even) td{background:rgba(127,127,127,.05)}
.db-table tr:hover td{background:var(--tag-bg)}
.db-status{border-radius:0;padding:.28rem .6rem;font:700 .74rem/1 var(--f-label)!important;letter-spacing:.16em;text-transform:uppercase;border-width:2px!important;transform:rotate(-1.5deg)}
.db-status-published{color:var(--st-ok);background:transparent;border:2px solid var(--st-ok)}
.db-status-draft{color:var(--text-dim);background:var(--surface2);border:2px solid var(--line-strong)}
.db-status-scheduled{color:var(--st-info);background:transparent;border:2px solid var(--st-info)}
.db-status-pending{color:var(--st-bad);background:transparent;border:2px solid var(--st-bad)}

/* ── alerts / empty / log ────────────────────────────────────────────────── */
.db-alert{border-radius:0;border:2px solid var(--line-strong);border-left-width:8px;background:var(--surface);color:var(--text);font-size:.96rem}
.db-alert-info{border-color:var(--st-info);color:var(--text)}
.db-alert-success{border-color:var(--st-ok);color:var(--text)}
.db-alert-warn{border-color:var(--gold);color:var(--text)}
.db-alert-err{border-color:var(--st-bad);color:var(--text)}
.db-alert-info svg{color:var(--st-info)}.db-alert-success svg{color:var(--st-ok)}.db-alert-warn svg{color:var(--gold)}.db-alert-err svg{color:var(--st-bad)}
.db-perm-notice{border-radius:0;border:2px solid var(--st-bad);border-left-width:8px;background:var(--surface);color:var(--text)}
.db-empty{position:relative;isolation:isolate;overflow:hidden;border:3px dashed var(--line-strong);background:var(--surface);padding:clamp(2rem,6vw,4rem) 1.5rem}
.db-empty::after{content:'空';position:absolute;right:-.05em;bottom:-.25em;z-index:-1;font:400 11rem/1 var(--f-jp);color:var(--red);opacity:.08}
.db-empty-icon{opacity:1;color:var(--accent)}
.db-empty-title{font:400 1.8rem/1 var(--f-display)!important;letter-spacing:.03em;text-transform:uppercase;color:var(--text)}
.db-log-item,.db-version-item{border-bottom:1px solid var(--hr)}
.db-log-icon{border-radius:0;border:2px solid currentColor;transform:rotate(-4deg)}
.db-log-icon-create{color:var(--st-ok)}.db-log-icon-edit{color:var(--st-info)}.db-log-icon-delete{color:var(--st-bad)}.db-log-icon-publish{color:var(--gold)}
.db-log-time,.db-version-time,.notif-time{font:600 .8rem/1.3 var(--f-label);letter-spacing:.1em;text-transform:uppercase}

/* ── modals / confirm / toast ────────────────────────────────────────────── */
.db-modal-ov,.db-confirm-ov,#profile-settings-ov{background:var(--modal-bg);backdrop-filter:blur(5px)}
.db-modal,#profile-settings-modal{background:var(--surface);border:3px solid var(--ink-0);border-radius:0;box-shadow:10px 10px 0 var(--red)}
[data-theme="dark"] .db-modal,[data-theme="dark"] #profile-settings-modal{border-color:var(--line-strong)}
.db-modal-hdr{padding:1rem 1.4rem;background:var(--surface2);border-bottom:3px solid var(--red)}
.db-modal-title,.psm-title{font:400 1.5rem/1 var(--f-display)!important;letter-spacing:.03em;text-transform:uppercase;color:var(--text)}
.db-modal-close,.psm-close{display:grid;place-items:center;width:38px;height:38px;color:var(--text);border:2px solid var(--line-strong);background:var(--surface);font-size:1.2rem}
.db-modal-close:hover,.psm-close:hover{background:var(--red);color:#fff;border-color:var(--ink-0)}
.psm-actions{border-top:2px solid var(--line)}
.db-confirm{background:var(--surface);border:3px solid var(--ink-0);border-top:10px solid var(--red);border-radius:0;box-shadow:8px 8px 0 var(--hard)}
[data-theme="dark"] .db-confirm{border-color:var(--line-strong);border-top-color:var(--red)}
.db-confirm-title{font:400 1.6rem/1 var(--f-display)!important;letter-spacing:.03em;text-transform:uppercase;color:var(--accent)}
#db-toast{border:2px solid var(--ink-0);border-left:10px solid var(--ok);border-radius:0;background:var(--surface);color:var(--text);box-shadow:6px 6px 0 var(--hard);font:700 .9rem/1.2 var(--f-label)!important;letter-spacing:.14em;text-transform:uppercase}
[data-theme="dark"] #db-toast{border-color:var(--line-strong);border-left-color:var(--ok)}
#db-toast.err{border-left-color:var(--red);color:var(--text)}

@media(max-width:900px){#db-sidebar{border-right:3px solid var(--red)}.db-sidebar-ov{background:var(--modal-bg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.gate-icon{margin-bottom:1rem}
@media(max-width:700px){
  #db-topbar{gap:.5rem;padding:0 .6rem}
  .db-logo{font-size:1rem;gap:.4rem}
  .db-topbar-right{gap:.4rem;min-width:0}
  .db-user-name,.db-role-badge{display:none}
  #home-link{font-size:0!important;gap:0;padding:0;width:40px;justify-content:center}
  #home-link svg{width:18px;height:18px}
  #db-main{padding:1rem .9rem}
}
[data-theme="light"] .db-page-title,[data-theme="light"] .gate-title,[data-theme="light"] .login-title{text-shadow:3px 3px 0 var(--red)}
#db-main{min-width:0}
@media(max-width:900px){#db-wrap.visible{grid-template-columns:minmax(0,1fr)}.db-stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.db-quick-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
