/* WEB PANEL PROXY public CSS */
:root {
      --bg: #f3f6fa;
      --surface: #ffffff;
      --text: #172033;
      --muted: #667085;
      --primary: #1463d7;
      --primary-dark: #0d4ea9;
      --header: #102a43;
      --border: #dce3ec;
      --warning-bg: #fff8e6;
      --warning-border: #f0d486;
      --success-bg: #edf8f1;
      --success-border: #b9e2c7;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      background: var(--bg);
      line-height: 1.55;
    }

    header {
      padding: 56px 20px 48px;
      color: #ffffff;
      background: linear-gradient(135deg, #102a43 0%, #1463d7 100%);
    }

    .container {
      width: min(1440px, calc(100% - 32px));
      margin: 0 auto;
    }

    h1 {
      margin: 0 0 14px;
      font-size: clamp(30px, 5vw, 52px);
      line-height: 1.12;
    }

    .subtitle {
      max-width: 900px;
      margin: 0;
      font-size: 17px;
      opacity: 0.93;
    }

    main {
      padding: 32px 0 60px;
    }

    .notice {
      margin-bottom: 20px;
      padding: 18px 20px;
      background: var(--warning-bg);
      border: 1px solid var(--warning-border);
      border-radius: 14px;
    }

    .notice strong {
      display: block;
      margin-bottom: 6px;
    }

    .info {
      margin-bottom: 24px;
      padding: 18px 20px;
      background: var(--success-bg);
      border: 1px solid var(--success-border);
      border-radius: 14px;
    }

    .info ul {
      margin: 8px 0 0;
      padding-left: 20px;
    }

    .table-card {
      overflow: hidden;
      background: var(--surface);
      border-radius: 16px;
      box-shadow: 0 8px 30px rgba(16, 42, 67, 0.08);
    }

    .table-header {
      padding: 22px;
      border-bottom: 1px solid var(--border);
    }

    .table-header h2 {
      margin: 0 0 6px;
      font-size: 24px;
    }

    .table-header p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .table-wrapper {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    table {
      width: 100%;
      min-width: 1000px;
      border-collapse: collapse;
    }

    thead {
      color: #ffffff;
      background: var(--header);
    }

    th,
    td {
      padding: 14px 16px;
      text-align: left;
      vertical-align: top;
      border-bottom: 1px solid var(--border);
      font-size: 14px;
    }

    th {
      white-space: nowrap;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    tbody tr:hover {
      background: #f5f9ff;
    }

    .number {
      width: 60px;
      text-align: center;
      font-weight: bold;
    }

    .region {
      min-width: 170px;
      font-weight: 600;
    }

    .country {
      min-width: 210px;
      font-weight: 600;
    }

    .duration {
      min-width: 220px;
    }

    .features {
      min-width: 370px;
      color: #4b5565;
    }

    a {
      color: var(--primary);
      text-decoration: none;
    }

    a:hover,
    a:focus {
      color: var(--primary-dark);
      text-decoration: underline;
    }

    footer {
      padding-top: 24px;
      color: var(--muted);
      font-size: 13px;
    }

    @media (max-width: 700px) {
      .container {
        width: min(100% - 20px, 1440px);
      }

      header {
        padding: 38px 10px 34px;
      }

      main {
        padding-top: 20px;
      }

      .notice,
      .info,
      .table-header {
        padding: 16px;
      }

      .table-card {
        border-radius: 12px;
      }
    }