.warrior-page{display:grid;gap:16px}
.warrior-page-heading{padding:6px 2px}
.warrior-page-heading .card-title{font-size:25px;margin:5px 0}
.warrior-page-heading p{margin:0}
.warrior-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line)}
.warrior-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:700;padding:12px 16px;cursor:pointer}
.warrior-tabs button.active{color:var(--green);border-color:var(--green)}
.warrior-tabs button:focus-visible,.warrior-kid:focus-visible,.warrior-date:focus-visible{outline:3px solid color-mix(in srgb,var(--blue,#1c9dd0) 45%,transparent);outline-offset:2px}
.warrior-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.7fr);gap:16px;align-items:start}
.warrior-kid-picker,.warrior-calendar-card,.warrior-daily-card{padding:18px}
.warrior-kid-list{display:grid;gap:7px}
.warrior-kid{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.warrior-kid.active{background:color-mix(in srgb,var(--mint) 45%,var(--paper));border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.warrior-kid-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:800}
.warrior-kid-arrow{margin-left:auto;color:var(--muted);font-size:20px}
.warrior-main{display:grid;gap:16px;min-width:0}
.warrior-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.warrior-calendar-toolbar h3{margin:0}
.warrior-streak-summary{margin:-3px 0 12px;color:var(--green);font-size:12px;font-weight:800}
.warrior-weekdays,.warrior-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.warrior-weekdays{margin-bottom:5px}
.warrior-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;padding:5px 0}
.warrior-date{position:relative;aspect-ratio:1/1;min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
.warrior-date.outside{color:var(--muted);opacity:.5}
.warrior-date.is-today{border-color:var(--blue,#159dcc);box-shadow:inset 0 0 0 1px var(--blue,#159dcc)}
.warrior-date.selected{background:color-mix(in srgb,var(--blue,#159dcc) 10%,var(--paper))}
.warrior-date.is-complete{background:#dff3e8;border-color:#65ae83;color:#165a36}
.warrior-date span{position:absolute;right:4px;top:2px;font-size:10px}
.warrior-date:disabled{cursor:not-allowed;opacity:.4}
.warrior-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}
.warrior-legend span{display:flex;align-items:center;gap:6px}
.warrior-legend-dot{width:9px;height:9px;border-radius:50%;background:#dff3e8;border:1px solid #65ae83}
.warrior-legend-dot.today{background:var(--paper);border-color:var(--blue,#159dcc)}
.warrior-daily-card .card-header{margin-bottom:12px}
.warrior-status-complete{background:#dff3e8;color:#165a36}
.warrior-checklist{display:grid;gap:8px}
.warrior-habit{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.warrior-habit.checked{background:color-mix(in srgb,#dff3e8 75%,var(--paper));border-color:#a7d6b6}
.warrior-habit input{position:absolute;opacity:0;width:1px;height:1px}
.warrior-habit-check{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border:2px solid #6295a0;border-radius:5px;color:#fff;font-size:14px;font-weight:800}
.warrior-habit.checked .warrior-habit-check{background:#24875a;border-color:#24875a}
.warrior-habit input:focus-visible+.warrior-habit-check{outline:3px solid #229dcc66;outline-offset:2px}
.warrior-habit input:disabled+.warrior-habit-check{opacity:.65}
.warrior-habit-label{font-size:14px;font-weight:650}
.warrior-hint{margin:8px 0 0;font-size:12px}
.warrior-earned{display:grid;gap:4px;padding:14px;border-radius:10px;background:#fff2cc;color:#5d4914}
.warrior-earned span{font-size:12px}
.warrior-settings .field{margin-top:12px}
.warrior-settings-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.warrior-settings-footer .muted{font-size:11px;line-height:1.5}
.warrior-settings-status{min-height:16px}
@media(max-width:760px){
 .warrior-layout{grid-template-columns:1fr}
 .warrior-kid-picker,.warrior-calendar-card,.warrior-daily-card{padding:14px}
 .warrior-kid-list{display:flex;overflow:auto}
 .warrior-kid{min-width:max-content;width:auto}
 .warrior-date{min-height:32px;border-radius:7px}
 .warrior-settings-footer{align-items:flex-start;flex-direction:column}
}
