.drone-calendar-frontend{max-width:1200px;margin:0 auto;padding:20px;width:100%;box-sizing:border-box}.calendar-header{text-align:center;margin-bottom:30px}.calendar-header h2{color:#333;font-size:28px;margin-bottom:10px}.calendar-filters-frontend{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:30px;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.filter-row{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.filter-row label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:background 0.2s}.filter-row label:hover{background:#e9ecef}.filter-row input[type="radio"]{margin:0}#company-nip-section{margin-top:15px;padding:15px;background:#fff;border-radius:6px;border:1px solid #dee2e6}#company-nip-input{flex:1;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:16px}.calendar-filters-frontend input{margin:0}@supports (-webkit-appearance:none) or (-moz-appearance:none) or (appearance:none){.drone-calendar-frontend input[type='radio'],.drone-calendar-frontend input[type='checkbox']{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:21px;border-radius:11px;border:1px solid #BBC1E1;background:#fff;position:relative;cursor:pointer;outline:none;transition:background 0.3s,border-color 0.3s}.drone-calendar-frontend input[type='radio']::after,.drone-calendar-frontend input[type='checkbox']::after{content:'';position:absolute;left:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#BBC1E1;transition:transform 0.3s,background 0.3s}.drone-calendar-frontend input[type='radio']:checked,.drone-calendar-frontend input[type='checkbox']:checked{background:#334862;border-color:#334862}.drone-calendar-frontend input[type='radio']:checked::after,.drone-calendar-frontend input[type='checkbox']:checked::after{background:#fff;transform:translateX(17px)}.drone-calendar-frontend input[type='radio']:hover:not(:checked),.drone-calendar-frontend input[type='checkbox']:hover:not(:checked){border-color:#334862}.drone-calendar-frontend input[type='radio']:hover:not(:checked)::after,.drone-calendar-frontend input[type='checkbox']:hover:not(:checked)::after{background:#334862}}#calendar-go-btn-frontend{margin-bottom:-3px}#nip-status{margin-top:10px;font-size:14px;min-height:20px}.calendar-container-frontend{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgb(0 0 0 / .1);min-height:400px;overflow:visible;max-width:100%}.calendar-grid-wrapper-frontend{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid #dee2e6;background:#fff;box-shadow:0 2px 4px rgb(0 0 0 / .1);min-width:0}.calendar-grid-frontend{background:#fff;min-width:0;display:block}.calendar-table-frontend,.calendar-grid-frontend .calendar-table-frontend{width:100%;border-collapse:collapse}.event-card-frontend-inner{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;flex-wrap:wrap}.event-card-frontend-content{flex:1 1 280px;min-width:0}.event-card-frontend-actions{margin-left:20px;display:flex;flex-direction:column;gap:10px;align-items:center;flex-shrink:0}.event-card-frontend-actions .event-card-gcal-btn{width:100%;text-align:center;padding:10px 16px;font-size:14px;box-sizing:border-box}.calendar-grid-frontend table.calendar-table-frontend{width:100%}.calendar-grid-frontend thead tr{background:#007cba;color:#fff}.calendar-grid-frontend th{padding:15px;text-align:center;border:1px solid rgb(255 255 255 / .2);font-weight:600}.calendar-grid-frontend td{padding:10px;border:1px solid #dee2e6;vertical-align:top;min-height:120px;background:#fff}.calendar-grid-frontend td:hover{background:#f8f9fa}.day-events-frontend{font-size:12px}.event-item-frontend{margin-bottom:6px;padding:6px;background:#e7f3ff;border-left:3px solid #007cba;border-radius:4px;cursor:pointer;transition:all 0.2s}.event-item-frontend:hover{background:#d0e7ff;transform:translateX(2px);box-shadow:0 2px 4px rgb(0 0 0 / .1)}.register-btn-frontend{width:100%;padding:4px;font-size:10px;background:#007cba;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background 0.2s}.register-btn-frontend:hover{background:#005a87}.events-list-frontend{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:visible;max-width:100%}.events-list-items{padding:20px;max-width:100%;box-sizing:border-box}.event-card-frontend{margin-bottom:20px;padding:20px;border:1px solid #dee2e6;border-radius:8px;background:#fff;box-shadow:0 2px 4px rgb(0 0 0 / .05);transition:box-shadow 0.2s;max-width:100%;box-sizing:border-box}.event-card-frontend:hover{box-shadow:0 4px 8px rgb(0 0 0 / .1)}.register-btn-frontend-list{padding:12px 24px;font-size:16px;white-space:nowrap;background:#007cba;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background 0.2s}.register-btn-frontend-list:hover{background:#005a87}.calendar-loading{text-align:center;padding:40px}#event-detail-modal-frontend.drone-event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;height:100dvh;min-height:-webkit-fill-available;background:rgb(0 0 0 / .5);z-index:100000;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden;-webkit-overflow-scrolling:touch}#event-detail-modal-frontend .drone-event-modal-inner,#event-detail-modal-frontend>div{background:#fff;padding:30px;border-radius:8px;max-width:600px;width:90%;max-height:min(85dvh, 85vh);overflow-y:auto;overflow-x:hidden;position:relative;box-shadow:0 4px 24px rgb(0 0 0 / .2);-webkit-overflow-scrolling:touch}#close-modal-frontend.drone-event-modal-close,#close-modal-frontend{position:absolute;top:10px;right:10px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#666;padding:12px;margin:-12px -12px 0 0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;z-index:2;border-radius:4px;transition:background 0.2s,color 0.2s}#close-modal-frontend:hover{color:#000;background:#f0f0f0}#event-detail-content-frontend.drone-event-modal-body{padding-top:8px}.register-btn-modal{width:100%;padding:12px;font-size:16px;background:#007cba;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background 0.2s}.register-btn-modal:hover{background:#005a87}.event-card-dates,.event-card-location,.event-card-addresses{word-break:break-word}@media (max-width:1024px){.drone-calendar-frontend{padding:16px}.calendar-header h2{font-size:24px}.calendar-filters-frontend{padding:18px}.calendar-grid-wrapper-frontend{margin:0 -16px;border-radius:0}.calendar-grid-frontend table.calendar-table-frontend,.calendar-grid-frontend table{min-width:560px;width:max-content}.calendar-grid-frontend th,.calendar-grid-frontend td{padding:10px 8px}.view-toggle-frontend .button{min-height:44px;padding:10px 16px}}@media (max-width:768px){.drone-calendar-frontend{padding:12px}.calendar-header{margin-bottom:20px;margin-top:24px}.calendar-header h2{font-size:20px;line-height:1.3}.calendar-header h2 img{max-width:40px!important}.calendar-filters-frontend{padding:16px;margin-bottom:20px}.filter-row,.filter-row-event-type{flex-direction:column;align-items:flex-start;gap:12px}.filter-row label,.filter-row-event-type label{min-height:44px;padding:10px 12px;width:100%;box-sizing:border-box}.date-selector-frontend{flex-wrap:wrap;gap:12px}.date-selector-frontend label{flex:1 1 auto;min-width:0}.date-selector-frontend select{min-height:44px;padding:10px 12px;font-size:16px}#calendar-go-btn-frontend{min-height:44px;padding:10px 20px;width:100%}.view-toggle-frontend{flex-direction:column;width:100%}.view-toggle-frontend .button{width:100%;justify-content:center;min-height:48px}.calendar-container-frontend{min-height:320px}.calendar-grid-wrapper-frontend{margin:0 -12px}.calendar-grid-frontend table.calendar-table-frontend,.calendar-grid-frontend table{min-width:420px;width:max-content}.event-card-frontend-inner{flex-direction:column;gap:16px}.event-card-frontend-content{flex:1 1 auto;min-width:0;width:100%}.event-card-frontend-actions{margin-left:0;width:100%;max-width:100%;align-items:stretch;box-sizing:border-box}.event-card-frontend-actions .register-btn-frontend-list,.event-card-frontend-actions .button{width:100%;max-width:100%;box-sizing:border-box}.calendar-grid-frontend th,.calendar-grid-frontend td{padding:8px 6px;font-size:12px}.calendar-grid-frontend td{min-height:80px}.event-item-frontend{font-size:11px;padding:8px;min-height:44px;display:flex;flex-direction:column;justify-content:center}.events-list-items{padding:12px}.event-card-frontend{padding:16px}.event-card-frontend .event-card-details{margin-top:12px;padding:12px}.event-card-frontend .lessons-schedule-grid-frontend{grid-template-columns:1fr}.event-card-frontend .register-btn-frontend-list,.event-card-frontend-actions .button{min-height:48px;padding:14px 20px;font-size:16px;text-align:center;box-sizing:border-box}.event-card-frontend .register-btn-frontend-list+p{margin-top:4px}#event-detail-modal-frontend .drone-event-modal-inner,#event-detail-modal-frontend>div{width:100%;max-width:none;max-height:100%;max-height:100dvh;border-radius:0;padding:env(safe-area-inset-top,16px) env(safe-area-inset-right,16px) env(safe-area-inset-bottom,16px) env(safe-area-inset-left,16px);padding-top:56px}#close-modal-frontend{top:env(safe-area-inset-top,12px);right:env(safe-area-inset-right,12px)}.drone-event-detail-modal-content .drone-event-detail-actions{flex-direction:column;gap:12px}.drone-event-detail-modal-content .register-btn-modal,.drone-event-detail-modal-content .button[href*="calendar.google"]{width:100%;min-height:48px;padding:14px 20px;font-size:16px;box-sizing:border-box}}@media (max-width:480px){.drone-calendar-frontend{padding:10px}.calendar-header h2{font-size:18px}.calendar-filters-frontend{padding:12px}#company-nip-section{padding:12px}#company-nip-section .button{min-height:44px;width:100%}#company-nip-input{min-height:44px}.calendar-grid-frontend table{min-width:320px}.calendar-grid-frontend th,.calendar-grid-frontend td{padding:6px 4px;font-size:11px}.event-item-frontend strong{font-size:10px}.event-card-frontend{padding:12px}.event-card-frontend h3{font-size:18px}.event-card-frontend-inner{flex-direction:column;gap:12px}.event-card-frontend-actions{width:100%;max-width:100%;margin-left:0}}@media (hover:none) and (pointer:coarse){.event-item-frontend{min-height:48px}.filter-row label,.filter-row-event-type label{min-height:48px}.view-toggle-frontend .button{min-height:48px}}