.idea-menu { margin-top: 18px; }
.idea-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.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.app-idea-button{border-color:#84aee2;background:linear-gradient(135deg,#13213e,#1c3a68)}
.idea-menu > button.app-idea-button .idea-icon{background:#4d8ddd;color:#fff}.idea-menu > button.app-idea-button small,.idea-menu > button.app-idea-button>b{color:#bcd8fb}
.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%; }
}
.app-idea-notice{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;margin:14px 0;padding:14px 16px;border:1px solid #b8cceb;border-radius:16px;background:#eef5ff;color:#24334e}
.app-idea-notice>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#3479cd;color:#fff;font-size:22px}.app-idea-notice strong,.app-idea-notice p{margin:0}.app-idea-notice p{margin-top:3px;font-size:.88rem}.app-idea-notice button{border:0;border-radius:10px;background:#172449;color:#fff;padding:10px 13px;font-weight:800}.app-idea-notice.implemented{border-color:#9bd8bd;background:#edfaf4}.app-idea-notice.implemented>span{background:#16815a}.app-idea-notice.rejected{border-color:#e5c6c6;background:#fff2f2}.app-idea-notice.rejected>span{background:#a74444}
.app-idea-notice.company{border-color:#ead16b;background:#fff9dc}.app-idea-notice.company>span{background:#d7a900;color:#fff}
.app-idea-modal{width:min(94vw,900px);max-height:94vh;overflow:auto;text-align:left}.app-idea-modal>h2,.app-idea-modal>p{text-align:center}.app-idea-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.app-idea-form label,.app-implementation-tools label{display:grid;gap:6px;font-size:.84rem;font-weight:800;color:#26344d}.app-idea-form label:nth-child(n+3){grid-column:1/-1}.app-idea-form input,.app-idea-form select,.app-idea-form textarea,.app-implementation-tools input,.app-implementation-tools textarea{width:100%;border:1px solid #d7dee8;border-radius:11px;padding:11px 12px;background:#fff;color:#17233c;font:inherit}.app-idea-form textarea{min-height:110px;resize:vertical}.app-idea-form textarea.compact{min-height:78px}.app-idea-form input:focus,.app-idea-form select:focus,.app-idea-form textarea:focus,.app-implementation-tools input:focus,.app-implementation-tools textarea:focus{outline:2px solid #3479cd2c;border-color:#3479cd}.app-idea-file input{padding:8px}.app-idea-file small{font-weight:600;color:#5f6d80}
.employee-app-ideas{display:grid;gap:9px;max-height:390px;overflow:auto;margin:16px 0;padding:13px;border:1px solid #dce3ed;border-radius:14px;background:#f6f8fb}.employee-app-ideas h3{margin:0 0 2px;font-size:15px}.employee-app-idea{display:grid;gap:8px;padding:13px;border:1px solid #e0e5ed;border-left:4px solid #eeae35;border-radius:11px;background:#fff}.employee-app-idea.reviewing{border-left-color:#3479cd}.employee-app-idea.waiting_employee{border-left-color:#7547bd}.employee-app-idea.planned{border-left-color:#d5aa00}.employee-app-idea.in_progress{border-left-color:#e26c2b}.employee-app-idea.implemented{border-left-color:#23a56f}.employee-app-idea.rejected,.employee-app-idea.archived{border-left-color:#8a93a3}.employee-app-idea header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.employee-app-idea header div{display:grid;gap:2px}.employee-app-idea header small{color:#6d7789}.employee-app-idea>p{margin:0;white-space:pre-wrap;line-height:1.45}.idea-benefit,.idea-decision-note,.planned-version{padding:9px 10px;border-radius:9px;background:#f2f5f9;color:#33425b}.idea-decision-note{background:#eaf3ff}.planned-version{background:#fff8d6}.idea-status{display:inline-flex;width:max-content;border-radius:999px;padding:5px 9px;background:#edf0f5;color:#4c596d;font-size:.72rem;font-weight:900}.idea-status.waiting_employee{background:#f1eaff;color:#6a3aac}.idea-status.planned{background:#fff4bf;color:#705b00}.idea-status.in_progress{background:#fff0e8;color:#9a491d}.idea-status.implemented{background:#e8f8f1;color:#16815a}.idea-status.rejected{background:#fff0f0;color:#983c3c}
.employee-app-idea.accepted,.implementation-row.accepted{border-left-color:#239b69}.employee-app-idea.prize_candidate,.implementation-row.prize_candidate{border-left-color:#d8a900}.employee-app-idea.winner,.implementation-row.winner{border-left-color:#c58b00;background:#fffdf3}.idea-status.accepted{background:#e8f8f1;color:#16815a}.idea-status.prize_candidate,.idea-status.winner{background:#fff2b3;color:#6f5700}.prize-note{padding:10px 12px;border:1px solid #f0cf57;border-radius:10px;background:#fff8d8;color:#675100;font-weight:750}.company-idea-form{grid-template-columns:1fr}.company-idea-form label:nth-child(n){grid-column:1}.company-ideas-admin .material-count{background:#fff1a6;color:#554500}
.app-idea-conversation{display:grid;gap:7px}.app-idea-conversation>div{padding:9px 11px;border-radius:9px}.app-idea-conversation small{display:block;font-weight:800}.app-idea-conversation p{margin:3px 0 0;white-space:pre-wrap;line-height:1.45}.app-idea-conversation .admin{background:#eaf3ff;color:#24334e}.app-idea-conversation .employee{background:#f1eaff;color:#3b2866}.app-idea-answer{display:grid;gap:8px}.app-idea-answer textarea{min-height:72px;border:1px solid #d7dee8;border-radius:10px;padding:10px;font:inherit}.app-idea-answer button{justify-self:end;border:0;border-radius:9px;background:#3479cd;color:#fff;padding:9px 12px;font-weight:800}.app-idea-answer button:disabled{opacity:.55}
.app-idea-attachment{display:grid;width:min(260px,100%);gap:5px;color:#2869b4;text-decoration:none;font-size:.78rem;font-weight:800}.app-idea-attachment img{display:block;width:100%;max-height:170px;object-fit:cover;border:1px solid #d6deea;border-radius:10px}.attachment-loading{color:#6c7788}
.app-idea-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.app-idea-tabs button{white-space:nowrap}.implementation-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.implementation-row.new{border-left:4px solid #eeae35}.implementation-row.reviewing,.implementation-row.waiting_employee{border-left:4px solid #3479cd}.implementation-row.planned{border-left:4px solid #d5aa00}.implementation-row.in_progress{border-left:4px solid #e26c2b}.implementation-row.implemented{border-left:4px solid #23a56f}.implementation-row.rejected,.implementation-row.archived{border-left:4px solid #8a93a3}.implementation-summary{display:grid;align-content:start;gap:8px}.implementation-summary>small{color:#667487}.implementation-summary>strong{font-size:1.03rem}.implementation-summary>p{margin:0;white-space:pre-wrap}.app-implementation-tools{display:grid;gap:9px}.app-implementation-tools>textarea{min-height:78px;resize:vertical}.app-implementation-tools textarea.internal-note{min-height:70px;background:#fffbed}.app-implementation-tools .idea-actions{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-start}.idea-actions button{border:0;border-radius:9px;padding:9px 11px;font-size:.74rem;font-weight:850;background:#edf1f6;color:#33425b}.idea-actions button.question{background:#eaf3ff;color:#2869b4}.idea-actions button.complete{background:#e8f8f1;color:#16815a}.idea-actions button.reject{background:#fff0f0;color:#983c3c}.idea-actions button.archive{background:#eef0f4;color:#4e596b}.idea-actions button:disabled{opacity:.5}
.idea-actions button.prize,.idea-actions button.winner{background:#fff2b3;color:#6f5700}
@media(max-width:850px){.implementation-row{grid-template-columns:1fr}.app-idea-form{grid-template-columns:1fr}.app-idea-form label:nth-child(n){grid-column:1}.app-idea-notice{grid-template-columns:40px 1fr}.app-idea-notice button{grid-column:2;justify-self:start}.employee-app-idea header{display:grid}.app-idea-tabs{margin-left:-4px;margin-right:-4px}}
@media(max-width:850px){.idea-menu-grid{grid-template-columns:1fr}}
.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}}
