.attendance-hero{text-align:center;padding-top:140px;padding-bottom:40px}@media(max-width:991px){.attendance-hero{padding-top:110px}}.free-banner{display:inline-flex;align-items:center;gap:10px;background:#10b98126;border:2px solid rgba(16,185,129,.4);border-radius:100px;padding:10px 24px;margin-bottom:28px;animation:pulse-border 3s ease-in-out infinite}.free-banner .dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:blink 2s ease-in-out infinite}.free-banner span{font-size:13px;font-weight:700;color:#10b981;letter-spacing:.8px;text-transform:uppercase}@keyframes pulse-border{0%,to{border-color:#10b98166;box-shadow:0 0 #10b9811a}50%{border-color:#10b981;box-shadow:0 0 0 8px #10b98100}}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hero-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.15;letter-spacing:-1px;margin-bottom:1rem;color:var(--text-primary)}.hero-title .highlight{position:relative;color:var(--primary-color);display:inline-block}.hero-title .highlight:after{content:"";position:absolute;bottom:4px;left:-2%;width:104%;height:12px;background:var(--primary-color);opacity:.2;border-radius:4px;z-index:-1}.hero-sub{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-secondary);max-width:560px;margin:0 auto 1rem;font-weight:400}.attendance-card{max-width:900px;margin:0 auto 60px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(max-width:768px){.attendance-card{padding:20px 16px;border-radius:16px;margin:0 12px 40px}}.info-section{margin-bottom:24px}.info-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.info-row{grid-template-columns:1fr}}.info-field label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.info-field label i{color:var(--primary-color)}.form-input{width:100%;padding:14px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);font-size:15px;transition:all .2s ease}.form-input::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.form-input:focus{outline:none;border-color:var(--primary-color);background:#ffffff14;box-shadow:0 0 0 4px #8a6ab326}.month-selector{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.month-nav{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.month-nav:hover{background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.05)}.month-nav i{font-size:18px}.month-display{text-align:center;min-width:180px}.month-display .month-name{display:block;font-size:24px;font-weight:700;color:var(--text-primary)}.month-display .month-year{display:block;font-size:14px;color:var(--text-secondary)}.quick-actions{display:flex;justify-content:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#8a6ab326;border:2px solid rgba(138,106,179,.3);border-radius:100px;color:var(--primary-color);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.action-btn.secondary{background:#ffffff0d;border-color:#ffffff26;color:var(--text-secondary)}.action-btn.secondary:hover{background:#ffffff1a;color:var(--text-primary)}.calendar-wrapper{margin-bottom:24px;overflow:visible;position:relative;z-index:1}.weekday-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.weekday-header{text-align:center;padding:10px;font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;overflow:visible}@media(max-width:640px){.calendar-grid{gap:4px}}.calendar-day{aspect-ratio:1;min-height:80px;background:#ffffff08;border:2px solid rgba(255,255,255,.08);border-radius:12px;padding:8px;display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;position:relative;overflow:visible}@media(max-width:640px){.calendar-day{min-height:65px;padding:6px;border-radius:8px}}.calendar-day:hover:not(.empty){border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #8a6ab333;z-index:10}.calendar-day.empty{background:transparent;border-color:transparent;cursor:default}.calendar-day.weekend,.calendar-day.holiday{background:#ffffff05;border-color:#ffffff0d}.calendar-day.weekend .day-number,.calendar-day.holiday .day-number{color:var(--text-secondary);opacity:.6}.calendar-day.work{background:#10b9811a;border-color:#10b9814d}.calendar-day.work .day-number{color:#10b981}.calendar-day.vacation{background:#fbbf241a;border-color:#fbbf244d}.calendar-day.vacation .day-number{color:#fbbf24}.calendar-day.sick{background:#ef44441a;border-color:#ef44444d}.calendar-day.sick .day-number{color:#ef4444}.calendar-day.off{background:#ffffff05}.calendar-day.off .day-number{color:var(--text-secondary)}.day-number{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}@media(max-width:640px){.day-number{font-size:13px}}.day-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.time-inputs{display:flex;align-items:center;gap:2px;width:100%;justify-content:center}.time-input{width:40px;padding:3px 2px;background:#ffffff1a;border:1px solid rgba(16,185,129,.4);border-radius:4px;color:#10b981;font-size:11px;font-weight:600;text-align:center}.time-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.time-input::-moz-placeholder{color:#10b98180}.time-input::placeholder{color:#10b98180}@media(max-width:640px){.time-input{width:32px;font-size:9px;padding:2px 1px}}.time-sep{color:var(--text-secondary);font-size:10px}.hours-display{font-size:9px;color:var(--text-secondary);margin-top:2px}@media(max-width:640px){.hours-display{font-size:8px}}.hours-input{width:100%;max-width:50px;padding:4px;background:#ffffff1a;border:1px solid rgba(16,185,129,.4);border-radius:6px;color:#10b981;font-size:14px;font-weight:700;text-align:center}.hours-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b98133}.hours-input::-webkit-inner-spin-button,.hours-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media(max-width:640px){.hours-input{font-size:12px;padding:2px}}.hours-label{font-size:10px;color:var(--text-secondary);display:none}@media(min-width:768px){.hours-label{display:block}}.status-icon{font-size:18px}.status-icon.vacation{color:#fbbf24}.status-icon.sick{color:#ef4444}.status-icon.holiday{color:var(--primary-color)}@media(max-width:640px){.status-icon{font-size:14px}}.status-text{font-size:10px;color:var(--text-secondary);text-align:center;line-height:1.2}.status-text.off{opacity:.5}@media(max-width:640px){.status-text{font-size:8px;display:none}}.day-indicator{position:absolute;bottom:4px;right:4px}.indicator-dot{display:block;width:6px;height:6px;border-radius:50%}.indicator-dot.work{background:#10b981}.indicator-dot.vacation{background:#fbbf24}.indicator-dot.sick{background:#ef4444}.status-menu{position:absolute;top:calc(100% - 8px);left:50%;transform:translate(-50%);z-index:100;background:#1e1e2f;border:2px solid rgba(138,106,179,.5);border-radius:12px;padding:16px 8px 8px;display:flex;flex-direction:column;gap:4px;min-width:130px;box-shadow:0 8px 24px #000000b3;animation:menuFadeIn .15s ease}.status-menu:before{content:"";position:absolute;top:-12px;left:0;right:0;height:20px;background:transparent}@media(max-width:640px){.status-menu{min-width:110px;padding:14px 6px 6px}}@keyframes menuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.status-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:left}.status-menu-item i{font-size:14px}.status-menu-item:hover{background:#ffffff1a;color:var(--text-primary)}.status-menu-item.active{background:#8a6ab333;color:var(--primary-color)}.status-menu-item.work i{color:#10b981}.status-menu-item.work:hover,.status-menu-item.work.active{background:#10b98126;color:#10b981}.status-menu-item.vacation i{color:#fbbf24}.status-menu-item.vacation:hover,.status-menu-item.vacation.active{background:#fbbf2426;color:#fbbf24}.status-menu-item.sick i{color:#ef4444}.status-menu-item.sick:hover,.status-menu-item.sick.active{background:#ef444426;color:#ef4444}.status-menu-item.off i{color:var(--text-secondary)}.status-menu-item.off:hover,.status-menu-item.off.active{background:#ffffff1a}@media(max-width:640px){.status-menu-item{padding:6px 10px;font-size:11px}}.checkbox-option{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:100px;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.checkbox-option:hover{background:#ffffff1a;color:var(--text-primary)}.checkbox-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:16px;background:#ffffff08;border-radius:12px;margin-bottom:24px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot.work{background:#10b981}.legend-dot.vacation{background:#fbbf24}.legend-dot.sick{background:#ef4444}.legend-dot.off{background:#fff3}.legend-dot.holiday{background:var(--primary-color)}.summary-section{margin-bottom:24px}.summary-card{display:flex;justify-content:center;align-items:center;gap:24px;padding:20px;background:linear-gradient(135deg,#8a6ab31a,#584fa81a);border:1px solid rgba(138,106,179,.2);border-radius:16px;flex-wrap:wrap}@media(max-width:640px){.summary-card{gap:16px;padding:16px}}.summary-item{text-align:center}.summary-value{display:block;font-size:28px;font-weight:800;color:var(--primary-color)}@media(max-width:640px){.summary-value{font-size:22px}}.summary-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-divider{width:1px;height:40px;background:#ffffff1a}@media(max-width:640px){.summary-divider{display:none}}.action-section{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.btn-preview,.btn-print{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:100px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-preview{background:#ffffff0d;border:2px solid rgba(255,255,255,.15);color:var(--text-primary)}.btn-preview:hover{background:#ffffff1a;transform:translateY(-2px)}.btn-print{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;color:#fff;box-shadow:0 4px 20px #8a6ab366}.btn-print:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px #8a6ab380}.btn-print:disabled{opacity:.5;cursor:not-allowed}.preview-modal{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;overflow-y:auto}.preview-content{position:relative;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:16px;padding:24px}.preview-close{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0000001a;border:none;border-radius:50%;cursor:pointer;color:#333;transition:all .2s ease;z-index:10}.preview-close:hover{background:#0003}.preview-wrapper{background:#fff}.preview-actions{display:flex;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.btn-print-preview{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:#8a6ab3;border:none;border-radius:100px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-print-preview:hover{background:#7559a0;transform:translateY(-2px)}.pdf-page{font-family:Arial,sans-serif;color:#000;padding:20px}.pdf-title{text-align:center;font-size:20px;font-weight:700;letter-spacing:2px;margin-bottom:20px}.pdf-info{margin-bottom:20px}.pdf-info-row{display:flex;margin-bottom:8px}.pdf-info-box{display:flex;align-items:center;border:1px solid #000;padding:8px 12px;font-size:12px}.pdf-info-box.company{width:50%}.pdf-info-box.employee{flex:1}.pdf-info-box.year,.pdf-info-box.month{width:80px;justify-content:center;margin-left:-1px}.pdf-info-box .label{margin-right:8px}.pdf-info-box .value{font-weight:700}.pdf-tables{display:flex;gap:16px}.pdf-table-col{flex:1}.pdf-table{width:100%;border-collapse:collapse;font-size:11px}.pdf-table th,.pdf-table td{border:1px solid #000;padding:6px;text-align:center;height:16px}.pdf-table th{background:#f5f5f5;font-weight:700}.pdf-table .day-num{width:30px;font-weight:700}.pdf-table .type-cell{width:70px;text-align:left;padding-left:6px;font-size:10px}.pdf-table .type-cell .time-value{font-weight:700;margin-left:3px}.pdf-table .sign-cell{width:50px;min-height:32px}.pdf-table .hours-cell{width:55px;font-size:9px}.pdf-table .hours-cell.crossed-out{text-decoration:line-through;color:#999}.pdf-footer-preview{text-align:right;margin-top:16px;padding-top:8px;font-size:10px;color:#888}.pdf-footer-preview a{color:#888;text-decoration:none}.pdf-footer-preview a:hover{color:var(--primary-color)}
