    :root{
      --bg:#0b0f19;
      --panel:#0f1629;
      --panel2:#0c1325;
      --text:#e9eefc;
      --muted:#a9b3d1;
      --faint:#6f7aa2;
      --border:#223156;
      --accent:#7aa2ff;
      --ok:#42d392;
      --bad:#ff5c7a;
      --warn:#ffd36e;
      --surface-strong: rgba(15,22,41,.85);
      --surface-soft: rgba(15,22,41,.55);
      --surface-subtle: rgba(8,12,22,.35);
      --surface-subtle-alt: rgba(8,12,22,.25);
      --header-strip: rgba(12,19,37,.35);
      --control-border: rgba(34,49,86,.78);
      --control-border-strong: rgba(34,49,86,.9);
      --shadow: 0 12px 30px rgba(0,0,0,.35);
      --radius: 16px;
      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    }

    body[data-theme="day"]{
      --bg:#f4f8ff;
      --panel:#fcfdff;
      --panel2:#f2f7ff;
      --text:#18284a;
      --muted:#415a88;
      --faint:#6078a8;
      --border:#bfd1f3;
      --accent:#2f63dc;
      --ok:#128a5b;
      --bad:#c53558;
      --warn:#a87408;
      --surface-strong: rgba(245,250,255,.96);
      --surface-soft: rgba(235,244,255,.88);
      --surface-subtle: rgba(223,236,255,.72);
      --surface-subtle-alt: rgba(229,241,255,.62);
      --header-strip: rgba(224,238,255,.68);
      --control-border: rgba(94,126,188,.42);
      --control-border-strong: rgba(86,120,186,.55);
      --shadow: 0 10px 28px rgba(44,75,142,.14);
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family:var(--sans);
      background: radial-gradient(1200px 800px at 20% 10%, rgba(122,162,255,.18), transparent 55%),
                  radial-gradient(900px 600px at 85% 30%, rgba(66,211,146,.12), transparent 60%),
                  var(--bg);
      transition: background .2s ease, color .2s ease;
      color:var(--text);
    }

    header{
      position:sticky;
      top:0;
      z-index:10;
      backdrop-filter: blur(10px);
      background: color-mix(in oklab, var(--panel2) 88%, transparent);
      border-bottom:1px solid color-mix(in oklab, var(--border) 72%, transparent);
    }
    .header-inner{
      max-width:1400px;
      margin:0 auto;
      padding:16px 18px;
      display:flex;
      align-items:center;
      gap:14px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:260px;
    }
    .logo{
      width:34px;height:34px;border-radius:10px;
      background: linear-gradient(135deg, rgba(122,162,255,.9), rgba(66,211,146,.85));
      box-shadow: 0 8px 20px rgba(122,162,255,.25);
    }
    .title-wrap{display:flex;flex-direction:column;line-height:1.1}
    .title{font-weight:700;letter-spacing:.2px}
    .subtitle{font-size:12px;color:var(--muted);margin-top:2px}
    .top-actions{
      margin-left:auto;
      display:flex; gap:10px; align-items:center;
    }
    .pill{
      border:1px solid var(--control-border);
      background: var(--surface-soft);
      padding:8px 10px;
      border-radius:999px;
      font-size:12px;
      color:var(--muted);
      display:flex; gap:8px; align-items:center;
      box-shadow: 0 8px 24px rgba(0,0,0,.2);
      white-space:nowrap;
    }
    .update-link{
      text-decoration:none;
      text-transform: lowercase;
      padding:8px 10px;
      border-radius:999px;
      font-size:12px;
    }
    .update-countdown{
      color:var(--faint);
      font-size:12px;
    }
    .dot{
      width:8px;height:8px;border-radius:999px;background:var(--warn);
      box-shadow: 0 0 0 3px rgba(255,211,110,.14);
    }
    .btn{
      appearance:none;
      border:1px solid var(--control-border-strong);
      background: var(--surface-strong);
      color:var(--text);
      padding:10px 12px;
      border-radius:12px;
      cursor:pointer;
      box-shadow: var(--shadow);
      transition: transform .06s ease, border-color .2s ease, background .2s ease;
      font-weight:600;
      font-size:13px;
    }
    .btn:hover{border-color: rgba(122,162,255,.75)}
    .btn:active{transform: translateY(1px)}
    .btn.primary{
      border-color: rgba(122,162,255,.9);
      background: linear-gradient(135deg, rgba(122,162,255,.95), rgba(122,162,255,.55));
      color:#081029;
    }
    .btn.ok{
      border-color: rgba(66,211,146,.9);
      background: linear-gradient(135deg, rgba(66,211,146,.95), rgba(66,211,146,.55));
      color:#05151a;
    }
    .btn.bad{
      border-color: rgba(255,92,122,.9);
      background: linear-gradient(135deg, rgba(255,92,122,.92), rgba(255,92,122,.48));
      color:#21060d;
    }
    .btn.ghost{
      background: transparent;
      box-shadow:none;
    }

    .wrap{
      max-width:1400px;
      margin:0 auto;
      padding:18px;
      display:grid;
      grid-template-columns: 340px 1fr 1fr;
      gap:14px;
      min-height: calc(100vh - 74px);
    }

    .panel{
      background: linear-gradient(180deg, color-mix(in oklab, var(--panel) 88%, transparent), color-mix(in oklab, var(--panel2) 85%, transparent));
      border:1px solid color-mix(in oklab, var(--border) 75%, transparent);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
      display:flex;
      flex-direction:column;
      min-height: 480px;
    }
    .panel-header{
      padding:14px 14px 12px;
      border-bottom:1px solid var(--control-border);
      display:flex;
      align-items:center;
      gap:10px;
      background: var(--header-strip);
    }
    .panel-header h2{
      margin:0;
      font-size:13px;
      letter-spacing:.3px;
      text-transform: uppercase;
      color: var(--muted);
      flex:1;
    }
    .panel-header .meta{
      font-size:12px;
      color: var(--faint);
      white-space:nowrap;
    }
    .panel-body{
      padding:14px;
      display:flex;
      flex-direction:column;
      gap:12px;
      flex:1;
      min-height: 0;
    }

    /* Left list */
    .search{
      display:flex;gap:10px;align-items:center;
      padding:10px 12px;
      border-radius: 12px;
      border:1px solid var(--control-border);
      background: var(--surface-subtle);
    }
    .search input{
      width:100%;
      border:0;
      outline:none;
      background:transparent;
      color:var(--text);
      font-size:13px;
    }
    .search .k{
      font-size:11px;
      color:var(--faint);
      border:1px solid var(--control-border);
      padding:3px 6px;
      border-radius:8px;
      background: var(--surface-soft);
    }

    .req-list{
      display:flex;
      flex-direction:column;
      gap:10px;
      overflow:auto;
      padding-right:4px;
      min-height: 0;
    }
    .req{
      border:1px solid var(--control-border);
      background: var(--surface-subtle-alt);
      border-radius: 14px;
      padding:10px 10px;
      cursor:pointer;
      transition: border-color .2s ease, transform .06s ease, background .2s ease;
      display:flex;
      gap:10px;
      align-items:flex-start;
    }
    .req:hover{border-color: rgba(122,162,255,.55)}
    .req:active{transform: translateY(1px)}
    .req.selected{
      border-color: rgba(122,162,255,.9);
      background: rgba(122,162,255,.10);
    }
    .req .badge{
      min-width: 10px;
      height: 10px;
      border-radius: 999px;
      margin-top:4px;
      background: var(--warn);
      box-shadow: 0 0 0 3px rgba(255,211,110,.12);
    }
    .req[data-status="approved"] .badge{background: var(--ok); box-shadow: 0 0 0 3px rgba(66,211,146,.12)}
    .req[data-status="rejected"] .badge{background: var(--bad); box-shadow: 0 0 0 3px rgba(255,92,122,.12)}
    .req-main{flex:1; min-width:0}
    .req-top{display:flex; gap:8px; align-items:center}
    .req-id{font-weight:700; font-size:13px}
    .req-tag{
      font-size:11px;
      color:var(--muted);
      border:1px solid var(--control-border);
      padding:2px 8px;
      border-radius:999px;
      background: var(--surface-soft);
    }
    .req-sub{
      margin-top:6px;
      font-size:12px;
      color:var(--muted);
      line-height:1.35;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .req-meta{
      margin-top:6px;
      font-size:11px;
      color:var(--faint);
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    /* Middle editor */
    .toolbar{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .hint{
      font-size:12px;
      color:var(--muted);
      line-height:1.35;
      padding:10px 12px;
      border:1px dashed var(--control-border-strong);
      border-radius: 14px;
      background: var(--surface-subtle-alt);
    }
    .editor{
      flex:1;
      display:flex;
      flex-direction:column;
      min-height:0;
      gap:10px;
    }
    textarea{
      width:100%;
      min-height: 240px;
      flex:1;
      resize:none;
      border-radius: 14px;
      border:1px solid var(--control-border);
      background: var(--surface-subtle);
      color: var(--text);
      padding:12px 12px;
      font-family: var(--mono);
      font-size:12px;
      line-height:1.4;
      outline:none;
    }
    textarea:focus{border-color: rgba(122,162,255,.8)}
    .comment{
      min-height: 92px;
      flex:0;
      font-family: var(--sans);
      font-size:13px;
      line-height:1.35;
    }

    .row{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
    }
    .status-line{
      display:flex;
      gap:10px;
      align-items:center;
      font-size:12px;
      color:var(--muted);
    }
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid var(--control-border);
      background: var(--surface-soft);
      color:var(--muted);
    }
    .status-pill b{color:var(--text)}
    .status-pill .mini{
      width:8px;height:8px;border-radius:999px;background:var(--warn);
      box-shadow: 0 0 0 3px rgba(255,211,110,.12);
    }
    .status-pill[data-status="approved"] .mini{background:var(--ok); box-shadow: 0 0 0 3px rgba(66,211,146,.12)}
    .status-pill[data-status="rejected"] .mini{background:var(--bad); box-shadow: 0 0 0 3px rgba(255,92,122,.12)}
    .status-pill[data-status="pending"] .mini{background:var(--warn); box-shadow: 0 0 0 3px rgba(255,211,110,.12)}

    /* Right translator */
    .nl{
      flex:1;
      min-height:0;
      overflow:auto;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid var(--control-border);
      background: var(--surface-subtle-alt);
      line-height:1.5;
      font-size:13px;
    }
    .nl h3{margin:0 0 8px 0; font-size:14px}
    .nl p{margin:0 0 10px 0; color:var(--text)}
    .nl .muted{color:var(--muted)}
    .kv{
      margin-top:10px;
      display:grid;
      grid-template-columns: 140px 1fr;
      gap:8px 10px;
      padding:10px 10px;
      border-radius: 14px;
      border:1px solid var(--control-border);
      background: var(--surface-soft);
      font-size:12px;
      color:var(--muted);
    }
    .kv div:nth-child(odd){color:var(--faint)}
    .warnbox{
      margin-top:10px;
      padding:10px 12px;
      border-radius: 14px;
      border:1px solid rgba(255,211,110,.35);
      background: rgba(255,211,110,.08);
      color: var(--muted);
      font-size:12px;
      line-height:1.4;
    }
    .okbox{
      margin-top:10px;
      padding:10px 12px;
      border-radius: 14px;
      border:1px solid rgba(66,211,146,.35);
      background: rgba(66,211,146,.08);
      color: var(--muted);
      font-size:12px;
      line-height:1.4;
    }
    .badbox{
      margin-top:10px;
      padding:10px 12px;
      border-radius: 14px;
      border:1px solid rgba(255,92,122,.35);
      background: rgba(255,92,122,.08);
      color: var(--muted);
      font-size:12px;
      line-height:1.4;
    }

    /* Toast */
    .toast{
      position:fixed;
      bottom:18px;
      left:50%;
      transform:translateX(-50%);
      background: rgba(15,22,41,.92);
      border:1px solid rgba(34,49,86,.85);
      border-radius: 14px;
      box-shadow: var(--shadow);
      padding:10px 12px;
      color:var(--text);
      font-size:13px;
      display:none;
      gap:10px;
      align-items:center;
      max-width: 860px;
      width: calc(100% - 36px);
    }
    .toast .tmini{width:10px;height:10px;border-radius:999px;background:var(--accent)}
    .toast.show{display:flex; animation: pop .18s ease-out}
    @keyframes pop{from{transform:translateX(-50%) translateY(8px); opacity:.0} to{transform:translateX(-50%) translateY(0); opacity:1}}

    /* Responsive */
    @media (max-width: 1100px){
      .wrap{grid-template-columns: 1fr; }
      .brand{min-width:auto}
      .panel{min-height: 340px;}
    }
  
