/* Reference-inspired burgundy / warm ivory theme; semantic attendance colours stay intact. */
html:root{--navy:#48141e;--blue:#8d1d2d;--bg:#fcf7f6;--line:#eadfe1;--muted:#766a74}
body{background:#fcf7f6}
.app .sidebar{background:#48141e;border-right:1px solid #6d3640}
.app .sidebar .brand{letter-spacing:.3px}
.app .sidebar .brand span{color:#fff}
.app .sidebar .nav button{color:#ecdde1;border-radius:14px}
.app .sidebar .nav button.active,.app .sidebar .nav button:hover{background:#70313d;color:#fff}
.app .sidebar .nav .num{color:#dcb6bc}
.app .main .topbar{padding-bottom:18px;border-bottom:1px solid #eadfe1}
.app .main .topbar h1{color:#48141e;letter-spacing:.4px}
.app .card{border-color:#eadfe1;border-radius:20px;box-shadow:0 5px 20px #48141e06}
.app .section-title{color:#362832}
.app .week-tabs button,.app .time-tabs button{border-radius:24px;border-color:#e4dcdf}
.app .week-tabs button.active,.app .time-tabs button.active{background:#fff0f1;border-color:#982b3d;color:#86192b}
.app .save{background:#8d1d2d;border-radius:12px}
.app .summary-grade-column{background:#fcf8f8;border-color:#eadfe1}
.app .summary-grade-column h3{color:#8d1d2d}
.app .info-panel{background:#48141e}
.app .stat .value{color:#48141e}
.app .stat{border-top:3px solid #ad6671}
.app #summaryOverview .summary-clock{background:#48141e!important;border-radius:20px!important;border:1px solid #78434d;box-shadow:0 8px 24px #48141e10}
.summary-clock small{color:#e8cbd1;letter-spacing:1px}
.stay-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.stay-heading .section-title{margin:5px 0 0}
.eyebrow{color:#996873;letter-spacing:1px;font-size:11px}
.stay-rule{background:#faf0ed;border:1px solid #f0dad2;border-radius:99px;color:#946047;padding:7px 10px;font-size:12px}
#summaryStayStudents{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:16px}
.stay-student{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:17px;border:1px solid #e7dde0;border-left:4px solid #b19aa0;border-radius:16px;background:#fffcfb}
.stay-person b{font-size:17px;overflow-wrap:anywhere}.stay-person small{display:block;color:#786c75;margin-top:6px;font-size:12px}
.stay-time{text-align:right}.stay-time small{display:block;font-size:11px;color:#786c75}.stay-time strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;margin-top:3px}
.stay-status{grid-column:1/-1;font-size:13px;font-weight:700}.stay-meal{grid-column:1/-1;color:#786c75;font-size:12px}
.stay-arrived{background:#edfaf3;border-color:#bbe5ce;border-left-color:#218457;color:#176740}
.stay-late{background:#fff1f2;border-color:#efc1c8;border-left-color:#c02d43;color:#a61931}
.stay-absent,.stay-exempt{background:#f5f4f5;color:#77717a;border-left-color:#a5a0a7}
.stay-absent{font-style:italic}.stay-unknown{border-left-color:#b2833c}
.stay-empty{grid-column:1/-1;background:#fcf8f8;border:1px dashed #dec9ce;border-radius:14px;padding:22px;text-align:center;color:#7b6570;font-size:13px}.stay-empty p{margin-bottom:0;line-height:1.7}
.alarm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eee2e5}
.alarm-toolbar button{border:1px solid #dcbfc6;background:white;color:#8d1d2d;border-radius:99px;padding:9px 13px;font:inherit;font-size:12px;min-height:40px;cursor:pointer}
.alarm-toolbar button[aria-pressed="true"]{background:#8d1d2d;color:white}
.alarm-toolbar button:disabled{opacity:.45;cursor:default}
#stayAlarmStatus{color:#7a626c;font-size:12px}.alarm-help{font-size:12px;color:#806f76;line-height:1.65;margin-bottom:0}
.app button:focus-visible{outline:3px solid #c48290;outline-offset:3px}
@media(max-width:900px){
 .app .sidebar .nav{background:#48141e}
 .app .sidebar .mobile-menu-toggle{background:#70313d;border-color:#a36c78;border-radius:99px}
 .app .main .topbar{padding-bottom:12px}
 .app .card{border-radius:20px!important}
 #summaryStayStudents{grid-template-columns:minmax(0,1fr)}
 .stay-heading{gap:9px}.stay-rule{font-size:11px}
 .stay-student{padding:14px}.stay-time strong{font-size:22px}
 .alarm-toolbar{gap:8px}.alarm-toolbar button{font-size:12px;padding:8px 10px}
 #stayAlarmStatus{flex-basis:100%}
}
