/* Web 2.0 / Glossy UI (drop-in replacement for styles.css) */

:root{
  --bg1:#e9f2ff;
  --bg2:#cfe2ff;

  --ink:#10223a;
  --muted:#4c6787;

  --panel:#ffffff;
  --panel2:#f7fbff;

  --border:rgba(16,34,58,.16);

  --primary:#2f7df6;
  --primary2:#0e5ce6;

  --success:#20c06b;
  --danger:#e5484d;

  --shadow: 0 10px 25px rgba(16,34,58,.18);
  --shadow2: 0 6px 14px rgba(16,34,58,.14);

  --radius:18px;
  --radius-sm:12px;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  color: var(--ink);

  background:
    radial-gradient(900px 520px at 15% -10%, rgba(47,125,246,.45), transparent 60%),
    radial-gradient(900px 520px at 105% 0%, rgba(32,192,107,.28), transparent 55%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
}

a{ color: var(--primary2); text-decoration:none; }
a:hover{ text-decoration:underline; }

.container{ max-width:1280px; margin:0 auto; padding:18px 14px 44px; }

.header{
  position: sticky;
  top: 0;
  z-index: 50;

  background: linear-gradient(180deg, #ffffff, #f3f8ff);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(16,34,58,.10);
}

.header .inner{
  max-width:1280px;
  margin:0 auto;
  padding:14px 14px;
  display:flex;
  gap:14px;
  align-items:center;
}

.brand{
  font-weight:800;
  letter-spacing:.2px;
  font-size: 18px;
  color: #0b1c33;
  text-shadow: 0 1px 0 rgba(255,255,255,.85);
}

/* Web 2.0 "status pill" */
.pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:8px 12px;
  border-radius:999px;

  background: linear-gradient(180deg, #ffffff, #eaf2ff);
  border: 1px solid rgba(47,125,246,.25);
  box-shadow: 0 4px 12px rgba(47,125,246,.18);

  color: var(--muted);
  font-size: 12px;
}

.dot{
  width:9px;
  height:9px;
  border-radius:999px;

  background: radial-gradient(circle at 35% 35%, #b9ffd8, var(--success));
  box-shadow:
    0 0 0 6px rgba(32,192,107,.16),
    inset 0 1px 0 rgba(255,255,255,.65);
}

/* Tabs */
.tabs{
  display:flex;
  gap:10px;
  margin: 18px 0 12px;
  flex-wrap:wrap;
  align-items:center;
}

.tab{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:10px 14px;
  border-radius:999px;

  border: 1px solid rgba(16,34,58,.18);
  background: linear-gradient(180deg, #ffffff, #eef5ff);
  color: var(--muted);

  box-shadow: 0 6px 14px rgba(16,34,58,.10);
  text-decoration:none;
}

.tab:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(16,34,58,.12);
  text-decoration:none;
}

.tab.active{
  color: #ffffff;
  border-color: rgba(14,92,230,.35);
  background: linear-gradient(180deg, var(--primary), var(--primary2));
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
}

.small{ color: var(--muted); font-size: 12px; }

/* Cards layout - 3 across on wide screens */
.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

.card{
  grid-column: span 12;
  border-radius: var(--radius);
  border: 1px solid var(--border);

  background:
    linear-gradient(180deg, #ffffff, var(--panel2));
  box-shadow: var(--shadow);

  padding: 14px;
  overflow:hidden;
}

@media (min-width: 820px){ .card{ grid-column: span 6; } }
@media (min-width: 1180px){ .card{ grid-column: span 4; } }

.card::before{
  content:"";
  display:block;
  height:6px;
  margin:-14px -14px 12px -14px;
  background: linear-gradient(90deg, rgba(47,125,246,.95), rgba(32,192,107,.85));
  border-bottom: 1px solid rgba(16,34,58,.10);
}

.cardHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}

.cardHead .title{
  font-weight: 900;
  font-size: 15px;
  color: #0b1c33;
}

.badge{
  font-size: 12px;
  color: rgba(16,34,58,.78);

  border: 1px solid rgba(16,34,58,.18);
  border-radius: 999px;
  padding: 4px 10px;

  background: linear-gradient(180deg, #ffffff, #f0f6ff);
  box-shadow: 0 4px 10px rgba(16,34,58,.10);
}

/* Tables */
.table{ width:100%; border-collapse: collapse; font-size: 13px; }
.table th, .table td{ padding: 10px 8px; border-top: 1px solid rgba(16,34,58,.12); }
.table th{
  color: rgba(16,34,58,.70);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 11px;
}
.table tr:hover td{ background: rgba(47,125,246,.06); }

.table td.place{ width: 58px; font-weight: 900; }
.table td.weight{ width: 92px; font-weight: 900; color:#0e5ce6; }
.table td.time{ color: var(--muted); font-size: 12px; }

/* Panels */
.panel{
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff, var(--panel2));
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: var(--shadow2);
}

.row{ display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
.field{ flex: 1 1 180px; min-width: 180px; }

label{
  display:block;
  font-size: 12px;
  color: rgba(16,34,58,.70);
  margin-bottom: 6px;
  font-weight: 700;
}

/* Inputs (classic Web 2.0 glossy fields) */
input, select{
  width: 100%;
  padding: 11px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(16,34,58,.22);

  background:
    linear-gradient(180deg, #ffffff, #f4f8ff);

  color: var(--ink);
  outline: none;

  box-shadow:
    inset 0 1px 2px rgba(16,34,58,.10),
    0 2px 10px rgba(16,34,58,.06);
}

input:focus, select:focus{
  border-color: rgba(47,125,246,.55);
  box-shadow:
    inset 0 1px 2px rgba(16,34,58,.10),
    0 0 0 4px rgba(47,125,246,.18);
}

input::placeholder{ color: rgba(76,103,135,.65); }

/* Buttons (Web 2.0 glossy) */
.actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 12px; align-items:center; }

button{
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid rgba(16,34,58,.18);

  background: linear-gradient(180deg, #ffffff, #edf5ff);
  color: rgba(16,34,58,.88);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 8px 16px rgba(16,34,58,.12);

  cursor:pointer;
  font-weight: 800;
}

button:hover{
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 12px 18px rgba(16,34,58,.14);
}

button.primary{
  color:#fff;
  border-color: rgba(14,92,230,.45);
  background:
    linear-gradient(180deg, #5aa0ff, var(--primary2));
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
}

button.danger{
  color:#fff;
  border-color: rgba(229,72,77,.45);
  background: linear-gradient(180deg, #ff7b7f, var(--danger));
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
}

hr{ border:none; border-top: 1px solid rgba(16,34,58,.14); margin: 18px 0; }

.notice{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(16,34,58,.78);
}

.notice.good{ color: #0a7a3a; }
.notice.bad{ color: #b51d22; }

/* Admin tables wrap */
.manageWrap{
  overflow:auto;
  border-radius: var(--radius);
  border:1px solid rgba(16,34,58,.16);
  margin-top:12px;
  box-shadow: 0 10px 18px rgba(16,34,58,.10);
}

.manageWrap table{
  width:100%;
  border-collapse: collapse;
  min-width: 980px;
  background: #ffffff;
}

.manageWrap th, .manageWrap td{
  padding: 10px 8px;
  border-top: 1px solid rgba(16,34,58,.12);
  text-align:left;
}

.manageWrap th{
  color: rgba(16,34,58,.70);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .06em;
  background: linear-gradient(180deg, #ffffff, #f1f6ff);
}

.manageWrap td small{ color: rgba(76,103,135,.80); }
.manageWrap input, .manageWrap select{ padding: 9px 10px; border-radius: 12px; }
.manageWrap button{ padding: 8px 10px; border-radius: 12px; }