/* Advantage RPC Portal: portal.css. */
/* Phase 8B1 CSS extraction / version 2.8.1.801. */
/* Source: app/services/render.py. */

:root { --adv-blue:#003b6f; --adv-blue-dark:#00294d; --adv-blue-soft:#0b5f9f; --adv-orange:#f58220; --adv-orange-dark:#d96f16; --bg:#f3f6fb; --panel:#fff; --text:#172033; --muted:#64748b; --border:#dbe4ef; --success:#157347; --warning:#b7791f; --danger:#b02a37; --shadow:0 18px 45px rgba(0,59,111,.12); --radius:18px; }
    * { box-sizing:border-box; } body { margin:0; min-height:100%; font-family:"Segoe UI",Roboto,Arial,sans-serif; color:var(--text); background:radial-gradient(circle at top left,rgba(245,130,32,.16),transparent 28rem),radial-gradient(circle at top right,rgba(0,59,111,.18),transparent 30rem),var(--bg); }
    a { color:inherit; } .topbar { background:linear-gradient(120deg,var(--adv-blue-dark),var(--adv-blue) 58%,var(--adv-blue-soft)); color:#fff; border-bottom:5px solid var(--adv-orange); box-shadow:0 12px 30px rgba(0,41,77,.28); }
    .topbar-inner { max-width:1700px; margin:0 auto; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; } .brand { display:flex; align-items:center; gap:14px; }
    .brand-mark { width:54px; height:54px; border-radius:16px; background:linear-gradient(135deg,var(--adv-orange),#ffb15f); color:var(--adv-blue-dark); display:grid; place-items:center; font-size:24px; font-weight:900; box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 10px 22px rgba(0,0,0,.18); }
    .brand h1 { margin:0; font-size:22px; letter-spacing:-.02em; } .brand p { margin:3px 0 0; color:rgba(255,255,255,.82); font-size:14px; } .header-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; align-items:center; }
    main { max-width:1700px; margin:28px auto; padding:0 22px 48px; } .hero-card { position:relative; overflow:hidden; color:white; background:linear-gradient(135deg,var(--adv-blue-dark),var(--adv-blue)); border-radius:26px; padding:30px; margin-bottom:20px; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; box-shadow:var(--shadow); }
    .hero-card:after { content:""; position:absolute; right:-80px; top:-100px; width:280px; height:280px; background:rgba(245,130,32,.22); border-radius:50%; } .hero-card>* { position:relative; z-index:1; } .eyebrow { letter-spacing:.14em; text-transform:uppercase; font-size:12px; opacity:.86; font-weight:900; } .hero-card h2 { margin:7px 0 6px; font-size:clamp(28px,4vw,42px); line-height:1; } .hero-card p { margin:0; opacity:.88; max-width:780px; }
    .card,.form-section { background:rgba(255,255,255,.96); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 10px 28px rgba(0,59,111,.08); padding:22px; margin-bottom:18px; } .form-section { border-top:5px solid var(--adv-orange); } .form-section h2,.card h2 { margin:0 0 16px; color:var(--adv-blue); font-size:16px; display:flex; align-items:center; gap:8px; } .section-note { color:var(--muted); margin-top:-8px; margin-bottom:14px; }
    .row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .row.three { grid-template-columns:repeat(3,minmax(0,1fr)); } label { display:block; font-weight:800; margin:10px 0 6px; color:#233147; } input,select,textarea { width:100%; padding:12px 13px; border:1px solid var(--border); border-radius:12px; font-size:15px; background:var(--panel); color:var(--text); outline:none; } input:focus,select:focus,textarea:focus { border-color:var(--adv-orange); box-shadow:0 0 0 4px rgba(245,130,32,.18); } textarea { min-height:112px; resize:vertical; }
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:0; border-radius:999px; padding:11px 16px; min-height:42px; color:white; background:var(--adv-blue); text-decoration:none; font-weight:850; cursor:pointer; font-size:14px; margin:4px 4px 4px 0; box-shadow:0 8px 18px rgba(0,59,111,.16); } .btn:hover { filter:brightness(.98); transform:translateY(-1px); } .btn.orange { background:var(--adv-orange); color:#1b2535; } .btn.green { background:var(--success); } .btn.red { background:var(--danger); } .btn.gray { background:#475569; } .btn.ghost { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); box-shadow:none; } .btn.small { padding:8px 12px; min-height:34px; font-size:13px; } .btn.tiny { padding:6px 10px; min-height:30px; font-size:12px; }
    .toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:end; } .notice,.error { padding:14px 16px; border-radius:14px; margin-bottom:16px; white-space:pre-wrap; border:1px solid transparent; box-shadow:0 6px 18px rgba(0,0,0,.04); } .notice { background:#eaf8f0; border-color:#b7e0c8; color:#0f5132; } .error { background:#fff1f2; border-color:#fecdd3; color:#842029; } .muted { color:var(--muted); font-size:13px; } .mono,code,.keybox { font-family:Consolas,Monaco,"Courier New",monospace; } .keybox { background:#0f172a; color:#f8fafc; border:1px solid rgba(255,255,255,.12); border-left:5px solid var(--adv-orange); border-radius:14px; padding:12px 14px; display:inline-block; word-break:break-all; }
    .pill {
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 14px;
      border-radius:999px;
      font-weight:900;
      font-size:12px;
      letter-spacing:.03em;
      box-shadow:0 4px 12px rgba(0,0,0,.08);
    } .pill.ok { background:#dcfce7; color:#166534; } .pill.danger { background:#7f1d1d; color:#fecaca; border:1px solid #dc2626; } .pill.warn { background:#fff7ed; color:#9a3412; } .pill.bill { background:#eff6ff; color:var(--adv-blue); } .user-chip { display:inline-flex; color:#fff; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.23); border-radius:999px; padding:8px 12px; font-size:13px; font-weight:800; }
    .dashboard-card { overflow:hidden; padding:0; } .dashboard-table-wrap { overflow-x:auto; } .dashboard-table { width:100%; border-collapse:collapse; table-layout:auto; min-width:1180px; } .dashboard-table th { background:#eef5fb; color:var(--adv-blue); font-size:12px; text-transform:uppercase; letter-spacing:.06em; text-align:left; padding:14px 16px; border-bottom:1px solid var(--border); white-space:nowrap; } .dashboard-table td {
      white-space: nowrap;
      padding:20px 16px;
      border-bottom:1px solid var(--border);
      vertical-align:middle;
      background:rgba(255,255,255,.02);
      transition:.15s ease;
    } .dashboard-table tr:hover td {
      background:rgba(0,123,255,.06);
    } .server-link { color:var(--adv-blue); font-weight:900; text-decoration:none; border-bottom:2px solid rgba(245,130,32,.55); } .server-link:hover { color:var(--adv-orange-dark); } .cell-main {
      font-weight:900;
      font-size:20px;
      line-height:1.1;
    } .cell-sub {
      color:var(--muted);
      font-size:13px;
      margin-top:4px;
      line-height:1.35;
    } .dashboard-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; } .metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin-bottom:20px; }
    .metric-card { position:relative; overflow:hidden; background:linear-gradient(145deg,#fff,#f5f9fd); border:1px solid var(--border); border-top:5px solid var(--adv-orange); border-radius:18px; padding:20px; box-shadow:0 10px 28px rgba(0,59,111,.09); }
    .metric-card:after { content:""; position:absolute; width:90px; height:90px; border-radius:50%; right:-35px; top:-35px; background:rgba(0,59,111,.06); }
    .metric-label { color:var(--muted); text-transform:uppercase; letter-spacing:.07em; font-size:11px; font-weight:900; }
    .metric-value { color:var(--adv-blue); font-size:34px; line-height:1; font-weight:950; margin-top:10px; }
    .metric-note { color:var(--muted); font-size:12px; margin-top:8px; }
    .executive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
    .executive-list { display:grid; gap:0; }
    .executive-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:13px 0; border-bottom:1px solid var(--border); align-items:center; }
    .executive-item:last-child { border-bottom:0; }
    .executive-main { font-weight:850; color:var(--text); }
    .executive-sub { color:var(--muted); font-size:12px; margin-top:3px; }
    .executive-time { color:var(--muted); font-size:12px; white-space:nowrap; text-align:right; }
    .report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .report-card h2 { margin-bottom:18px; }
    .report-row { margin-bottom:16px; }
    .report-row:last-child { margin-bottom:0; }
    .report-row-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; font-size:13px; }
    .report-row-top span { overflow-wrap:anywhere; }
    .report-bar { height:10px; overflow:hidden; background:#e7eef6; border-radius:999px; }
    .report-bar span { display:block; height:100%; min-width:2px; background:linear-gradient(90deg,var(--adv-blue),var(--adv-orange)); border-radius:999px; }
    @media (max-width:900px) { .executive-grid,.report-grid { grid-template-columns:1fr; } }
    .summary-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--border); } .summary-header h2 { margin:0; } .stat-strip { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; } .stat { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); padding:10px 12px; border-radius:14px; } .stat strong { display:block; font-size:20px; } .empty-state { text-align:center; padding:30px; }

    .metrics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:20px; }
    .metric-card { background:linear-gradient(135deg,#ffffff,#f8fbff); border:1px solid var(--border); border-radius:18px; padding:20px; box-shadow:0 10px 24px rgba(0,59,111,.08); }
    .metric-label { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
    .metric-value { font-size:36px; font-weight:950; color:var(--adv-blue); margin-top:6px; }
    .metric-sub { color:var(--muted); font-size:12px; margin-top:4px; } .accent-card { border-top:5px solid var(--adv-orange); } .search-card { border-top:5px solid var(--adv-blue); } footer { max-width:1700px; margin:0 auto 24px; padding:0 22px; color:var(--muted); font-size:12px; }
    .login-wrap { max-width:520px; margin:50px auto; }

    .detail-tabs {
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:0 0 18px;
      padding:12px;
      background:rgba(255,255,255,.04);
      border:1px solid var(--border);
      border-radius:18px;
    }

    .detail-tab {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:10px 14px;
      border-radius:999px;
      background:#003b6f;
      color:#fff;
      font-weight:900;
      font-size:13px;
      text-decoration:none;
      box-shadow:0 8px 18px rgba(0,59,111,.18);
    }

    .detail-tab:hover {
      background:var(--adv-orange);
      color:#111827;
    }

    .form-section {
      scroll-margin-top:18px;
    }

    .expiration-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
    .expiration-card { background:#fff; border:1px solid var(--border); border-radius:18px; padding:18px; box-shadow:0 10px 28px rgba(0,59,111,.08); border-top:5px solid var(--adv-blue); }
    .expiration-card h3 { margin:0 0 8px; color:var(--adv-blue); font-size:17px; }
    .expiration-date { font-size:24px; font-weight:950; letter-spacing:-.02em; }
    .expiration-date.valid { color:var(--success); }
    .expiration-date.expired { color:var(--danger); font-weight:1000; }
    .expiration-date.none { color:var(--muted); font-size:18px; }
    .expiration-meta { color:var(--muted); font-size:12px; margin-top:4px; }
    @media(max-width:780px) { .expiration-summary { grid-template-columns:1fr; } }
    @media (max-width:900px) { .topbar-inner,.hero-card { grid-template-columns:1fr; flex-direction:column; align-items:flex-start; } .header-actions { justify-content:flex-start; } .row,.row.three { grid-template-columns:1fr; } main { padding:0 14px 34px; } .hero-card { padding:24px; } .summary-header { align-items:flex-start; flex-direction:column; } }

.portal-footer {
  text-align: center;
  padding: 20px 0;
  color: #6b7280;
  font-size: 14px;
  border-top: 1px solid #e5e7eb;
  margin-top: 30px;
}

.portal-footer-title {
  font-weight: 600;
}

.portal-version-badge {
  display: inline-block;
  margin-left: 12px;
  padding: 4px 12px;
  background: #1e40af;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: .04em;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

.portal-footer-copyright {
  margin-top: 10px;
  font-size: 12px;
  color: #9ca3af;
}

.form-actions {
  margin-top: 16px;
}

.inline-form {
  display: inline;
}

.checkbox-auto {
  width: auto;
}

.executive-overview-header {
  background: transparent;
  padding: 0 0 14px;
  border: 0;
}

.server-customer-column,
.server-partner-column {
  min-width: 230px;
}

.server-date-column {
  min-width: 125px;
}

.server-actions-column {
  min-width: 115px;
}

.progress-width-0000 { width: 0.0%; }
.progress-width-0001 { width: 0.1%; }
.progress-width-0002 { width: 0.2%; }
.progress-width-0003 { width: 0.3%; }
.progress-width-0004 { width: 0.4%; }
.progress-width-0005 { width: 0.5%; }
.progress-width-0006 { width: 0.6%; }
.progress-width-0007 { width: 0.7%; }
.progress-width-0008 { width: 0.8%; }
.progress-width-0009 { width: 0.9%; }
.progress-width-0010 { width: 1.0%; }
.progress-width-0011 { width: 1.1%; }
.progress-width-0012 { width: 1.2%; }
.progress-width-0013 { width: 1.3%; }
.progress-width-0014 { width: 1.4%; }
.progress-width-0015 { width: 1.5%; }
.progress-width-0016 { width: 1.6%; }
.progress-width-0017 { width: 1.7%; }
.progress-width-0018 { width: 1.8%; }
.progress-width-0019 { width: 1.9%; }
.progress-width-0020 { width: 2.0%; }
.progress-width-0021 { width: 2.1%; }
.progress-width-0022 { width: 2.2%; }
.progress-width-0023 { width: 2.3%; }
.progress-width-0024 { width: 2.4%; }
.progress-width-0025 { width: 2.5%; }
.progress-width-0026 { width: 2.6%; }
.progress-width-0027 { width: 2.7%; }
.progress-width-0028 { width: 2.8%; }
.progress-width-0029 { width: 2.9%; }
.progress-width-0030 { width: 3.0%; }
.progress-width-0031 { width: 3.1%; }
.progress-width-0032 { width: 3.2%; }
.progress-width-0033 { width: 3.3%; }
.progress-width-0034 { width: 3.4%; }
.progress-width-0035 { width: 3.5%; }
.progress-width-0036 { width: 3.6%; }
.progress-width-0037 { width: 3.7%; }
.progress-width-0038 { width: 3.8%; }
.progress-width-0039 { width: 3.9%; }
.progress-width-0040 { width: 4.0%; }
.progress-width-0041 { width: 4.1%; }
.progress-width-0042 { width: 4.2%; }
.progress-width-0043 { width: 4.3%; }
.progress-width-0044 { width: 4.4%; }
.progress-width-0045 { width: 4.5%; }
.progress-width-0046 { width: 4.6%; }
.progress-width-0047 { width: 4.7%; }
.progress-width-0048 { width: 4.8%; }
.progress-width-0049 { width: 4.9%; }
.progress-width-0050 { width: 5.0%; }
.progress-width-0051 { width: 5.1%; }
.progress-width-0052 { width: 5.2%; }
.progress-width-0053 { width: 5.3%; }
.progress-width-0054 { width: 5.4%; }
.progress-width-0055 { width: 5.5%; }
.progress-width-0056 { width: 5.6%; }
.progress-width-0057 { width: 5.7%; }
.progress-width-0058 { width: 5.8%; }
.progress-width-0059 { width: 5.9%; }
.progress-width-0060 { width: 6.0%; }
.progress-width-0061 { width: 6.1%; }
.progress-width-0062 { width: 6.2%; }
.progress-width-0063 { width: 6.3%; }
.progress-width-0064 { width: 6.4%; }
.progress-width-0065 { width: 6.5%; }
.progress-width-0066 { width: 6.6%; }
.progress-width-0067 { width: 6.7%; }
.progress-width-0068 { width: 6.8%; }
.progress-width-0069 { width: 6.9%; }
.progress-width-0070 { width: 7.0%; }
.progress-width-0071 { width: 7.1%; }
.progress-width-0072 { width: 7.2%; }
.progress-width-0073 { width: 7.3%; }
.progress-width-0074 { width: 7.4%; }
.progress-width-0075 { width: 7.5%; }
.progress-width-0076 { width: 7.6%; }
.progress-width-0077 { width: 7.7%; }
.progress-width-0078 { width: 7.8%; }
.progress-width-0079 { width: 7.9%; }
.progress-width-0080 { width: 8.0%; }
.progress-width-0081 { width: 8.1%; }
.progress-width-0082 { width: 8.2%; }
.progress-width-0083 { width: 8.3%; }
.progress-width-0084 { width: 8.4%; }
.progress-width-0085 { width: 8.5%; }
.progress-width-0086 { width: 8.6%; }
.progress-width-0087 { width: 8.7%; }
.progress-width-0088 { width: 8.8%; }
.progress-width-0089 { width: 8.9%; }
.progress-width-0090 { width: 9.0%; }
.progress-width-0091 { width: 9.1%; }
.progress-width-0092 { width: 9.2%; }
.progress-width-0093 { width: 9.3%; }
.progress-width-0094 { width: 9.4%; }
.progress-width-0095 { width: 9.5%; }
.progress-width-0096 { width: 9.6%; }
.progress-width-0097 { width: 9.7%; }
.progress-width-0098 { width: 9.8%; }
.progress-width-0099 { width: 9.9%; }
.progress-width-0100 { width: 10.0%; }
.progress-width-0101 { width: 10.1%; }
.progress-width-0102 { width: 10.2%; }
.progress-width-0103 { width: 10.3%; }
.progress-width-0104 { width: 10.4%; }
.progress-width-0105 { width: 10.5%; }
.progress-width-0106 { width: 10.6%; }
.progress-width-0107 { width: 10.7%; }
.progress-width-0108 { width: 10.8%; }
.progress-width-0109 { width: 10.9%; }
.progress-width-0110 { width: 11.0%; }
.progress-width-0111 { width: 11.1%; }
.progress-width-0112 { width: 11.2%; }
.progress-width-0113 { width: 11.3%; }
.progress-width-0114 { width: 11.4%; }
.progress-width-0115 { width: 11.5%; }
.progress-width-0116 { width: 11.6%; }
.progress-width-0117 { width: 11.7%; }
.progress-width-0118 { width: 11.8%; }
.progress-width-0119 { width: 11.9%; }
.progress-width-0120 { width: 12.0%; }
.progress-width-0121 { width: 12.1%; }
.progress-width-0122 { width: 12.2%; }
.progress-width-0123 { width: 12.3%; }
.progress-width-0124 { width: 12.4%; }
.progress-width-0125 { width: 12.5%; }
.progress-width-0126 { width: 12.6%; }
.progress-width-0127 { width: 12.7%; }
.progress-width-0128 { width: 12.8%; }
.progress-width-0129 { width: 12.9%; }
.progress-width-0130 { width: 13.0%; }
.progress-width-0131 { width: 13.1%; }
.progress-width-0132 { width: 13.2%; }
.progress-width-0133 { width: 13.3%; }
.progress-width-0134 { width: 13.4%; }
.progress-width-0135 { width: 13.5%; }
.progress-width-0136 { width: 13.6%; }
.progress-width-0137 { width: 13.7%; }
.progress-width-0138 { width: 13.8%; }
.progress-width-0139 { width: 13.9%; }
.progress-width-0140 { width: 14.0%; }
.progress-width-0141 { width: 14.1%; }
.progress-width-0142 { width: 14.2%; }
.progress-width-0143 { width: 14.3%; }
.progress-width-0144 { width: 14.4%; }
.progress-width-0145 { width: 14.5%; }
.progress-width-0146 { width: 14.6%; }
.progress-width-0147 { width: 14.7%; }
.progress-width-0148 { width: 14.8%; }
.progress-width-0149 { width: 14.9%; }
.progress-width-0150 { width: 15.0%; }
.progress-width-0151 { width: 15.1%; }
.progress-width-0152 { width: 15.2%; }
.progress-width-0153 { width: 15.3%; }
.progress-width-0154 { width: 15.4%; }
.progress-width-0155 { width: 15.5%; }
.progress-width-0156 { width: 15.6%; }
.progress-width-0157 { width: 15.7%; }
.progress-width-0158 { width: 15.8%; }
.progress-width-0159 { width: 15.9%; }
.progress-width-0160 { width: 16.0%; }
.progress-width-0161 { width: 16.1%; }
.progress-width-0162 { width: 16.2%; }
.progress-width-0163 { width: 16.3%; }
.progress-width-0164 { width: 16.4%; }
.progress-width-0165 { width: 16.5%; }
.progress-width-0166 { width: 16.6%; }
.progress-width-0167 { width: 16.7%; }
.progress-width-0168 { width: 16.8%; }
.progress-width-0169 { width: 16.9%; }
.progress-width-0170 { width: 17.0%; }
.progress-width-0171 { width: 17.1%; }
.progress-width-0172 { width: 17.2%; }
.progress-width-0173 { width: 17.3%; }
.progress-width-0174 { width: 17.4%; }
.progress-width-0175 { width: 17.5%; }
.progress-width-0176 { width: 17.6%; }
.progress-width-0177 { width: 17.7%; }
.progress-width-0178 { width: 17.8%; }
.progress-width-0179 { width: 17.9%; }
.progress-width-0180 { width: 18.0%; }
.progress-width-0181 { width: 18.1%; }
.progress-width-0182 { width: 18.2%; }
.progress-width-0183 { width: 18.3%; }
.progress-width-0184 { width: 18.4%; }
.progress-width-0185 { width: 18.5%; }
.progress-width-0186 { width: 18.6%; }
.progress-width-0187 { width: 18.7%; }
.progress-width-0188 { width: 18.8%; }
.progress-width-0189 { width: 18.9%; }
.progress-width-0190 { width: 19.0%; }
.progress-width-0191 { width: 19.1%; }
.progress-width-0192 { width: 19.2%; }
.progress-width-0193 { width: 19.3%; }
.progress-width-0194 { width: 19.4%; }
.progress-width-0195 { width: 19.5%; }
.progress-width-0196 { width: 19.6%; }
.progress-width-0197 { width: 19.7%; }
.progress-width-0198 { width: 19.8%; }
.progress-width-0199 { width: 19.9%; }
.progress-width-0200 { width: 20.0%; }
.progress-width-0201 { width: 20.1%; }
.progress-width-0202 { width: 20.2%; }
.progress-width-0203 { width: 20.3%; }
.progress-width-0204 { width: 20.4%; }
.progress-width-0205 { width: 20.5%; }
.progress-width-0206 { width: 20.6%; }
.progress-width-0207 { width: 20.7%; }
.progress-width-0208 { width: 20.8%; }
.progress-width-0209 { width: 20.9%; }
.progress-width-0210 { width: 21.0%; }
.progress-width-0211 { width: 21.1%; }
.progress-width-0212 { width: 21.2%; }
.progress-width-0213 { width: 21.3%; }
.progress-width-0214 { width: 21.4%; }
.progress-width-0215 { width: 21.5%; }
.progress-width-0216 { width: 21.6%; }
.progress-width-0217 { width: 21.7%; }
.progress-width-0218 { width: 21.8%; }
.progress-width-0219 { width: 21.9%; }
.progress-width-0220 { width: 22.0%; }
.progress-width-0221 { width: 22.1%; }
.progress-width-0222 { width: 22.2%; }
.progress-width-0223 { width: 22.3%; }
.progress-width-0224 { width: 22.4%; }
.progress-width-0225 { width: 22.5%; }
.progress-width-0226 { width: 22.6%; }
.progress-width-0227 { width: 22.7%; }
.progress-width-0228 { width: 22.8%; }
.progress-width-0229 { width: 22.9%; }
.progress-width-0230 { width: 23.0%; }
.progress-width-0231 { width: 23.1%; }
.progress-width-0232 { width: 23.2%; }
.progress-width-0233 { width: 23.3%; }
.progress-width-0234 { width: 23.4%; }
.progress-width-0235 { width: 23.5%; }
.progress-width-0236 { width: 23.6%; }
.progress-width-0237 { width: 23.7%; }
.progress-width-0238 { width: 23.8%; }
.progress-width-0239 { width: 23.9%; }
.progress-width-0240 { width: 24.0%; }
.progress-width-0241 { width: 24.1%; }
.progress-width-0242 { width: 24.2%; }
.progress-width-0243 { width: 24.3%; }
.progress-width-0244 { width: 24.4%; }
.progress-width-0245 { width: 24.5%; }
.progress-width-0246 { width: 24.6%; }
.progress-width-0247 { width: 24.7%; }
.progress-width-0248 { width: 24.8%; }
.progress-width-0249 { width: 24.9%; }
.progress-width-0250 { width: 25.0%; }
.progress-width-0251 { width: 25.1%; }
.progress-width-0252 { width: 25.2%; }
.progress-width-0253 { width: 25.3%; }
.progress-width-0254 { width: 25.4%; }
.progress-width-0255 { width: 25.5%; }
.progress-width-0256 { width: 25.6%; }
.progress-width-0257 { width: 25.7%; }
.progress-width-0258 { width: 25.8%; }
.progress-width-0259 { width: 25.9%; }
.progress-width-0260 { width: 26.0%; }
.progress-width-0261 { width: 26.1%; }
.progress-width-0262 { width: 26.2%; }
.progress-width-0263 { width: 26.3%; }
.progress-width-0264 { width: 26.4%; }
.progress-width-0265 { width: 26.5%; }
.progress-width-0266 { width: 26.6%; }
.progress-width-0267 { width: 26.7%; }
.progress-width-0268 { width: 26.8%; }
.progress-width-0269 { width: 26.9%; }
.progress-width-0270 { width: 27.0%; }
.progress-width-0271 { width: 27.1%; }
.progress-width-0272 { width: 27.2%; }
.progress-width-0273 { width: 27.3%; }
.progress-width-0274 { width: 27.4%; }
.progress-width-0275 { width: 27.5%; }
.progress-width-0276 { width: 27.6%; }
.progress-width-0277 { width: 27.7%; }
.progress-width-0278 { width: 27.8%; }
.progress-width-0279 { width: 27.9%; }
.progress-width-0280 { width: 28.0%; }
.progress-width-0281 { width: 28.1%; }
.progress-width-0282 { width: 28.2%; }
.progress-width-0283 { width: 28.3%; }
.progress-width-0284 { width: 28.4%; }
.progress-width-0285 { width: 28.5%; }
.progress-width-0286 { width: 28.6%; }
.progress-width-0287 { width: 28.7%; }
.progress-width-0288 { width: 28.8%; }
.progress-width-0289 { width: 28.9%; }
.progress-width-0290 { width: 29.0%; }
.progress-width-0291 { width: 29.1%; }
.progress-width-0292 { width: 29.2%; }
.progress-width-0293 { width: 29.3%; }
.progress-width-0294 { width: 29.4%; }
.progress-width-0295 { width: 29.5%; }
.progress-width-0296 { width: 29.6%; }
.progress-width-0297 { width: 29.7%; }
.progress-width-0298 { width: 29.8%; }
.progress-width-0299 { width: 29.9%; }
.progress-width-0300 { width: 30.0%; }
.progress-width-0301 { width: 30.1%; }
.progress-width-0302 { width: 30.2%; }
.progress-width-0303 { width: 30.3%; }
.progress-width-0304 { width: 30.4%; }
.progress-width-0305 { width: 30.5%; }
.progress-width-0306 { width: 30.6%; }
.progress-width-0307 { width: 30.7%; }
.progress-width-0308 { width: 30.8%; }
.progress-width-0309 { width: 30.9%; }
.progress-width-0310 { width: 31.0%; }
.progress-width-0311 { width: 31.1%; }
.progress-width-0312 { width: 31.2%; }
.progress-width-0313 { width: 31.3%; }
.progress-width-0314 { width: 31.4%; }
.progress-width-0315 { width: 31.5%; }
.progress-width-0316 { width: 31.6%; }
.progress-width-0317 { width: 31.7%; }
.progress-width-0318 { width: 31.8%; }
.progress-width-0319 { width: 31.9%; }
.progress-width-0320 { width: 32.0%; }
.progress-width-0321 { width: 32.1%; }
.progress-width-0322 { width: 32.2%; }
.progress-width-0323 { width: 32.3%; }
.progress-width-0324 { width: 32.4%; }
.progress-width-0325 { width: 32.5%; }
.progress-width-0326 { width: 32.6%; }
.progress-width-0327 { width: 32.7%; }
.progress-width-0328 { width: 32.8%; }
.progress-width-0329 { width: 32.9%; }
.progress-width-0330 { width: 33.0%; }
.progress-width-0331 { width: 33.1%; }
.progress-width-0332 { width: 33.2%; }
.progress-width-0333 { width: 33.3%; }
.progress-width-0334 { width: 33.4%; }
.progress-width-0335 { width: 33.5%; }
.progress-width-0336 { width: 33.6%; }
.progress-width-0337 { width: 33.7%; }
.progress-width-0338 { width: 33.8%; }
.progress-width-0339 { width: 33.9%; }
.progress-width-0340 { width: 34.0%; }
.progress-width-0341 { width: 34.1%; }
.progress-width-0342 { width: 34.2%; }
.progress-width-0343 { width: 34.3%; }
.progress-width-0344 { width: 34.4%; }
.progress-width-0345 { width: 34.5%; }
.progress-width-0346 { width: 34.6%; }
.progress-width-0347 { width: 34.7%; }
.progress-width-0348 { width: 34.8%; }
.progress-width-0349 { width: 34.9%; }
.progress-width-0350 { width: 35.0%; }
.progress-width-0351 { width: 35.1%; }
.progress-width-0352 { width: 35.2%; }
.progress-width-0353 { width: 35.3%; }
.progress-width-0354 { width: 35.4%; }
.progress-width-0355 { width: 35.5%; }
.progress-width-0356 { width: 35.6%; }
.progress-width-0357 { width: 35.7%; }
.progress-width-0358 { width: 35.8%; }
.progress-width-0359 { width: 35.9%; }
.progress-width-0360 { width: 36.0%; }
.progress-width-0361 { width: 36.1%; }
.progress-width-0362 { width: 36.2%; }
.progress-width-0363 { width: 36.3%; }
.progress-width-0364 { width: 36.4%; }
.progress-width-0365 { width: 36.5%; }
.progress-width-0366 { width: 36.6%; }
.progress-width-0367 { width: 36.7%; }
.progress-width-0368 { width: 36.8%; }
.progress-width-0369 { width: 36.9%; }
.progress-width-0370 { width: 37.0%; }
.progress-width-0371 { width: 37.1%; }
.progress-width-0372 { width: 37.2%; }
.progress-width-0373 { width: 37.3%; }
.progress-width-0374 { width: 37.4%; }
.progress-width-0375 { width: 37.5%; }
.progress-width-0376 { width: 37.6%; }
.progress-width-0377 { width: 37.7%; }
.progress-width-0378 { width: 37.8%; }
.progress-width-0379 { width: 37.9%; }
.progress-width-0380 { width: 38.0%; }
.progress-width-0381 { width: 38.1%; }
.progress-width-0382 { width: 38.2%; }
.progress-width-0383 { width: 38.3%; }
.progress-width-0384 { width: 38.4%; }
.progress-width-0385 { width: 38.5%; }
.progress-width-0386 { width: 38.6%; }
.progress-width-0387 { width: 38.7%; }
.progress-width-0388 { width: 38.8%; }
.progress-width-0389 { width: 38.9%; }
.progress-width-0390 { width: 39.0%; }
.progress-width-0391 { width: 39.1%; }
.progress-width-0392 { width: 39.2%; }
.progress-width-0393 { width: 39.3%; }
.progress-width-0394 { width: 39.4%; }
.progress-width-0395 { width: 39.5%; }
.progress-width-0396 { width: 39.6%; }
.progress-width-0397 { width: 39.7%; }
.progress-width-0398 { width: 39.8%; }
.progress-width-0399 { width: 39.9%; }
.progress-width-0400 { width: 40.0%; }
.progress-width-0401 { width: 40.1%; }
.progress-width-0402 { width: 40.2%; }
.progress-width-0403 { width: 40.3%; }
.progress-width-0404 { width: 40.4%; }
.progress-width-0405 { width: 40.5%; }
.progress-width-0406 { width: 40.6%; }
.progress-width-0407 { width: 40.7%; }
.progress-width-0408 { width: 40.8%; }
.progress-width-0409 { width: 40.9%; }
.progress-width-0410 { width: 41.0%; }
.progress-width-0411 { width: 41.1%; }
.progress-width-0412 { width: 41.2%; }
.progress-width-0413 { width: 41.3%; }
.progress-width-0414 { width: 41.4%; }
.progress-width-0415 { width: 41.5%; }
.progress-width-0416 { width: 41.6%; }
.progress-width-0417 { width: 41.7%; }
.progress-width-0418 { width: 41.8%; }
.progress-width-0419 { width: 41.9%; }
.progress-width-0420 { width: 42.0%; }
.progress-width-0421 { width: 42.1%; }
.progress-width-0422 { width: 42.2%; }
.progress-width-0423 { width: 42.3%; }
.progress-width-0424 { width: 42.4%; }
.progress-width-0425 { width: 42.5%; }
.progress-width-0426 { width: 42.6%; }
.progress-width-0427 { width: 42.7%; }
.progress-width-0428 { width: 42.8%; }
.progress-width-0429 { width: 42.9%; }
.progress-width-0430 { width: 43.0%; }
.progress-width-0431 { width: 43.1%; }
.progress-width-0432 { width: 43.2%; }
.progress-width-0433 { width: 43.3%; }
.progress-width-0434 { width: 43.4%; }
.progress-width-0435 { width: 43.5%; }
.progress-width-0436 { width: 43.6%; }
.progress-width-0437 { width: 43.7%; }
.progress-width-0438 { width: 43.8%; }
.progress-width-0439 { width: 43.9%; }
.progress-width-0440 { width: 44.0%; }
.progress-width-0441 { width: 44.1%; }
.progress-width-0442 { width: 44.2%; }
.progress-width-0443 { width: 44.3%; }
.progress-width-0444 { width: 44.4%; }
.progress-width-0445 { width: 44.5%; }
.progress-width-0446 { width: 44.6%; }
.progress-width-0447 { width: 44.7%; }
.progress-width-0448 { width: 44.8%; }
.progress-width-0449 { width: 44.9%; }
.progress-width-0450 { width: 45.0%; }
.progress-width-0451 { width: 45.1%; }
.progress-width-0452 { width: 45.2%; }
.progress-width-0453 { width: 45.3%; }
.progress-width-0454 { width: 45.4%; }
.progress-width-0455 { width: 45.5%; }
.progress-width-0456 { width: 45.6%; }
.progress-width-0457 { width: 45.7%; }
.progress-width-0458 { width: 45.8%; }
.progress-width-0459 { width: 45.9%; }
.progress-width-0460 { width: 46.0%; }
.progress-width-0461 { width: 46.1%; }
.progress-width-0462 { width: 46.2%; }
.progress-width-0463 { width: 46.3%; }
.progress-width-0464 { width: 46.4%; }
.progress-width-0465 { width: 46.5%; }
.progress-width-0466 { width: 46.6%; }
.progress-width-0467 { width: 46.7%; }
.progress-width-0468 { width: 46.8%; }
.progress-width-0469 { width: 46.9%; }
.progress-width-0470 { width: 47.0%; }
.progress-width-0471 { width: 47.1%; }
.progress-width-0472 { width: 47.2%; }
.progress-width-0473 { width: 47.3%; }
.progress-width-0474 { width: 47.4%; }
.progress-width-0475 { width: 47.5%; }
.progress-width-0476 { width: 47.6%; }
.progress-width-0477 { width: 47.7%; }
.progress-width-0478 { width: 47.8%; }
.progress-width-0479 { width: 47.9%; }
.progress-width-0480 { width: 48.0%; }
.progress-width-0481 { width: 48.1%; }
.progress-width-0482 { width: 48.2%; }
.progress-width-0483 { width: 48.3%; }
.progress-width-0484 { width: 48.4%; }
.progress-width-0485 { width: 48.5%; }
.progress-width-0486 { width: 48.6%; }
.progress-width-0487 { width: 48.7%; }
.progress-width-0488 { width: 48.8%; }
.progress-width-0489 { width: 48.9%; }
.progress-width-0490 { width: 49.0%; }
.progress-width-0491 { width: 49.1%; }
.progress-width-0492 { width: 49.2%; }
.progress-width-0493 { width: 49.3%; }
.progress-width-0494 { width: 49.4%; }
.progress-width-0495 { width: 49.5%; }
.progress-width-0496 { width: 49.6%; }
.progress-width-0497 { width: 49.7%; }
.progress-width-0498 { width: 49.8%; }
.progress-width-0499 { width: 49.9%; }
.progress-width-0500 { width: 50.0%; }
.progress-width-0501 { width: 50.1%; }
.progress-width-0502 { width: 50.2%; }
.progress-width-0503 { width: 50.3%; }
.progress-width-0504 { width: 50.4%; }
.progress-width-0505 { width: 50.5%; }
.progress-width-0506 { width: 50.6%; }
.progress-width-0507 { width: 50.7%; }
.progress-width-0508 { width: 50.8%; }
.progress-width-0509 { width: 50.9%; }
.progress-width-0510 { width: 51.0%; }
.progress-width-0511 { width: 51.1%; }
.progress-width-0512 { width: 51.2%; }
.progress-width-0513 { width: 51.3%; }
.progress-width-0514 { width: 51.4%; }
.progress-width-0515 { width: 51.5%; }
.progress-width-0516 { width: 51.6%; }
.progress-width-0517 { width: 51.7%; }
.progress-width-0518 { width: 51.8%; }
.progress-width-0519 { width: 51.9%; }
.progress-width-0520 { width: 52.0%; }
.progress-width-0521 { width: 52.1%; }
.progress-width-0522 { width: 52.2%; }
.progress-width-0523 { width: 52.3%; }
.progress-width-0524 { width: 52.4%; }
.progress-width-0525 { width: 52.5%; }
.progress-width-0526 { width: 52.6%; }
.progress-width-0527 { width: 52.7%; }
.progress-width-0528 { width: 52.8%; }
.progress-width-0529 { width: 52.9%; }
.progress-width-0530 { width: 53.0%; }
.progress-width-0531 { width: 53.1%; }
.progress-width-0532 { width: 53.2%; }
.progress-width-0533 { width: 53.3%; }
.progress-width-0534 { width: 53.4%; }
.progress-width-0535 { width: 53.5%; }
.progress-width-0536 { width: 53.6%; }
.progress-width-0537 { width: 53.7%; }
.progress-width-0538 { width: 53.8%; }
.progress-width-0539 { width: 53.9%; }
.progress-width-0540 { width: 54.0%; }
.progress-width-0541 { width: 54.1%; }
.progress-width-0542 { width: 54.2%; }
.progress-width-0543 { width: 54.3%; }
.progress-width-0544 { width: 54.4%; }
.progress-width-0545 { width: 54.5%; }
.progress-width-0546 { width: 54.6%; }
.progress-width-0547 { width: 54.7%; }
.progress-width-0548 { width: 54.8%; }
.progress-width-0549 { width: 54.9%; }
.progress-width-0550 { width: 55.0%; }
.progress-width-0551 { width: 55.1%; }
.progress-width-0552 { width: 55.2%; }
.progress-width-0553 { width: 55.3%; }
.progress-width-0554 { width: 55.4%; }
.progress-width-0555 { width: 55.5%; }
.progress-width-0556 { width: 55.6%; }
.progress-width-0557 { width: 55.7%; }
.progress-width-0558 { width: 55.8%; }
.progress-width-0559 { width: 55.9%; }
.progress-width-0560 { width: 56.0%; }
.progress-width-0561 { width: 56.1%; }
.progress-width-0562 { width: 56.2%; }
.progress-width-0563 { width: 56.3%; }
.progress-width-0564 { width: 56.4%; }
.progress-width-0565 { width: 56.5%; }
.progress-width-0566 { width: 56.6%; }
.progress-width-0567 { width: 56.7%; }
.progress-width-0568 { width: 56.8%; }
.progress-width-0569 { width: 56.9%; }
.progress-width-0570 { width: 57.0%; }
.progress-width-0571 { width: 57.1%; }
.progress-width-0572 { width: 57.2%; }
.progress-width-0573 { width: 57.3%; }
.progress-width-0574 { width: 57.4%; }
.progress-width-0575 { width: 57.5%; }
.progress-width-0576 { width: 57.6%; }
.progress-width-0577 { width: 57.7%; }
.progress-width-0578 { width: 57.8%; }
.progress-width-0579 { width: 57.9%; }
.progress-width-0580 { width: 58.0%; }
.progress-width-0581 { width: 58.1%; }
.progress-width-0582 { width: 58.2%; }
.progress-width-0583 { width: 58.3%; }
.progress-width-0584 { width: 58.4%; }
.progress-width-0585 { width: 58.5%; }
.progress-width-0586 { width: 58.6%; }
.progress-width-0587 { width: 58.7%; }
.progress-width-0588 { width: 58.8%; }
.progress-width-0589 { width: 58.9%; }
.progress-width-0590 { width: 59.0%; }
.progress-width-0591 { width: 59.1%; }
.progress-width-0592 { width: 59.2%; }
.progress-width-0593 { width: 59.3%; }
.progress-width-0594 { width: 59.4%; }
.progress-width-0595 { width: 59.5%; }
.progress-width-0596 { width: 59.6%; }
.progress-width-0597 { width: 59.7%; }
.progress-width-0598 { width: 59.8%; }
.progress-width-0599 { width: 59.9%; }
.progress-width-0600 { width: 60.0%; }
.progress-width-0601 { width: 60.1%; }
.progress-width-0602 { width: 60.2%; }
.progress-width-0603 { width: 60.3%; }
.progress-width-0604 { width: 60.4%; }
.progress-width-0605 { width: 60.5%; }
.progress-width-0606 { width: 60.6%; }
.progress-width-0607 { width: 60.7%; }
.progress-width-0608 { width: 60.8%; }
.progress-width-0609 { width: 60.9%; }
.progress-width-0610 { width: 61.0%; }
.progress-width-0611 { width: 61.1%; }
.progress-width-0612 { width: 61.2%; }
.progress-width-0613 { width: 61.3%; }
.progress-width-0614 { width: 61.4%; }
.progress-width-0615 { width: 61.5%; }
.progress-width-0616 { width: 61.6%; }
.progress-width-0617 { width: 61.7%; }
.progress-width-0618 { width: 61.8%; }
.progress-width-0619 { width: 61.9%; }
.progress-width-0620 { width: 62.0%; }
.progress-width-0621 { width: 62.1%; }
.progress-width-0622 { width: 62.2%; }
.progress-width-0623 { width: 62.3%; }
.progress-width-0624 { width: 62.4%; }
.progress-width-0625 { width: 62.5%; }
.progress-width-0626 { width: 62.6%; }
.progress-width-0627 { width: 62.7%; }
.progress-width-0628 { width: 62.8%; }
.progress-width-0629 { width: 62.9%; }
.progress-width-0630 { width: 63.0%; }
.progress-width-0631 { width: 63.1%; }
.progress-width-0632 { width: 63.2%; }
.progress-width-0633 { width: 63.3%; }
.progress-width-0634 { width: 63.4%; }
.progress-width-0635 { width: 63.5%; }
.progress-width-0636 { width: 63.6%; }
.progress-width-0637 { width: 63.7%; }
.progress-width-0638 { width: 63.8%; }
.progress-width-0639 { width: 63.9%; }
.progress-width-0640 { width: 64.0%; }
.progress-width-0641 { width: 64.1%; }
.progress-width-0642 { width: 64.2%; }
.progress-width-0643 { width: 64.3%; }
.progress-width-0644 { width: 64.4%; }
.progress-width-0645 { width: 64.5%; }
.progress-width-0646 { width: 64.6%; }
.progress-width-0647 { width: 64.7%; }
.progress-width-0648 { width: 64.8%; }
.progress-width-0649 { width: 64.9%; }
.progress-width-0650 { width: 65.0%; }
.progress-width-0651 { width: 65.1%; }
.progress-width-0652 { width: 65.2%; }
.progress-width-0653 { width: 65.3%; }
.progress-width-0654 { width: 65.4%; }
.progress-width-0655 { width: 65.5%; }
.progress-width-0656 { width: 65.6%; }
.progress-width-0657 { width: 65.7%; }
.progress-width-0658 { width: 65.8%; }
.progress-width-0659 { width: 65.9%; }
.progress-width-0660 { width: 66.0%; }
.progress-width-0661 { width: 66.1%; }
.progress-width-0662 { width: 66.2%; }
.progress-width-0663 { width: 66.3%; }
.progress-width-0664 { width: 66.4%; }
.progress-width-0665 { width: 66.5%; }
.progress-width-0666 { width: 66.6%; }
.progress-width-0667 { width: 66.7%; }
.progress-width-0668 { width: 66.8%; }
.progress-width-0669 { width: 66.9%; }
.progress-width-0670 { width: 67.0%; }
.progress-width-0671 { width: 67.1%; }
.progress-width-0672 { width: 67.2%; }
.progress-width-0673 { width: 67.3%; }
.progress-width-0674 { width: 67.4%; }
.progress-width-0675 { width: 67.5%; }
.progress-width-0676 { width: 67.6%; }
.progress-width-0677 { width: 67.7%; }
.progress-width-0678 { width: 67.8%; }
.progress-width-0679 { width: 67.9%; }
.progress-width-0680 { width: 68.0%; }
.progress-width-0681 { width: 68.1%; }
.progress-width-0682 { width: 68.2%; }
.progress-width-0683 { width: 68.3%; }
.progress-width-0684 { width: 68.4%; }
.progress-width-0685 { width: 68.5%; }
.progress-width-0686 { width: 68.6%; }
.progress-width-0687 { width: 68.7%; }
.progress-width-0688 { width: 68.8%; }
.progress-width-0689 { width: 68.9%; }
.progress-width-0690 { width: 69.0%; }
.progress-width-0691 { width: 69.1%; }
.progress-width-0692 { width: 69.2%; }
.progress-width-0693 { width: 69.3%; }
.progress-width-0694 { width: 69.4%; }
.progress-width-0695 { width: 69.5%; }
.progress-width-0696 { width: 69.6%; }
.progress-width-0697 { width: 69.7%; }
.progress-width-0698 { width: 69.8%; }
.progress-width-0699 { width: 69.9%; }
.progress-width-0700 { width: 70.0%; }
.progress-width-0701 { width: 70.1%; }
.progress-width-0702 { width: 70.2%; }
.progress-width-0703 { width: 70.3%; }
.progress-width-0704 { width: 70.4%; }
.progress-width-0705 { width: 70.5%; }
.progress-width-0706 { width: 70.6%; }
.progress-width-0707 { width: 70.7%; }
.progress-width-0708 { width: 70.8%; }
.progress-width-0709 { width: 70.9%; }
.progress-width-0710 { width: 71.0%; }
.progress-width-0711 { width: 71.1%; }
.progress-width-0712 { width: 71.2%; }
.progress-width-0713 { width: 71.3%; }
.progress-width-0714 { width: 71.4%; }
.progress-width-0715 { width: 71.5%; }
.progress-width-0716 { width: 71.6%; }
.progress-width-0717 { width: 71.7%; }
.progress-width-0718 { width: 71.8%; }
.progress-width-0719 { width: 71.9%; }
.progress-width-0720 { width: 72.0%; }
.progress-width-0721 { width: 72.1%; }
.progress-width-0722 { width: 72.2%; }
.progress-width-0723 { width: 72.3%; }
.progress-width-0724 { width: 72.4%; }
.progress-width-0725 { width: 72.5%; }
.progress-width-0726 { width: 72.6%; }
.progress-width-0727 { width: 72.7%; }
.progress-width-0728 { width: 72.8%; }
.progress-width-0729 { width: 72.9%; }
.progress-width-0730 { width: 73.0%; }
.progress-width-0731 { width: 73.1%; }
.progress-width-0732 { width: 73.2%; }
.progress-width-0733 { width: 73.3%; }
.progress-width-0734 { width: 73.4%; }
.progress-width-0735 { width: 73.5%; }
.progress-width-0736 { width: 73.6%; }
.progress-width-0737 { width: 73.7%; }
.progress-width-0738 { width: 73.8%; }
.progress-width-0739 { width: 73.9%; }
.progress-width-0740 { width: 74.0%; }
.progress-width-0741 { width: 74.1%; }
.progress-width-0742 { width: 74.2%; }
.progress-width-0743 { width: 74.3%; }
.progress-width-0744 { width: 74.4%; }
.progress-width-0745 { width: 74.5%; }
.progress-width-0746 { width: 74.6%; }
.progress-width-0747 { width: 74.7%; }
.progress-width-0748 { width: 74.8%; }
.progress-width-0749 { width: 74.9%; }
.progress-width-0750 { width: 75.0%; }
.progress-width-0751 { width: 75.1%; }
.progress-width-0752 { width: 75.2%; }
.progress-width-0753 { width: 75.3%; }
.progress-width-0754 { width: 75.4%; }
.progress-width-0755 { width: 75.5%; }
.progress-width-0756 { width: 75.6%; }
.progress-width-0757 { width: 75.7%; }
.progress-width-0758 { width: 75.8%; }
.progress-width-0759 { width: 75.9%; }
.progress-width-0760 { width: 76.0%; }
.progress-width-0761 { width: 76.1%; }
.progress-width-0762 { width: 76.2%; }
.progress-width-0763 { width: 76.3%; }
.progress-width-0764 { width: 76.4%; }
.progress-width-0765 { width: 76.5%; }
.progress-width-0766 { width: 76.6%; }
.progress-width-0767 { width: 76.7%; }
.progress-width-0768 { width: 76.8%; }
.progress-width-0769 { width: 76.9%; }
.progress-width-0770 { width: 77.0%; }
.progress-width-0771 { width: 77.1%; }
.progress-width-0772 { width: 77.2%; }
.progress-width-0773 { width: 77.3%; }
.progress-width-0774 { width: 77.4%; }
.progress-width-0775 { width: 77.5%; }
.progress-width-0776 { width: 77.6%; }
.progress-width-0777 { width: 77.7%; }
.progress-width-0778 { width: 77.8%; }
.progress-width-0779 { width: 77.9%; }
.progress-width-0780 { width: 78.0%; }
.progress-width-0781 { width: 78.1%; }
.progress-width-0782 { width: 78.2%; }
.progress-width-0783 { width: 78.3%; }
.progress-width-0784 { width: 78.4%; }
.progress-width-0785 { width: 78.5%; }
.progress-width-0786 { width: 78.6%; }
.progress-width-0787 { width: 78.7%; }
.progress-width-0788 { width: 78.8%; }
.progress-width-0789 { width: 78.9%; }
.progress-width-0790 { width: 79.0%; }
.progress-width-0791 { width: 79.1%; }
.progress-width-0792 { width: 79.2%; }
.progress-width-0793 { width: 79.3%; }
.progress-width-0794 { width: 79.4%; }
.progress-width-0795 { width: 79.5%; }
.progress-width-0796 { width: 79.6%; }
.progress-width-0797 { width: 79.7%; }
.progress-width-0798 { width: 79.8%; }
.progress-width-0799 { width: 79.9%; }
.progress-width-0800 { width: 80.0%; }
.progress-width-0801 { width: 80.1%; }
.progress-width-0802 { width: 80.2%; }
.progress-width-0803 { width: 80.3%; }
.progress-width-0804 { width: 80.4%; }
.progress-width-0805 { width: 80.5%; }
.progress-width-0806 { width: 80.6%; }
.progress-width-0807 { width: 80.7%; }
.progress-width-0808 { width: 80.8%; }
.progress-width-0809 { width: 80.9%; }
.progress-width-0810 { width: 81.0%; }
.progress-width-0811 { width: 81.1%; }
.progress-width-0812 { width: 81.2%; }
.progress-width-0813 { width: 81.3%; }
.progress-width-0814 { width: 81.4%; }
.progress-width-0815 { width: 81.5%; }
.progress-width-0816 { width: 81.6%; }
.progress-width-0817 { width: 81.7%; }
.progress-width-0818 { width: 81.8%; }
.progress-width-0819 { width: 81.9%; }
.progress-width-0820 { width: 82.0%; }
.progress-width-0821 { width: 82.1%; }
.progress-width-0822 { width: 82.2%; }
.progress-width-0823 { width: 82.3%; }
.progress-width-0824 { width: 82.4%; }
.progress-width-0825 { width: 82.5%; }
.progress-width-0826 { width: 82.6%; }
.progress-width-0827 { width: 82.7%; }
.progress-width-0828 { width: 82.8%; }
.progress-width-0829 { width: 82.9%; }
.progress-width-0830 { width: 83.0%; }
.progress-width-0831 { width: 83.1%; }
.progress-width-0832 { width: 83.2%; }
.progress-width-0833 { width: 83.3%; }
.progress-width-0834 { width: 83.4%; }
.progress-width-0835 { width: 83.5%; }
.progress-width-0836 { width: 83.6%; }
.progress-width-0837 { width: 83.7%; }
.progress-width-0838 { width: 83.8%; }
.progress-width-0839 { width: 83.9%; }
.progress-width-0840 { width: 84.0%; }
.progress-width-0841 { width: 84.1%; }
.progress-width-0842 { width: 84.2%; }
.progress-width-0843 { width: 84.3%; }
.progress-width-0844 { width: 84.4%; }
.progress-width-0845 { width: 84.5%; }
.progress-width-0846 { width: 84.6%; }
.progress-width-0847 { width: 84.7%; }
.progress-width-0848 { width: 84.8%; }
.progress-width-0849 { width: 84.9%; }
.progress-width-0850 { width: 85.0%; }
.progress-width-0851 { width: 85.1%; }
.progress-width-0852 { width: 85.2%; }
.progress-width-0853 { width: 85.3%; }
.progress-width-0854 { width: 85.4%; }
.progress-width-0855 { width: 85.5%; }
.progress-width-0856 { width: 85.6%; }
.progress-width-0857 { width: 85.7%; }
.progress-width-0858 { width: 85.8%; }
.progress-width-0859 { width: 85.9%; }
.progress-width-0860 { width: 86.0%; }
.progress-width-0861 { width: 86.1%; }
.progress-width-0862 { width: 86.2%; }
.progress-width-0863 { width: 86.3%; }
.progress-width-0864 { width: 86.4%; }
.progress-width-0865 { width: 86.5%; }
.progress-width-0866 { width: 86.6%; }
.progress-width-0867 { width: 86.7%; }
.progress-width-0868 { width: 86.8%; }
.progress-width-0869 { width: 86.9%; }
.progress-width-0870 { width: 87.0%; }
.progress-width-0871 { width: 87.1%; }
.progress-width-0872 { width: 87.2%; }
.progress-width-0873 { width: 87.3%; }
.progress-width-0874 { width: 87.4%; }
.progress-width-0875 { width: 87.5%; }
.progress-width-0876 { width: 87.6%; }
.progress-width-0877 { width: 87.7%; }
.progress-width-0878 { width: 87.8%; }
.progress-width-0879 { width: 87.9%; }
.progress-width-0880 { width: 88.0%; }
.progress-width-0881 { width: 88.1%; }
.progress-width-0882 { width: 88.2%; }
.progress-width-0883 { width: 88.3%; }
.progress-width-0884 { width: 88.4%; }
.progress-width-0885 { width: 88.5%; }
.progress-width-0886 { width: 88.6%; }
.progress-width-0887 { width: 88.7%; }
.progress-width-0888 { width: 88.8%; }
.progress-width-0889 { width: 88.9%; }
.progress-width-0890 { width: 89.0%; }
.progress-width-0891 { width: 89.1%; }
.progress-width-0892 { width: 89.2%; }
.progress-width-0893 { width: 89.3%; }
.progress-width-0894 { width: 89.4%; }
.progress-width-0895 { width: 89.5%; }
.progress-width-0896 { width: 89.6%; }
.progress-width-0897 { width: 89.7%; }
.progress-width-0898 { width: 89.8%; }
.progress-width-0899 { width: 89.9%; }
.progress-width-0900 { width: 90.0%; }
.progress-width-0901 { width: 90.1%; }
.progress-width-0902 { width: 90.2%; }
.progress-width-0903 { width: 90.3%; }
.progress-width-0904 { width: 90.4%; }
.progress-width-0905 { width: 90.5%; }
.progress-width-0906 { width: 90.6%; }
.progress-width-0907 { width: 90.7%; }
.progress-width-0908 { width: 90.8%; }
.progress-width-0909 { width: 90.9%; }
.progress-width-0910 { width: 91.0%; }
.progress-width-0911 { width: 91.1%; }
.progress-width-0912 { width: 91.2%; }
.progress-width-0913 { width: 91.3%; }
.progress-width-0914 { width: 91.4%; }
.progress-width-0915 { width: 91.5%; }
.progress-width-0916 { width: 91.6%; }
.progress-width-0917 { width: 91.7%; }
.progress-width-0918 { width: 91.8%; }
.progress-width-0919 { width: 91.9%; }
.progress-width-0920 { width: 92.0%; }
.progress-width-0921 { width: 92.1%; }
.progress-width-0922 { width: 92.2%; }
.progress-width-0923 { width: 92.3%; }
.progress-width-0924 { width: 92.4%; }
.progress-width-0925 { width: 92.5%; }
.progress-width-0926 { width: 92.6%; }
.progress-width-0927 { width: 92.7%; }
.progress-width-0928 { width: 92.8%; }
.progress-width-0929 { width: 92.9%; }
.progress-width-0930 { width: 93.0%; }
.progress-width-0931 { width: 93.1%; }
.progress-width-0932 { width: 93.2%; }
.progress-width-0933 { width: 93.3%; }
.progress-width-0934 { width: 93.4%; }
.progress-width-0935 { width: 93.5%; }
.progress-width-0936 { width: 93.6%; }
.progress-width-0937 { width: 93.7%; }
.progress-width-0938 { width: 93.8%; }
.progress-width-0939 { width: 93.9%; }
.progress-width-0940 { width: 94.0%; }
.progress-width-0941 { width: 94.1%; }
.progress-width-0942 { width: 94.2%; }
.progress-width-0943 { width: 94.3%; }
.progress-width-0944 { width: 94.4%; }
.progress-width-0945 { width: 94.5%; }
.progress-width-0946 { width: 94.6%; }
.progress-width-0947 { width: 94.7%; }
.progress-width-0948 { width: 94.8%; }
.progress-width-0949 { width: 94.9%; }
.progress-width-0950 { width: 95.0%; }
.progress-width-0951 { width: 95.1%; }
.progress-width-0952 { width: 95.2%; }
.progress-width-0953 { width: 95.3%; }
.progress-width-0954 { width: 95.4%; }
.progress-width-0955 { width: 95.5%; }
.progress-width-0956 { width: 95.6%; }
.progress-width-0957 { width: 95.7%; }
.progress-width-0958 { width: 95.8%; }
.progress-width-0959 { width: 95.9%; }
.progress-width-0960 { width: 96.0%; }
.progress-width-0961 { width: 96.1%; }
.progress-width-0962 { width: 96.2%; }
.progress-width-0963 { width: 96.3%; }
.progress-width-0964 { width: 96.4%; }
.progress-width-0965 { width: 96.5%; }
.progress-width-0966 { width: 96.6%; }
.progress-width-0967 { width: 96.7%; }
.progress-width-0968 { width: 96.8%; }
.progress-width-0969 { width: 96.9%; }
.progress-width-0970 { width: 97.0%; }
.progress-width-0971 { width: 97.1%; }
.progress-width-0972 { width: 97.2%; }
.progress-width-0973 { width: 97.3%; }
.progress-width-0974 { width: 97.4%; }
.progress-width-0975 { width: 97.5%; }
.progress-width-0976 { width: 97.6%; }
.progress-width-0977 { width: 97.7%; }
.progress-width-0978 { width: 97.8%; }
.progress-width-0979 { width: 97.9%; }
.progress-width-0980 { width: 98.0%; }
.progress-width-0981 { width: 98.1%; }
.progress-width-0982 { width: 98.2%; }
.progress-width-0983 { width: 98.3%; }
.progress-width-0984 { width: 98.4%; }
.progress-width-0985 { width: 98.5%; }
.progress-width-0986 { width: 98.6%; }
.progress-width-0987 { width: 98.7%; }
.progress-width-0988 { width: 98.8%; }
.progress-width-0989 { width: 98.9%; }
.progress-width-0990 { width: 99.0%; }
.progress-width-0991 { width: 99.1%; }
.progress-width-0992 { width: 99.2%; }
.progress-width-0993 { width: 99.3%; }
.progress-width-0994 { width: 99.4%; }
.progress-width-0995 { width: 99.5%; }
.progress-width-0996 { width: 99.6%; }
.progress-width-0997 { width: 99.7%; }
.progress-width-0998 { width: 99.8%; }
.progress-width-0999 { width: 99.9%; }
.progress-width-1000 { width: 100.0%; }

/* Phase 10A: required Super Administrator MFA. */
.mfa-summary-header {
  padding: 0 0 16px;
  margin-bottom: 16px;
}

.mfa-enrollment-grid {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(320px, 1.2fr);
  gap: 28px;
  align-items: center;
}

.mfa-qr {
  min-height: 280px;
  display: grid;
  place-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  color: var(--muted);
  text-align: center;
}

.mfa-qr-image {
  width: 260px;
  height: 260px;
  max-width: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}

.mfa-manual-key {
  display: block;
  width: 100%;
  letter-spacing: .08em;
  text-align: center;
}

.mfa-recovery-codes {
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-left: 5px solid var(--adv-orange);
  border-radius: 14px;
  background: #0f172a;
  color: #f8fafc;
  font: 800 17px/1.65 Consolas, Monaco, "Courier New", monospace;
  letter-spacing: .08em;
  white-space: pre-wrap;
  user-select: all;
}

@media (max-width: 780px) {
  .mfa-enrollment-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 8F: PostgreSQL-backed browser session management. */
.session-management-card {
  margin-top: 24px;
}

.session-summary-header {
  align-items: flex-start;
  padding: 0 0 18px;
  margin-bottom: 18px;
}

.session-summary-header p {
  max-width: 760px;
  margin: 6px 0 0;
}

.session-list {
  display: grid;
  gap: 16px;
}

.session-entry {
  padding: 18px;
  border: 1px solid var(--border);
  border-left: 5px solid #94a3b8;
  border-radius: 14px;
  background: #fff;
}

.session-entry.current-session {
  border-left-color: #1f9d55;
  background: #f7fcf9;
}

.session-entry-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.session-entry-header h3 {
  margin: 0 0 4px;
}

.session-metadata {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}

.session-metadata div {
  min-width: 0;
}

.session-metadata dt {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.session-metadata dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.session-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.session-actions:empty {
  display: none;
}

.session-management-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.session-management-footer p {
  max-width: 840px;
  margin: 0;
}

@media (max-width: 780px) {
  .session-metadata {
    grid-template-columns: 1fr;
  }

  .session-entry-header,
  .session-management-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Phase 11C: Existing Server Feature Key evidence. */
.feature-key-disclaimer {
  width: min(760px, calc(100% - 28px));
  max-height: calc(100vh - 40px);
  padding: 0;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
}

.feature-key-disclaimer::backdrop {
  background: rgba(2, 12, 27, .72);
  backdrop-filter: blur(3px);
}

.feature-key-disclaimer-heading {
  padding: 24px 26px 20px;
  border-bottom: 4px solid var(--adv-orange);
  background: linear-gradient(
    135deg,
    var(--adv-blue-dark),
    var(--adv-blue)
  );
  color: #fff;
}

.feature-key-disclaimer-heading h2 {
  margin: 7px 0 0;
  color: #fff;
  font-size: 22px;
}

.feature-key-disclaimer-body {
  padding: 24px 26px 10px;
  font-size: 15px;
  line-height: 1.6;
}

.feature-key-disclaimer-body p:first-child {
  margin-top: 0;
}

.feature-key-disclaimer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  padding: 14px 26px 24px;
}

.feature-key-summary {
  padding: 0 0 18px;
  margin-bottom: 20px;
}

.feature-key-summary h2 {
  margin-bottom: 6px;
}

.feature-key-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  font-weight: 850;
}

.feature-key-statuses > span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

.feature-key-evidence-body {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr);
  gap: 22px;
}

.feature-key-evidence-body h3 {
  margin: 0 0 12px;
  color: var(--adv-blue);
  font-size: 16px;
}

.feature-key-acceptance,
.feature-key-attachments {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
}

.feature-key-acceptance details {
  margin-top: 16px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
}

.feature-key-acceptance summary {
  color: var(--adv-blue);
  cursor: pointer;
  font-weight: 850;
}

.feature-key-requirement-text {
  margin-top: 14px;
  padding: 16px;
  border-left: 4px solid var(--adv-orange);
  border-radius: 12px;
  background: rgba(245, 130, 32, .08);
  line-height: 1.55;
}

.feature-key-requirement-text h4 {
  margin: 0 0 12px;
  color: var(--adv-blue);
}

.feature-key-missing {
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid #fecdd3;
  border-left: 5px solid var(--danger);
  border-radius: 14px;
  background: #fff1f2;
  color: #842029;
}

.feature-key-missing p {
  margin: 7px 0 0;
}

.feature-key-attachment {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
}

.feature-key-preview-link {
  display: block;
}

.feature-key-preview {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}

.feature-key-attachment-meta {
  min-width: 0;
  overflow-wrap: anywhere;
}

.feature-key-verification {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

.feature-key-attachments form {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

@media (max-width: 900px) {
  .feature-key-evidence-body {
    grid-template-columns: 1fr;
  }

  .feature-key-statuses {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .feature-key-attachment {
    grid-template-columns: 1fr;
  }

  .feature-key-disclaimer-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .feature-key-disclaimer-actions .btn {
    width: 100%;
  }
}

.tech-id-result {
  border-top: 5px solid var(--success);
  text-align: center;
}

.tech-id-result .eyebrow {
  color: var(--success);
}

.tech-id-code {
  display: inline-block;
  margin: 8px 0 12px;
  padding: 16px 24px;
  border: 2px solid var(--adv-orange);
  border-radius: 16px;
  background: #0f172a;
  color: #f8fafc;
  font-size: clamp(32px, 7vw, 56px);
  font-weight: 950;
  letter-spacing: .14em;
}

.tech-id-contact {
  padding: 0;
  overflow: hidden;
}

.tech-id-contact-header {
  margin-bottom: 0;
}

.tech-id-contact-header .eyebrow {
  color: var(--adv-blue);
}

.tech-id-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 22px;
}

.tech-id-contact-grid > div {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  overflow-wrap: anywhere;
}

.tech-id-contact-grid strong {
  display: block;
  margin-top: 7px;
}

.tech-id-existing {
  margin-top: 8px;
  color: var(--adv-blue);
  font-size: 20px;
  font-weight: 950;
}

.tech-id-assignment-form {
  padding: 0 22px 22px;
}

.tech-id-confirmation {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid #fed7aa;
  border-left: 5px solid var(--adv-orange);
  border-radius: 14px;
  background: rgba(245, 130, 32, .08);
}

.tech-id-confirmation input {
  margin-top: 3px;
}

.tech-id-rules {
  margin: 0;
  padding-left: 22px;
  line-height: 1.7;
}

@media (max-width: 720px) {
  .tech-id-contact-grid {
    grid-template-columns: 1fr;
  }

  .tech-id-code {
    letter-spacing: .08em;
  }
}

.session-timeout-dialog {
  width: min(520px, calc(100vw - 32px));
  padding: 28px;
  border: 1px solid var(--border);
  border-top: 6px solid var(--adv-orange);
  border-radius: 20px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 28px 80px rgba(0, 41, 77, .38);
}

.session-timeout-dialog::backdrop {
  background: rgba(2, 15, 30, .68);
  backdrop-filter: blur(3px);
}

.session-timeout-dialog h2 {
  margin: 8px 0 12px;
  color: var(--adv-blue);
  font-size: 24px;
}

.session-timeout-dialog p {
  line-height: 1.55;
}

.session-timeout-dialog [data-session-countdown] {
  color: var(--danger);
  font-size: 20px;
  white-space: nowrap;
}

.session-timeout-error {
  margin-top: 16px;
}

.session-timeout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.session-timeout-actions .btn {
  margin: 0;
}

@media (max-width: 520px) {
  .session-timeout-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .session-timeout-actions .btn {
    width: 100%;
  }
}
