.notice[role=alert]{border-color:#f3838380;color:#ffd3d3}.loading{padding:50px;text-align:center;color:#aaa}
.capturePreview img{width:100%;max-height:260px;object-fit:contain;margin-top:12px;border-radius:12px}
.captureGrid figure{margin:0;min-width:0}.captureGrid img{width:100%;object-fit:contain}.captureGrid figcaption{color:#aaa;font-size:12px;margin:12px 0}
.captureGrid button{width:100%;padding:0;overflow:hidden;background:none;border:0;cursor:zoom-in}
.imageDialog{background:#080808;color:white;border:1px solid #444;border-radius:16px;max-width:95vw;max-height:95vh}
.imageDialog::backdrop{background:#000c;backdrop-filter:blur(12px)}.imageDialog img{max-width:90vw;max-height:80vh;object-fit:contain}.imageDialog .button{display:block;margin:0 0 10px auto}
.storageMeter{height:6px;background:#222;border-radius:9px;overflow:hidden;margin:16px 0}.storageMeter span{display:block;height:100%;background:#aaa}
.authCard .button:disabled,button:disabled{opacity:.45;cursor:wait}.formStatus{margin:12px 0;font-size:13px;line-height:1.6}
.toast{position:fixed;bottom:25px;right:25px;z-index:100;max-width:420px;background:#202020ee;border:1px solid #666;padding:18px;border-radius:15px}
.calendarGrid .day{cursor:pointer;text-align:left;background:transparent;color:inherit;border:1px solid #ffffff0e}
.calendarGrid .day.pos{background:#21c88925;border-color:#32e19b70}.calendarGrid .day.neg{background:#ff44622b;border-color:#ff597c70}
.calendarGrid .day.selected{outline:2px solid #ddd}.calendarGrid .day .pnl{display:block;margin-top:14px}.calendarGrid .day .count{display:block}
.accountRow button{flex-shrink:0}.authIntro p{color:#999}.main{min-height:80vh}
.weekTools .labelled{font-size:12px}.captureGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.weeklyFields{max-width:820px}.field textarea{resize:vertical}.empty a{margin-top:15px}
.dialogActions{display:flex;gap:12px;justify-content:flex-end}.confirmDialog{background:#141414;color:#eee;border:1px solid #555;border-radius:18px;padding:28px;max-width:500px}.confirmDialog::backdrop{background:#000a;backdrop-filter:blur(10px)}
@media(max-width:650px){.captureGrid{grid-template-columns:1fr}.toast{left:16px;right:16px;bottom:16px}.authIntro h1{font-size:32px}}
.filters>.labelled,.filters>label,.editorGrid>.field{min-width:0}
.communityCalendar{margin-bottom:22px;scroll-margin-top:20px}
.communityBalances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.communityBalances span,.communityStudent small{display:block;color:#999;font-size:12px;margin-bottom:8px}
.communityBalances strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.communityBalances small{font-size:12px}.communityDay{border-top:1px solid #ffffff1a;margin-top:24px;padding-top:10px}
.communityStudent{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #ffffff12}
.communityStudent>div{overflow-wrap:anywhere}.communityStudent small{margin:6px 0 0}
.filters input,.filters select,.editorGrid input,.editorGrid select{min-width:0;max-width:100%}
@media(max-width:650px){
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
  .filters>label:has(input[type=month]),.filters>label:has(input[type=date]){grid-column:1/-1}
  .filters input,.filters select{width:100%;font-size:16px}
  .editorGrid input,.editorGrid select,.editorGrid textarea{font-size:16px}
  .communityBalances{gap:10px}.communityBalances strong{font-size:18px}.communityBalances small{display:block;margin-top:4px}
  .communityStudent{grid-template-columns:minmax(0,1fr) auto;gap:10px}.communityStudent>.button{grid-column:1/-1}
  .communityCalendar .day .pnl{font-size:clamp(8px,2.5vw,12px)}
}
