/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.a16f29d7d2a21a4f.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.5c913fc1b1f86f4b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.0303e02b53b0298f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.cd8db90cd950e26b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.a16f29d7d2a21a4f.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.5c913fc1b1f86f4b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.0303e02b53b0298f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.cd8db90cd950e26b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.a16f29d7d2a21a4f.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.5c913fc1b1f86f4b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.0303e02b53b0298f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.cd8db90cd950e26b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.a16f29d7d2a21a4f.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.5c913fc1b1f86f4b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.0303e02b53b0298f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.cd8db90cd950e26b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.a16f29d7d2a21a4f.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.5c913fc1b1f86f4b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.0303e02b53b0298f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/static/operation-v95/plus-jakarta-sans.cd8db90cd950e26b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


    :root {
      color-scheme: light;
      --bg-top: #eef6ff;
      --bg-bottom: #dbeafc;
      --surface: rgba(255, 255, 255, .96);
      --surface-strong: #ffffff;
      --ink: #102147;
      --muted: #5e7298;
      --line: rgba(210, 225, 245, .92);
      --soft: #eff5ff;
      --accent: #0d6df2;
      --accent-strong: #0958c7;
      --teal: #0f9c7f;
      --warning: #b7791f;
      --danger: #c2412d;
      --shadow-lg: 0 18px 40px rgba(47, 88, 154, .12);
      --shadow-xl: 0 30px 80px rgba(47, 88, 154, .16);
      font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      background:
        linear-gradient(rgba(75, 116, 187, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(75, 116, 187, .045) 1px, transparent 1px),
        linear-gradient(160deg, var(--bg-top), var(--bg-bottom) 62%);
      background-size: 56px 56px, 56px 56px, auto;
      color: var(--ink);
    }
    a { color: inherit; text-decoration: none; }
    .shell { min-height: 100vh; display: block; }
    .app-layout { min-height: 100vh; display: grid; grid-template-columns: 168px minmax(0, 1fr); }
    .side-nav {
      position: sticky;
      top: 0;
      height: 100vh;
      overflow: hidden;
      padding: 14px 10px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      border-right: 1px solid rgba(218, 182, 91, .38);
      background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,250,239,.86)),
        linear-gradient(135deg, rgba(142, 30, 26, .08), rgba(214, 167, 58, .10));
      box-shadow: 16px 0 34px rgba(73, 50, 35, .06);
    }
    .role-chip {
      align-self: flex-start;
      height: 26px;
      display: inline-flex;
      align-items: center;
      padding: 0 10px;
      border-radius: 999px;
      color: #7f1d1d;
      border: 1px solid rgba(214, 167, 58, .55);
      background: rgba(255, 249, 235, .86);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .side-logo {
      display: grid;
      place-items: center;
      padding: 6px 0 10px;
      border-bottom: 1px solid rgba(218, 182, 91, .32);
    }
    .side-logo img { width: 76px; height: 76px; object-fit: contain; }
    .side-logo strong { margin-top: 8px; color: #1f2937; font-size: 15px; letter-spacing: .04em; }
    .side-logo span { margin-top: 3px; color: #8a5b20; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
    .side-menu {
      min-height: 0;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      gap: 8px;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 2px 6px 10px 0;
      scrollbar-width: thin;
      scrollbar-color: rgba(138, 91, 32, .42) transparent;
    }
    .side-menu::-webkit-scrollbar { width: 6px; }
    .side-menu::-webkit-scrollbar-thumb { border-radius: 6px; background: rgba(138, 91, 32, .34); }
    .side-menu::-webkit-scrollbar-track { background: transparent; }
    .side-menu a {
      min-height: 38px;
      display: flex;
      align-items: center;
      padding: 0 12px;
      border: 1px solid transparent;
      border-radius: 14px;
      color: #344054;
      font-size: 13px;
      font-weight: 900;
    }
    .side-menu a.active {
      color: #7f1d1d;
      border-color: rgba(214, 167, 58, .58);
      background: linear-gradient(135deg, rgba(255, 246, 224, .96), rgba(255,255,255,.82));
      box-shadow: inset 3px 0 0 #d6a73a;
    }
    .side-menu-group {
      border: 1px solid rgba(218, 182, 91, .30);
      border-radius: 12px;
      background: rgba(255, 255, 255, .38);
    }
    .side-menu-group[open] { background: rgba(255, 252, 244, .72); }
    .side-menu-group summary {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 0 12px;
      color: #6b4a24;
      cursor: pointer;
      list-style: none;
      font-size: 12px;
      font-weight: 900;
      user-select: none;
    }
    .side-menu-group summary::-webkit-details-marker { display: none; }
    .side-menu-group summary::after {
      content: "";
      width: 7px;
      height: 7px;
      flex: 0 0 auto;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: rotate(45deg);
      transition: transform .16s ease;
    }
    .side-menu-group[open] summary::after { transform: rotate(225deg); }
    .side-menu-group summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 11px; }
    .side-menu-group-links {
      display: grid;
      gap: 4px;
      margin: 0 8px 8px;
      padding: 2px 0 0 7px;
      border-left: 1px solid rgba(214, 167, 58, .34);
    }
    .side-menu-group-links a { min-height: 34px; padding: 0 10px; border-radius: 10px; font-size: 12px; }
    .side-foot {
      flex: 0 0 auto;
      display: grid;
      gap: 10px;
      padding-top: 10px;
      border-top: 1px solid rgba(218, 182, 91, .32);
      color: var(--muted);
      font-size: 12px;
    }
    .side-foot .top-actions { gap: 7px; }
    .main-area { min-width: 0; }
    .topbar {
      position: sticky;
      top: 0;
      z-index: 28;
      min-height: 66px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 10px 16px;
      border-bottom: 1px solid rgba(206, 223, 246, .72);
      background: linear-gradient(to bottom, rgba(244, 248, 255, .94), rgba(244, 248, 255, .78));
      backdrop-filter: blur(18px);
    }
    .topbar-title h1 { margin: 0; font-size: 22px; }
    .topbar-title p { margin-top: 3px; font-size: 13px; }
    .home-hero {
      display: grid;
      place-items: center;
      width: min(560px, 88vw);
      aspect-ratio: 1 / 1;
      margin: clamp(26px, 7vh, 72px) auto 0;
      padding: 54px;
      border: 1px solid rgba(218, 182, 91, .42);
      border-radius: 28px;
      background:
        radial-gradient(circle at 50% 34%, rgba(214, 167, 58, .22), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,248,234,.90));
      box-shadow: var(--shadow-lg);
      text-align: center;
      align-content: center;
    }
    .home-hero img { width: min(235px, 46vw); height: min(235px, 46vw); object-fit: contain; margin-bottom: 22px; mix-blend-mode: multiply; filter: contrast(1.08); }
    .home-hero strong { color: #1f2937; font-size: clamp(25px, 4.4vw, 42px); letter-spacing: .10em; }
    .home-hero span { margin-top: 5px; color: #8a5b20; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
    .hot-wallet-current { background: rgba(255, 248, 229, .72); }
    .permission-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 10px 14px; }
    .checkbox-row { display: flex; align-items: flex-start; gap: 9px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .72); }
    .checkbox-row input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--accent); }
    .checkbox-row span { display: grid; gap: 3px; }
    .checkbox-row strong { font-size: 12px; color: var(--ink); }
    .checkbox-row em { font-style: normal; font-size: 11px; color: var(--muted); line-height: 1.35; }
    header {
      position: sticky;
      top: 0;
      z-index: 30;
      min-height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 11px 28px;
      border-bottom: 1px solid rgba(206, 223, 246, .72);
      background: linear-gradient(to bottom, rgba(244, 248, 255, .94), rgba(244, 248, 255, .74));
      backdrop-filter: blur(20px);
    }
    .brand { display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .01em; }
    .brand img {
      width: 46px;
      height: 46px;
      object-fit: contain;
      border-radius: 999px;
      box-shadow: 0 10px 24px rgba(71, 111, 184, .14), inset 0 0 0 1px rgba(255, 255, 255, .55);
    }
    .brand span { display: inline-flex; flex-direction: column; line-height: 1; }
    .brand strong { font-size: 16px; letter-spacing: .02em; }
    .brand small { margin-top: 5px; color: rgba(90, 112, 156, .78); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    .env { color: var(--muted); font-size: 13px; }
    main { max-width: none; width: 100%; margin: 0; padding: 14px 12px 34px; }
    .login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 28px; }
    .login { width: min(450px, 100%); background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 30px; box-shadow: var(--shadow-xl); }
    .login-wide { width: min(560px, 100%); }
    .login-lang { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 8px; }
    .login-logo { display: block; width: 54px; height: 54px; object-fit: contain; margin-bottom: 18px; }
    h1 { margin: 0 0 8px; font-size: 27px; letter-spacing: 0; color: var(--ink); }
    p { margin: 0; color: var(--muted); line-height: 1.55; }
    label { display: block; margin: 18px 0 7px; color: #344054; font-size: 13px; font-weight: 800; }
    input, select { width: 100%; height: 42px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); padding: 0 12px; font: inherit; }
    input:focus, select:focus, textarea:focus { outline: 3px solid rgba(13, 109, 242, .14); border-color: var(--accent); }
    button { height: 42px; padding: 0 16px; border: 1px solid var(--accent); border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-strong)); color: white; font-weight: 800; font: inherit; cursor: pointer; box-shadow: 0 12px 26px rgba(13, 109, 242, .20); }
    button[disabled] { background: #9aa3af; border-color: #9aa3af; cursor: not-allowed; }
    .error { margin-top: 16px; padding: 10px 12px; color: var(--danger); background: #fff1ee; border: 1px solid #ffd4cc; border-radius: 14px; font-size: 13px; }
    .success { margin-top: 16px; padding: 10px 12px; color: #137333; background: #eefbf2; border: 1px solid #bde8c8; border-radius: 14px; font-size: 13px; }
    .slider { position: relative; height: 46px; margin-top: 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); overflow: hidden; user-select: none; touch-action: none; }
    .slider-fill { position: absolute; inset: 0 auto 0 0; width: 0; background: rgba(13, 109, 242, .14); }
    .slider-text { position: absolute; inset: 0; display: grid; place-items: center; color: #475467; font-size: 13px; font-weight: 800; }
    .slider-handle { position: absolute; top: 3px; left: 3px; width: 40px; height: 38px; border-radius: 999px; display: grid; place-items: center; background: white; border: 1px solid #cfd5dd; box-shadow: 0 8px 18px rgba(15, 23, 42, .10); font-weight: 900; color: var(--accent); cursor: grab; }
    .slider.done .slider-text { color: #276749; }
    .actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; }
    .small { color: var(--muted); font-size: 12px; }
    .toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin: 0 0 16px; }
    .panel { max-width: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 15px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; box-shadow: 0 8px 24px rgba(47, 88, 154, .09); }
    .panel-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .58); }
    .panel-title { font-size: 15px; font-weight: 800; }
    .badge { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border: 1px solid rgba(122, 164, 228, .34); border-radius: 999px; background: #eef4ff; color: #0c4dbf; font-size: 12px; font-weight: 800; white-space: nowrap; word-break: keep-all; }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    th, td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); }
    th { color: #607192; background: rgba(248, 251, 255, .88); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
    td { color: #344054; }
    .compact-table th, .compact-table td { padding: 8px 8px; font-size: 12px; vertical-align: middle; }
    .compact-table th { font-size: 10px; }
    .cell-main { display: grid; gap: 3px; min-width: 0; }
    .cell-main strong { color: var(--ink); font-size: 13px; }
    .subtext { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
    .empty { padding: 34px 18px; color: var(--muted); }
    .logout { background: white; color: var(--accent); border: 1px solid var(--line); box-shadow: none; }
    .danger-button { border-color: #d92d20; background: linear-gradient(135deg, #d92d20, #b42318); box-shadow: 0 12px 26px rgba(217, 45, 32, .16); }
    .danger-panel { border-color: rgba(217, 45, 32, .24); }
    .danger-panel .panel-head { background: #fff7f5; }
    .stack { display: grid; gap: 18px; }
    .kv { display: grid; grid-template-columns: 190px 1fr; gap: 0; border-top: 1px solid var(--line); }
    .kv div { padding: 12px 14px; border-bottom: 1px solid var(--line); }
    .kv div:nth-child(odd) { color: #607192; background: rgba(248, 251, 255, .82); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; font-weight: 800; }
    .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; overflow-wrap: anywhere; }
    .inline-form { display: grid; grid-template-columns: 130px 1fr 160px 140px; gap: 10px; align-items: end; padding: 18px; }
    .inline-form label { margin: 0 0 7px; }
    .inline-form input { margin: 0; }
    .hint { color: var(--muted); font-size: 13px; margin-top: 12px; padding: 0 18px 18px; }
    .top-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
    .nav-link { height: 34px; display: inline-flex; align-items: center; justify-content: center; min-width: max-content; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.72); color: #173161; text-decoration: none; font-size: 13px; font-weight: 800; white-space: nowrap; word-break: keep-all; flex-shrink: 0; }
    .lang-link { padding: 0 10px; }
    .balance-strip { position: relative; z-index: 10; padding: 12px 28px 0; color: var(--ink); }
    .balance-card { max-width: 1180px; margin: 0 auto; padding: 14px 16px; display: grid; grid-template-columns: minmax(180px, auto) minmax(0, 1fr) auto; gap: 16px; align-items: center; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, .82); box-shadow: 0 14px 34px rgba(47, 88, 154, .10); }
    .balance-card-head { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
    .balance-card-title { color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
    .balance-address { color: #1d2939; overflow-wrap: anywhere; font-size: 14px; }
    .balance-values { display: flex; align-items: center; gap: 12px; }
    .balance-values div { min-width: 108px; padding: 9px 12px; border: 1px solid rgba(210, 225, 245, .88); border-radius: 16px; background: #f8fbff; }
    .balance-values span { display: block; color: var(--muted); font-size: 11px; font-weight: 900; }
    .balance-values strong { display: block; margin-top: 2px; color: var(--ink); font-size: 17px; line-height: 1.1; }
    .subnav { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
    .filter-form { display: grid; grid-template-columns: 1fr 140px 210px 110px; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
    .filter-form input, .filter-form select { height: 40px; border: 1px solid var(--line); padding: 0 10px; font: inherit; background: #fff; }
    .address-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; border-bottom: 1px solid var(--line); }
    .address-form .wide { grid-column: 1 / -1; }
    .address-form textarea { width: 100%; min-height: 74px; border: 1px solid var(--line); padding: 10px 12px; font: inherit; resize: vertical; }
    .recipient-combobox { position: relative; }
    .recipient-combobox input[role="combobox"] { padding-right: 38px; }
    .recipient-combobox-chevron { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; font-size: 12px; }
    .recipient-combobox-list { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; right: 0; max-height: 340px; overflow-y: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 20px 42px rgba(31, 64, 117, .18); }
    .recipient-combobox-list[hidden] { display: none; }
    .recipient-combobox-option { width: 100%; height: auto; min-height: 68px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 13px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); text-align: left; box-shadow: none; }
    .recipient-combobox-option:last-child { border-bottom: 0; }
    .recipient-combobox-option:hover, .recipient-combobox-option.active { background: #f3f7ff; color: var(--ink); }
    .recipient-option-main { min-width: 0; display: grid; gap: 4px; }
    .recipient-option-main strong { overflow-wrap: anywhere; font-size: 13px; }
    .recipient-option-address { color: #42526e; font: 12px/1.35 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; overflow-wrap: anywhere; }
    .recipient-option-meta { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
    .recipient-option-code { color: #34517f; font: 11px/1.3 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; white-space: nowrap; }
    .recipient-combobox-empty { padding: 18px 14px; color: var(--muted); font-size: 13px; }
    .table-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
    .compact-actions { gap: 6px; max-width: 170px; }
    .compact-actions .nav-link, .compact-actions .link-button { height: 30px; padding: 0 10px; font-size: 12px; }
    .link-button { height: 34px; display: inline-flex; align-items: center; justify-content: center; min-width: max-content; padding: 0 13px; text-decoration: none; border: 1px solid var(--accent); border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-strong)); color: #fff; font-size: 13px; font-weight: 800; box-shadow: 0 12px 24px rgba(13, 109, 242, .18); white-space: nowrap; word-break: keep-all; flex-shrink: 0; }
    .danger-inline { height: 34px; border-color: #d7a5a0; background: #fff; color: var(--danger); font-size: 13px; }
    .pager { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 18px; color: var(--muted); font-size: 13px; }
    .pager-nav { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
    .page-size-select { min-width:96px; }
    .list-filter-form { grid-template-columns:minmax(220px,1fr) minmax(120px,170px) minmax(120px,170px) minmax(96px,120px) auto; }
    .disabled-note { color: var(--muted); font-size: 12px; }
    .status-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; min-width: 94px; padding: 0 12px; border-radius: 999px; border: 1px solid transparent; font-size: 12px; font-weight: 900; letter-spacing: .02em; white-space: nowrap; word-break: keep-all; line-height: 1; }
    .status-cell { width: 1%; min-width: 142px; white-space: nowrap; }
    .action-cell { width: 1%; min-width: 128px; white-space: nowrap; }
    .action-cell .nav-link, .action-cell .link-button, .receipt-actions .link-button { min-width: 112px; }
    .nowrap-cell { white-space: nowrap; }
    .status-completed { color: #08705a; background: #e8fbf5; border-color: #b9ebdc; }
    .status-pending { color: #7a4b00; background: #fff8e8; border-color: #ead7aa; }
    .status-active { color: #0c4dbf; background: #eef4ff; border-color: rgba(122, 164, 228, .42); }
    .status-failed { color: #a33420; background: #fff1ee; border-color: #ffd4cc; }
    .status-pos-blue { color: #0c4dbf; background: #eef4ff; border-color: rgba(122, 164, 228, .42); }
    .status-pos-purple { color: #6236b5; background: #f4efff; border-color: #d9c8ff; }
    .status-pos-orange { color: #9a4a0a; background: #fff4e8; border-color: #f3c694; }
    .status-pos-yellow { color: #7a4b00; background: #fff8e8; border-color: #ead7aa; }
    .status-pos-cyan { color: #0a6f78; background: #e8fbff; border-color: #b8e7ef; }
    .status-pos-lightblue { color: #0a5ca8; background: #edf8ff; border-color: #bfe2ff; }
    .status-pos-green { color: #08705a; background: #e8fbf5; border-color: #b9ebdc; }
    .status-pos-red { color: #a33420; background: #fff1ee; border-color: #ffd4cc; }
    .notice-panel { padding: 14px 18px; border: 1px solid rgba(122, 164, 228, .42); border-radius: 18px; background: rgba(238, 244, 255, .88); color: #0c4dbf; font-weight: 900; }
    .position-filter { grid-template-columns: 1.2fr 160px 100px 150px 132px 132px 100px 100px; }
    .position-table { font-size: 12px; table-layout: fixed; }
    .position-table th, .position-table td { padding: 9px 8px; vertical-align: top; }
    .position-table .payer-col { width: 19%; }
    .position-table .type-col { width: 7%; }
    .position-table .amount-col { width: 16%; }
    .position-table .receiver-col { width: 22%; }
    .position-table .date-col { width: 9%; }
    .position-table .status-col { width: 10%; }
    .position-table .person-col { width: 4.5%; white-space: nowrap; }
    .position-table .action-col { width: 9%; }
    .position-type-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; height: 24px; padding: 0 8px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 11px; font-weight: 900; white-space: nowrap; }
    .position-type-internal { color: #0a5ca8; background: #edf8ff; border-color: #bfe2ff; }
    .position-type-external { color: #6236b5; background: #f4efff; border-color: #d9c8ff; }
    .position-list-actions { display: grid; grid-template-columns: 1fr; gap: 6px; min-width: 74px; }
    .position-list-actions .nav-link, .position-list-actions .link-button { height: 28px; min-width: 0; padding: 0 9px; justify-content: center; font-size: 11px; }
    .position-order-no { margin-top: 4px; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; line-height: 1.25; }
    .position-action-panel { padding: 18px; }
    .position-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; align-items: stretch; }
    .position-actions form { min-height: 78px; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; padding: 13px; border: 1px solid rgba(210, 225, 245, .88); border-radius: 16px; background: rgba(248, 251, 255, .86); }
    .position-actions input { height: 38px; width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 0 10px; font: inherit; font-size: 13px; background: #fff; }
    .position-actions button { height: 38px; min-width: 112px; padding: 0 14px; font-size: 13px; }
    .attachment-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 10px; }
    .attachment-box { min-height: 70px; padding: 12px; border: 1px dashed rgba(122, 164, 228, .55); border-radius: 16px; background: rgba(255,255,255,.72); color: var(--muted); font-size: 12px; font-weight: 800; }
    .receipt-actions { display: flex; justify-content: flex-end; margin-bottom: 14px; white-space: nowrap; }
    .receipt-shell { display: grid; gap: 16px; width: min(900px, 100%); margin: 0 auto; }
    .receipt-download { width: min(900px, 100%); padding: 22px; }
    .receipt-a4 { width: min(900px, 100%); margin: 0 auto; padding: 26px; border: 1px solid rgba(188, 210, 242, .92); border-radius: 28px; background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(240,247,255,.96)); box-shadow: var(--shadow-xl); }
    .receipt-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
    .receipt-brand-lockup { display: flex; align-items: center; gap: 12px; }
    .receipt-brand-lockup img { width: 48px; height: 48px; object-fit: contain; border-radius: 999px; box-shadow: 0 10px 24px rgba(71, 111, 184, .14); }
    .receipt-brand-lockup strong { display: block; font-size: 17px; letter-spacing: .03em; }
    .receipt-brand-lockup span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .10em; text-transform: uppercase; }
    .receipt-top-status { min-width: 118px; text-align: right; white-space: nowrap; }
    .receipt-hero-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; padding: 18px 0 16px; }
    .receipt-kicker { color: var(--accent); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
    .receipt-hero-row h1 { margin: 5px 0 4px; font-size: 26px; }
    .receipt-hero-row p { font-size: 12px; }
    .receipt-hero-amount { text-align: right; }
    .receipt-hero-amount span { display: block; color: var(--muted); font-size: 12px; font-weight: 900; }
    .receipt-hero-amount strong { display: block; margin-top: 5px; color: #d9432f; font-size: clamp(27px, 4vw, 38px); line-height: 1; }
    .receipt-compact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .receipt-box { margin-top: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .78); }
    .receipt-mini-row { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 0; border-top: 1px solid rgba(210, 225, 245, .70); }
    .receipt-mini-row:first-of-type { border-top: 0; }
    .receipt-mini-row span, .receipt-chain-grid span { color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
    .receipt-mini-row strong, .receipt-chain-grid strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
    .receipt-chain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; }
    .receipt-chain-grid div { min-width: 0; padding: 7px 0; border-top: 1px solid rgba(210, 225, 245, .70); }
    .receipt-chain-grid div:nth-child(1), .receipt-chain-grid div:nth-child(2) { border-top: 0; }
    .receipt-chain-grid span, .receipt-chain-grid strong { display: block; }
    .receipt-chain-grid strong { margin-top: 3px; }
    .receipt-footer-note { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.55; }
    .hot-label { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 10px; border-radius: 999px; background: linear-gradient(135deg, #0d6df2, #0958c7); color: #fff; font-size: 12px; font-weight: 900; white-space: nowrap; box-shadow: 0 10px 22px rgba(13, 109, 242, .20); }
    .qr-card { margin: 18px 0 8px; display: grid; place-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
    .qr-card img { width: min(280px, 82vw); height: min(280px, 82vw); }
    details.manual-secret { margin-top: 14px; color: var(--muted); font-size: 12px; }
    details.manual-secret summary { cursor: pointer; font-weight: 900; color: var(--accent); }
    .receipt-card { text-align: center; padding: 32px 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow-xl); }
    .receipt-status-icon { width: 58px; height: 58px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 999px; font-size: 30px; font-weight: 900; }
    .receipt-completed .receipt-status-icon { background: #e8fbf5; color: #08705a; }
    .receipt-pending .receipt-status-icon { background: #fff8e8; color: #b7791f; }
    .receipt-failed .receipt-status-icon { background: #fff1ee; color: #a33420; }
    .receipt-card h1 { margin: 0 0 8px; font-size: 24px; }
    .receipt-status-line { margin-bottom: 8px; }
    .receipt-amount { color: #d9432f; font-size: clamp(30px, 5vw, 46px); font-weight: 900; letter-spacing: 0; margin-top: 10px; }
    .receipt-network { color: var(--muted); font-weight: 800; margin-top: 6px; }
    .receipt-info { width: min(760px, 100%); margin: 0 auto; padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255, 255, 255, .82); box-shadow: var(--shadow-lg); }
    .receipt-section-title { margin: 4px 0 10px; color: #607192; font-size: 12px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
    .receipt-section-title:not(:first-child) { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
    .receipt-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 0; border-top: 1px solid rgba(210, 225, 245, .7); }
    .receipt-row:first-of-type { border-top: 0; }
    .receipt-row span { color: var(--muted); font-size: 13px; font-weight: 800; }
    .receipt-row strong { color: var(--ink); overflow-wrap: anywhere; }
    .copy-button { height: 30px; padding: 0 10px; border-radius: 999px; background: #fff; color: var(--accent); border: 1px solid var(--line); box-shadow: none; font-size: 12px; }
    @media print {
      header, .balance-strip, .receipt-actions, .top-actions, .copy-button { display: none !important; }
      body { background: #fff; }
      main { padding: 0; }
      .receipt-card, .receipt-info, .panel { box-shadow: none; }
    }
    @media (max-width: 760px) {
      .panel > table:has(th:nth-child(5)), .panel > .compact-table:has(th:nth-child(5)) { min-width: 900px; }
      .position-table { min-width: 980px; }
      .app-layout { grid-template-columns: 1fr; }
      .side-nav { position: relative; height: auto; overflow: visible; padding: 12px 14px; border-right: 0; border-bottom: 1px solid rgba(218, 182, 91, .38); }
      .side-logo { display: none; }
      .side-menu { min-height: auto; flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; padding: 0; }
      .side-menu-group { grid-column: 1 / -1; }
      .side-menu-group-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .side-foot { margin-top: 0; }
      .topbar { position: relative; padding: 14px 18px; align-items: flex-start; flex-direction: column; }
      header { height: auto; min-height: 64px; align-items: flex-start; flex-direction: column; gap: 10px; padding: 14px 18px; }
      main { padding: 18px; }
      .toolbar { align-items: flex-start; flex-direction: column; }
      .balance-strip { padding: 10px 18px 0; }
      .balance-card { grid-template-columns: 1fr; gap: 10px; }
      .balance-values { width: 100%; }
      .balance-values div { flex: 1; min-width: 0; }
      .filter-form, .address-form, .inline-form { grid-template-columns: 1fr; }
      .permission-grid { grid-template-columns: 1fr; }
      .position-filter { grid-template-columns: 1fr; }
      .position-actions { grid-template-columns: 1fr; }
      .attachment-grid { grid-template-columns: 1fr; }
      .address-form .wide { grid-column: auto; }
      .receipt-a4 { padding: 18px; border-radius: 20px; }
      .receipt-brand-row, .receipt-hero-row { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; }
      .receipt-hero-amount { text-align: left; }
      .receipt-compact-grid, .receipt-chain-grid { grid-template-columns: 1fr; }
      .receipt-chain-grid div:nth-child(2) { border-top: 1px solid rgba(210, 225, 245, .70); }
    }
  