:root {
  --bg: #000000;
  --card: #151515;
  --orange: #FF3C00;
  --blue: #0057FF;
  --text: #FFFFFF;
  --text-secondary: #BFBFBF;
  --border: #2a2a2a;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif; }

body { background: var(--bg); color: var(--text); line-height: 1.6; }

header { background: var(--bg); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 10; }
.header-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1100px; margin: 0 auto; padding: 1rem 1.2rem; }
.logo { font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.logo span { color: var(--orange); }
.admin-link { color: var(--text-secondary); text-decoration: none; font-size: .9rem; }
.admin-link:hover { color: var(--orange); }

main { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.2rem 3rem; display: flex; flex-direction: column; gap: 1.5rem; }

.tabs { display: flex; gap: .5rem; background: var(--card); border: 1px solid var(--border); border-radius: 999px; padding: .4rem; width: fit-content; }
.tab-btn { border: none; background: transparent; color: var(--text-secondary); padding: .6rem 1.6rem; border-radius: 999px; cursor: pointer; font-weight: 600; }
.tab-btn.active { background: var(--orange); color: var(--text); }

.tab-panel { display: none; flex-direction: column; gap: 1.2rem; }
.tab-panel.active { display: flex; }

.section-header { display: flex; flex-direction: column; gap: .4rem; }
.section-header p { color: var(--text-secondary); }

.day-tabs { display: flex; flex-wrap: wrap; gap: .4rem; }
.day-tab { border: 1px solid var(--border); background: transparent; color: var(--text-secondary); padding: .5rem 1rem; border-radius: 999px; cursor: pointer; }
.day-tab.active { border-color: var(--orange); color: var(--text); }

.day-panel { display: none; flex-direction: column; gap: 1rem; }
.day-panel.active { display: flex; }

.routine-card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.routine-card-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.4rem; border-bottom: 1px solid var(--border); }
.routine-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 2fr; }
.routine-grid.head { background: rgba(255,255,255,.01); }
.routine-grid:not(.head) { border-top: 1px solid var(--border); }
.routine-cell { padding: .9rem 1.4rem; display: flex; flex-direction: column; gap: .2rem; }
.routine-cell .label { display: none; color: var(--text-secondary); text-transform: uppercase; font-size: .8rem; letter-spacing: 1px; }
.routine-cell .value { font-weight: 600; }
.routine-cell.muted { color: var(--text-secondary); }

.date-picker { display: flex; flex-direction: column; gap: .6rem; max-width: 280px; }
.date-picker label { color: var(--text-secondary); }
.date-picker input { background: var(--card); border: 1px solid var(--border); color: var(--text); padding: .7rem 1rem; border-radius: 10px; }

.grid-wrapper { background: var(--card); border: 1px solid var(--border); border-radius: 12px; overflow-x: auto; }
.turns-grid { width: 100%; border-collapse: collapse; min-width: 720px; }
.turns-grid th { text-align: left; padding: .9rem 1.4rem; color: var(--text-secondary); text-transform: uppercase; font-size: .85rem; letter-spacing: 1px; border-bottom: 1px solid var(--border); }
.turns-grid td { padding: .9rem 1.4rem; border-top: 1px solid var(--border); }
.turns-grid td.time { font-weight: 600; }
.turns-grid td.muted { color: var(--text-secondary); }

.empty-state { text-align: center; padding: 2rem 1rem; color: var(--text-secondary); }

footer { border-top: 1px solid var(--border); padding: 1.5rem 1.2rem; text-align: center; color: var(--text-secondary); }

@media (max-width: 880px) {
  .routine-grid { grid-template-columns: 1fr; }
  .routine-grid.head { display: none; }
  .routine-cell { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 1rem; }
  .routine-cell .label { display: block; }
  .routine-cell .value { text-align: right; }
}

.plan-block { padding: 1rem 0 .4rem; border-top: 1px solid var(--border); }
.plan-block h3 { padding: 0 1.4rem; margin: 0 0 .2rem; }
.plan-block > p { padding: 0 1.4rem .6rem; margin: 0; }
.routine-grid.ex-grid { grid-template-columns: 3fr 1fr 1.5fr 1fr; }
@media (max-width: 880px) { .routine-grid.ex-grid { grid-template-columns: 1fr; } }
