.idea-menu { margin-top: 18px; }
.idea-menu > button { width: 100%; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 16px; padding: 20px; border: 1px solid #ffd84d; border-radius: 18px; background: linear-gradient(135deg, #171717, #292300); color: #fff; text-align: left; box-shadow: 0 12px 30px #00000018; }
.idea-menu > button:hover { transform: translateY(-1px); box-shadow: 0 16px 34px #0002; }
.idea-menu .idea-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: #ffd600; color: #111; font-size: 26px; }
.idea-menu small { display: block; color: #ffd84d; font-weight: 800; letter-spacing: .06em; }
.idea-menu strong { display: block; margin-top: 3px; font-size: 18px; }
.idea-menu p { margin: 5px 0 0; color: #e8e8e8; }
.idea-menu b { color: #ffd84d; white-space: nowrap; }
.idea-modal textarea { min-height: 180px; }
.modal-badge.idea { background: #ffd600; color: #111; }
.ideas-info { margin: 0 0 18px; padding: 14px 16px; border-radius: 12px; background: #fff8d6; border: 1px solid #ffe36e; color: #5b4b00; }
.idea-row { align-items: flex-start; }
.idea-row strong { white-space: pre-wrap; }
.idea-row.presented { border-left: 4px solid #ffd600; }
.idea-row.archived { opacity: .7; }
.idea-actions { min-width: 190px; }
.ideas-admin .material-count { background: #fff1a6; color: #554500; }
@media (max-width: 720px) {
  .idea-menu > button { grid-template-columns: 44px 1fr; padding: 16px; }
  .idea-menu > button > b { grid-column: 2; }
  .idea-menu .idea-icon { width: 42px; height: 42px; }
  .idea-actions { min-width: 0; width: 100%; }
}
.statistics-summary{grid-template-columns:repeat(4,1fr)}
@media (max-width:760px){.statistics-summary{grid-template-columns:repeat(2,1fr)}}
.calendar-head{gap:1rem;align-items:center}.calendar-year-controls{display:flex;align-items:center;gap:.65rem;background:#f4f7fb;border:1px solid #dbe3ee;border-radius:14px;padding:.35rem}.calendar-year-controls button{width:2.35rem;height:2.35rem;padding:0;border-radius:10px}.calendar-year-controls strong{min-width:3.2rem;text-align:center;font-size:1.05rem}.calendar-summary{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.calendar-summary span{background:#f5f7fa;border:1px solid #e1e6ed;border-radius:999px;padding:.45rem .75rem;font-size:.9rem}.calendar-summary b{margin-right:.2rem}.year-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.calendar-month{border:1px solid #dfe5ec;border-radius:16px;background:#fff;min-height:150px;overflow:hidden}.calendar-month>header{display:flex;justify-content:space-between;align-items:center;padding:.8rem .9rem;background:#f5f7fa;text-transform:capitalize}.calendar-month>header span{display:grid;place-items:center;min-width:1.7rem;height:1.7rem;border-radius:999px;background:#e7edf4;font-size:.78rem}.calendar-events{display:grid;gap:.45rem;padding:.65rem}.calendar-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .5rem;border-left:4px solid #78909c;background:#f7f9fb;border-radius:8px;padding:.5rem .55rem}.calendar-event>div{display:flex;flex-direction:column;min-width:0}.calendar-event strong{font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small,.calendar-event>span{font-size:.72rem;color:#566273}.calendar-event.vacation{border-left-color:#f4ae23;background:#fff9eb}.calendar-event.vacation.pending{border-left-style:dashed}.calendar-event.sick{border-left-color:#d9534f;background:#fff2f1}.calendar-event.day_off{border-left-color:#337ab7;background:#eef7ff}.calendar-event.school{border-left-color:#7952b3;background:#f6f1ff}.overlap-count{grid-column:1/-1;color:#9b3c28;font-size:.7rem}.calendar-empty{padding:1.1rem .8rem;color:#7b8794;font-size:.82rem}.overlap-warning-list{display:grid;gap:.55rem;max-height:260px;overflow:auto;margin:1rem 0}.overlap-warning-list article{display:flex;flex-direction:column;border-left:4px solid #f4ae23;background:#fff8e5;border-radius:8px;padding:.65rem .75rem}.overlap-warning-list span{font-size:.86rem;color:#566273}.privacy-admin-note{font-size:.83rem;color:#566273;background:#eef4fa;border-radius:8px;padding:.65rem}.sickness-notice{background:#fff2f1;border:1px solid #f0c9c6;border-radius:12px;padding:.8rem;margin:.85rem 0}.sickness-notice strong{font-size:.92rem}.sickness-notice p{margin:.25rem 0 0;font-size:.86rem}.sickness-confirmations{display:grid;gap:.55rem;margin:.85rem 0}.sickness-confirmations label{display:flex;align-items:flex-start;gap:.6rem;border:1px solid #dfe5ec;border-radius:10px;padding:.7rem;cursor:pointer}.sickness-confirmations input{width:1.15rem;height:1.15rem;margin-top:.1rem}.absence-action.sick>span{background:#fff0ef;color:#b83d38}
@media(max-width:1100px){.year-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.year-calendar-grid{grid-template-columns:1fr}.calendar-head{align-items:flex-start}.calendar-event{grid-template-columns:1fr}.calendar-event>span{grid-column:1}.absence-request-grid{grid-template-columns:1fr}}
.birthday-required-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#111a2b,#243958)}.birthday-required-card{width:min(520px,100%);display:grid;gap:16px;background:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 70px #0005}.birthday-required-card h1,.birthday-required-card p{margin:0}.birthday-required-card label{display:grid;gap:7px;font-weight:700}.birthday-required-card input{min-height:48px;border:1px solid #ccd6e2;border-radius:12px;padding:0 14px;font:inherit}.birthday-required-card>small{color:#667487;line-height:1.45}.birthday-symbol{font-size:44px}.next-birthday-card{display:flex;align-items:center;gap:15px;margin:16px 0;padding:16px 18px;border:1px solid #f1cf70;border-radius:18px;background:linear-gradient(135deg,#fff9df,#fff);box-shadow:0 8px 26px #d49b1b18}.next-birthday-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#ffe69a;font-size:26px}.next-birthday-card div{display:grid}.next-birthday-card small{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#8a6500}.next-birthday-card strong{font-size:1.12rem}.next-birthday-card p{margin:2px 0 0;color:#596477}.birthday-alerts{display:grid;gap:8px;margin-bottom:16px}.birthday-alerts article{display:flex;gap:13px;align-items:center;padding:14px 16px;border-radius:15px;border:1px solid #efc957;background:#fff7d7}.birthday-alerts article>span{font-size:28px}.birthday-alerts article div{display:grid}.birthday-alerts small{color:#6b5a20}.birthday-admin-list{display:grid;gap:9px}.birthday-admin-list article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #e0e6ed;border-radius:13px}.birthday-admin-list article>span{font-size:25px}.birthday-admin-list article div{display:grid}.birthday-admin-list small{color:#687587}.birthday-admin-list b{font-size:.85rem;color:#4b5b70}@media(max-width:650px){.birthday-required-card{padding:23px}.birthday-admin-list article{grid-template-columns:38px 1fr}.birthday-admin-list article>b{grid-column:2}.next-birthday-card{margin:12px 0}}
.manager-button{background:#ffd600!important;color:#172033!important;border-color:#e5c000!important;font-weight:800}.manager-scope-note{margin-bottom:16px;padding:13px 15px;border:1px solid #cdd9e7;border-radius:13px;background:#eef5fb;color:#405269;font-size:.9rem}.attendance-admin-layout .manager-back{margin-top:auto;background:#ffd600;color:#172033;border:0;border-radius:11px;padding:12px;font-weight:800}.attendance-admin-layout .admin-sidebar>.logout{margin-top:8px}@media(max-width:800px){.manager-button{font-size:.8rem;padding:.55rem .65rem}.attendance-admin-layout .manager-back{margin-top:8px}}
