.admin{--color-warn:#8a5200;--color-warn-bg:#fff4dc;--color-ok:#1f6b33;--color-ok-bg:#e5f5e9;--act-absence:#a34a00;--act-absence-bg:#fff0e0;--act-substitute:#6a2fc0;--act-substitute-bg:#f2ebfd;--act-cancel:var(--color-red);--act-cancel-bg:var(--color-red-bg);--act-save:#1f6b33;--act-edit:var(--color-blue)}.admin .page-title{color:var(--color-navy);font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:1.9rem;font-weight:400;line-height:1.1}.admin .page-intro{max-width:38rem;margin:var(--space-2) 0 var(--space-6);color:var(--color-muted)}.admin h2.section{margin:var(--space-8) 0 var(--space-3);font-size:1.25rem;font-weight:600}.admin .btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:3rem;padding:0 var(--space-5);border:2px solid var(--color-navy);border-radius:var(--radius);background:var(--color-white);color:var(--color-navy);text-align:center;cursor:pointer;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.admin .btn:disabled{opacity:.55;cursor:default}.admin .btn.primary{background:var(--color-navy);color:var(--color-white)}.admin .btn.danger{border-color:var(--color-red);color:var(--color-red)}.admin .btn.danger.solid{background:var(--color-red);color:var(--color-white)}.admin .btn.small{min-height:2.6rem;padding:0 var(--space-4);font-size:.95rem}.admin .btn.wide{width:100%}.admin .btn .ico{flex:none;width:1.35em;height:1.35em}.admin .btn.act-add{border-color:var(--color-navy);background:var(--color-navy);color:var(--color-white)}.admin .btn.act-save{border-color:var(--act-save);background:var(--act-save);color:var(--color-white)}.admin .btn.act-absence{border-color:var(--act-absence);background:var(--act-absence);color:var(--color-white)}.admin .btn.act-substitute{border-color:var(--act-substitute);background:var(--act-substitute);color:var(--color-white)}.admin .btn.act-cancel{border-color:var(--act-cancel);background:var(--act-cancel);color:var(--color-white)}.admin .btn.act-edit{border-color:var(--act-edit);color:var(--act-edit)}.admin .btn.act-delete{border-color:var(--color-red);color:var(--color-red)}.admin .btn.act-delete.solid{background:var(--color-red);color:var(--color-white)}.admin .btn.act-close{border-color:var(--color-line);color:var(--color-muted)}.admin .btn.soft{justify-content:flex-start}.admin .btn.soft.act-absence{background:var(--act-absence-bg);color:var(--act-absence)}.admin .btn.soft.act-substitute{background:var(--act-substitute-bg);color:var(--act-substitute)}.admin .btn.soft.act-cancel{background:var(--act-cancel-bg);color:var(--act-cancel)}.admin .btn:not(:disabled):hover{filter:brightness(.92)}.admin .message{gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-left:4px solid var(--color-line);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-mist);color:var(--color-ink);align-items:flex-start;display:flex}.admin .message .ico{width:1.2rem;height:1.2rem;color:var(--color-muted);flex:none;margin-top:.2rem}.admin .message small{color:var(--color-muted);font-size:.8rem;font-weight:600;display:block}.admin .link-btn{color:var(--color-blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.admin .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=767px){.admin form>.actions{margin-top:var(--space-2);flex-direction:column}.admin form>.actions .btn{width:100%;min-height:var(--tap)}}.admin .field .example{color:var(--color-muted);margin:0;font-size:.9rem}.admin .field{gap:var(--space-1);margin-bottom:var(--space-4);display:grid}.admin .field>.label,.admin .field>label{font-weight:600}.admin .field .hint{color:var(--color-muted);margin:0;font-size:.9rem}.admin .field .error{color:var(--color-red);margin:0;font-weight:600}.admin .input{width:100%;min-height:3rem;padding:var(--space-2) var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius);background:var(--color-white);color:var(--color-ink);font:inherit}.admin .input:focus{border-color:var(--color-blue)}.admin .input[aria-invalid=true]{border-color:var(--color-red)}.admin textarea.input{resize:vertical;min-height:5.5rem}.admin .row{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=480px){.admin .row{grid-template-columns:1fr 1fr}}.admin .check{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);cursor:pointer;display:flex}.admin .check input{width:1.5rem;height:1.5rem;accent-color:var(--color-navy);flex:none;margin:.1rem 0 0}.admin .check small{color:var(--color-muted);display:block}.admin .choices{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.admin .choices label{min-height:2.8rem;padding:0 var(--space-4);border:2px solid var(--color-line);border-radius:var(--radius);background:var(--color-white);cursor:pointer;align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.admin .choices .ico{width:1.2rem;height:1.2rem}.admin .choices .swatch{width:1rem;height:1rem;box-shadow:0 0 0 2px var(--color-white)}.admin .choices input{opacity:0;pointer-events:none;position:absolute}.admin .choices label:has(input:checked){border-color:var(--color-navy);background:var(--color-navy);color:var(--color-white)}.admin .choices label:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.admin .list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.admin .top{margin-top:var(--space-5)}.admin .item{align-items:center;gap:var(--space-3);padding:var(--space-4);border:2px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-white);flex-wrap:wrap;display:flex}.admin .item .grow{flex:12rem;min-width:0}.admin .item .name{margin:0;font-size:1.15rem;font-weight:600}.admin .item .meta{color:var(--color-muted);margin:0}.admin .empty{padding:var(--space-5);border:2px dashed var(--color-line);border-radius:var(--radius-card);color:var(--color-muted)}.admin .note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-weight:600}.admin .note.error{background:var(--color-red-bg);color:var(--color-red)}.admin .note.warn{background:var(--color-warn-bg);color:var(--color-warn)}.admin .note.ok{background:var(--color-ok-bg);color:var(--color-ok)}.admin .tag{background:var(--color-mist);color:var(--color-navy);white-space:nowrap;border-radius:999px;padding:.05rem .55rem;font-size:.85rem;font-weight:600;display:inline-block}.admin .tag.off{background:var(--color-red-bg);color:var(--color-red)}.admin .tag.warn{background:var(--color-warn-bg);color:var(--color-warn)}.admin .swatch{background:var(--c);border-radius:50%;flex:none;width:1.4rem;height:1.4rem}@media (width>=768px){.admin .page-title{font-size:2.4rem}}@media (width>=1024px){.admin .page-intro{max-width:48rem}.admin .list{grid-template-columns:repeat(auto-fill,minmax(24rem,1fr))}}
