:root{
  --bg:#FFFFFF; --fg:#000000; --muted:#F2F2F2; --line:#111111;
  --accent:#E2231A; --accent-soft:rgba(226,35,26,.08); --gray:#898989; --grid:#ECECEC;
  --ok:#0A7D3D;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5}
.mono{font-family:'JetBrains Mono',monospace}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px 60px}

.topbar{border-bottom:4px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;position:sticky;top:0;z-index:50;background:var(--bg)}
.brand{display:flex;align-items:center;gap:10px}
.brand__mark{font-family:'JetBrains Mono',monospace;font-weight:800;background:var(--fg);color:#fff;padding:3px 8px;font-size:14px}
.brand__name{font-weight:800;font-size:15px;letter-spacing:.02em}
.brand__acc{color:var(--accent)}
.topbar__meta{font-family:'JetBrains Mono',monospace;font-size:11px;text-align:right;color:var(--gray)}
.topbar__meta b{color:var(--fg)}

.hero{padding:42px 0 26px}
.hero__label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;color:var(--accent);font-weight:800;text-transform:uppercase;margin-bottom:10px}
.hero__num{color:var(--accent);font-weight:800}
.hero__title{font-size:clamp(28px,5vw,44px);font-weight:900;letter-spacing:-.02em;line-height:1.05}
.hero__badge{color:var(--accent);display:inline-block;margin-left:12px;font-size:.5em;vertical-align:middle;border:3px solid var(--accent);padding:3px 12px;transform:rotate(-2deg)}
.hero__note{max-width:720px;margin-top:12px;font-size:13px;color:var(--gray);font-weight:500}

.kpi-section{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.kpi-card{border:2px solid var(--line);padding:16px 18px;background:var(--bg);transition:background .15s}
.kpi-card:hover{background:var(--muted)}
.kpi-card__label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--gray);margin-bottom:6px}
.kpi-card__val{font-family:'JetBrains Mono',monospace;font-size:clamp(26px,4vw,38px);font-weight:900;letter-spacing:-.02em;line-height:1}
.kpi-card__sub{font-size:10px;color:var(--gray);margin-top:6px;font-weight:500}

.card{border:2px solid var(--line);background:var(--bg);margin-bottom:24px}
.card__head{padding:10px 14px;border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.card__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--gray)}
.badge{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;border:1px solid var(--line);padding:3px 10px;background:var(--muted)}

.toolbar{display:flex;gap:10px;padding:12px 14px;border-bottom:2px solid var(--line)}
.fctrl{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;border:2px solid var(--line);padding:9px 12px;outline:none;background:var(--bg);color:var(--fg)}
.fctrl:focus{box-shadow:3px 3px 0 var(--fg)}
.fctrl--grow{flex:1;min-width:160px}
.fctrl::placeholder{color:var(--gray);font-weight:500}

.btn{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:800;letter-spacing:.05em;border:2px solid var(--line);background:var(--fg);color:#fff;padding:8px 14px;cursor:pointer;text-transform:uppercase}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn--ghost{background:var(--bg);color:var(--fg)}
.btn--ghost:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--mini{padding:3px 8px;font-size:10px;border-width:1.5px;background:var(--bg);color:var(--fg)}
.btn--mini:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--ok{background:var(--ok)!important;border-color:var(--ok)!important;color:#fff!important}

.tbl-scroll{overflow-x:auto;max-height:62vh;overflow-y:auto}
.dtbl{width:100%;border-collapse:collapse;font-size:13px}
.dtbl th{position:sticky;top:0;background:var(--muted);border-bottom:2px solid var(--line);text-align:left;padding:9px 14px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--gray);white-space:nowrap;z-index:1}
.dtbl td{padding:8px 14px;border-bottom:1px solid var(--grid);vertical-align:middle}
.dtbl tr:hover td{background:var(--accent-soft)}
.dtbl td.num{font-family:'JetBrains Mono',monospace;color:var(--gray);width:56px}
.dtbl td.act{white-space:nowrap;text-align:right;width:130px}
.dtbl th.act{text-align:right}
.dtbl td.mono{font-family:'JetBrains Mono',monospace;font-size:12px;white-space:nowrap}

.empty{padding:40px;text-align:center;color:var(--gray);font-weight:600;font-size:13px}
.dfooter{padding:8px 14px;border-top:1px solid var(--grid);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray)}
.foot{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray);text-align:center}

@media(max-width:640px){
  .kpi-section{grid-template-columns:1fr}
  .topbar{flex-direction:column;align-items:flex-start}
  .topbar__meta{text-align:left}
  .toolbar{flex-direction:column}
  .dtbl td.mono{font-size:11px}
}

/* ── Form ── */
.wrap--narrow{max-width:760px}
.form-card{margin-bottom:16px}
.card__body{padding:14px}
.val-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.val-box{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;border:2px dashed var(--line);padding:10px 14px;background:var(--muted);word-break:break-all}
.btn-row{display:flex;gap:8px;flex-wrap:wrap}
.btn--big{width:100%;padding:16px;font-size:14px}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn:disabled:hover{background:var(--fg);border-color:var(--line)}
.submit-row{margin:22px 0 10px}
.submit-note{margin-top:8px;font-size:12px;color:var(--gray);font-weight:600}
.hint{font-size:11.5px;color:var(--gray);margin-top:8px;font-weight:500}
.combobox{position:relative}
.cb-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;list-style:none;background:var(--bg);border:2px solid var(--line);max-height:280px;overflow-y:auto;box-shadow:6px 6px 0 rgba(0,0,0,.12)}
.cb-list li{padding:9px 12px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;border-bottom:1px solid var(--grid);font-size:13px}
.cb-list li:hover{background:var(--accent);color:#fff}
.cb-list li:hover span{color:#fff}
.cb-list li span{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--gray)}
.drop{border:2px dashed var(--line);padding:26px 14px;text-align:center;display:block;cursor:pointer;background:var(--muted);transition:background .15s}
.drop:hover{background:var(--accent-soft)}
.drop__icon{display:block;font-size:26px;font-weight:900}
.drop__txt{display:block;font-weight:800;font-size:14px;margin-top:6px}
.drop__sub{display:block;font-size:11px;color:var(--gray);margin-top:4px}
.file-list{list-style:none;margin-top:10px}
.file-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--grid);margin-bottom:6px;font-size:12.5px;font-weight:600}
.file-list li small{margin-left:auto;color:var(--gray)}
.msg{border:2px solid var(--line);padding:14px 16px;margin:14px 0;font-size:13.5px;font-weight:600}
.msg--ok{background:var(--accent-soft);border-color:var(--ok);color:var(--ok)}
.msg--err{background:rgba(226,35,26,.08);border-color:var(--accent);color:var(--accent)}
.msg a{font-weight:800}

/* ── Admin ── */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--line);margin-bottom:20px}
.tab{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--line);border-bottom:0;background:var(--bg);padding:10px 18px;cursor:pointer;margin-right:6px}
.tab.active{background:var(--fg);color:#fff}
.tab:hover:not(.active){background:var(--muted)}
.login-card input{margin-bottom:4px}

/* ── Modal ── */
[hidden]{display:none !important}
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.modal__box{position:relative;background:var(--bg);border:2px solid var(--line);width:100%;max-width:440px;box-shadow:10px 10px 0 rgba(0,0,0,.25)}
.modal__head{padding:10px 14px;border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.modal__close{font-size:20px;font-weight:800;background:none;border:none;cursor:pointer;line-height:1}
.modal__body{padding:14px;display:flex;flex-direction:column;gap:10px}
.modal__body label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--gray);display:block;margin-bottom:4px}
.modal__foot{padding:12px 14px;border-top:2px solid var(--line);display:flex;gap:8px;justify-content:flex-end}
.modal input[list]{width:100%}
.row-del{color:var(--accent)!important;border-color:var(--accent)!important}

/* ── Mode toggle ── */
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg__btn{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--line);background:var(--bg);padding:10px 16px;cursor:pointer}
.seg__btn.active{background:var(--fg);color:#fff}
.seg__btn:hover:not(.active){background:var(--muted)}
.badge--mode{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── Drive preview popup ── */
.drive-pop{position:fixed;z-index:300;background:var(--bg);border:2px solid var(--line);box-shadow:8px 8px 0 rgba(0,0,0,.18);display:flex;flex-direction:column}
.drive-pop__head{padding:7px 10px;border-bottom:2px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);background:var(--muted)}
.drive-pop__body{padding:8px;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}
.drive-pop__file{display:flex;gap:8px;align-items:center;text-decoration:none;color:var(--fg);border:1px solid var(--grid);padding:5px;font-size:11.5px;font-weight:600}
.drive-pop__file:hover{border-color:var(--accent);background:var(--accent-soft)}
.drive-pop__file img{width:56px;height:42px;object-fit:cover;border:1px solid var(--grid);flex-shrink:0;background:#fff}
.drive-pop__file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drive-pop__noimg{width:56px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--grid);font-size:18px;flex-shrink:0}
.drive-pop__empty{padding:14px;text-align:center;color:var(--gray);font-size:12px;font-weight:600}
.dl-link{text-decoration:none;color:var(--accent);font-weight:700}
.dl-link:hover{text-decoration:underline}

/* ── Link file & preview per-file ── */
.fl-cell{max-width:220px}
.fl-link{display:inline-block;color:var(--accent);font-weight:700;text-decoration:none;word-break:break-all;font-size:12px}
.fl-link:hover{text-decoration:underline}
.drive-pop__bigimg{width:100%;max-height:280px;object-fit:contain;border:1px solid var(--grid);background:#fff}
.drive-pop__fname{margin-top:4px;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drive-pop__noimg--big{width:100%;height:140px;font-size:44px}
.drive-pop__body .btn--mini{align-self:flex-start;margin-top:6px}
