.admin-modal-wrapper{background-color:#000000b3;box-sizing:border-box;display:block;inset:0;overflow-y:auto;padding:30px 20px;position:fixed;z-index:1000}.admin-modal{animation:modalFadeIn .25s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:10px;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;margin:0 auto 30px;max-height:none;max-width:360px;min-width:0;overflow:visible;padding:0;width:100%}.admin-modal-header{align-items:center;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 18px;position:relative}.admin-modal-header h3{color:#111827;font-size:1rem;font-weight:600;margin:0}.admin-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#4b5563;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;margin:-5px -5px 0 0;padding:0;transition:color .2s;width:28px}.admin-modal-close:hover{background-color:#e5e7eb;color:#111827}.admin-modal-body{max-height:calc(90vh - 110px);overflow-y:auto;padding:16px 18px}.admin-modal-body form{margin:0;width:100%}.admin-modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.admin-modal .admin-form-group{margin-bottom:12px;width:100%}.admin-modal .admin-form-group label{color:#4b5563;display:block;font-size:.85rem;font-weight:500;margin-bottom:4px}.admin-modal .admin-form-group input,.admin-modal .admin-form-group select{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-size:.9rem;padding:7px 10px;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-15px) scale(.98)}to{opacity:1;transform:translateY(-2vh) scale(1)}}.admin-modal[data-modal-type=edit] .admin-modal-header{border-left:none;position:relative}.admin-modal[data-modal-type=edit] .admin-modal-header:before{background-color:#3b82f6;border-top-left-radius:8px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.admin-modal[data-modal-type=delete] .admin-modal-header{border-left:none;position:relative}.admin-modal[data-modal-type=delete] .admin-modal-header:before{background-color:#ef4444;border-top-left-radius:8px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.admin-modal .admin-btn{border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 14px;transition:all .15s ease}.admin-modal .admin-btn-primary{background-color:#5b21b6;border:none;color:#fff}.admin-modal .admin-btn-primary:hover{background-color:#4c1d95}.admin-modal .admin-btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.admin-modal .admin-btn-secondary:hover{background-color:#e5e7eb}.admin-modal .admin-btn-danger{background-color:#ef4444;border:none;color:#fff}.admin-modal .admin-btn-danger:hover{background-color:#dc2626}@media (max-width:640px){.admin-modal{max-width:350px;width:95%}.admin-modal-footer{flex-direction:column}.admin-modal-footer button{margin-bottom:6px;width:100%}.admin-modal-footer button:last-child{margin-bottom:0}}@media (max-width:480px){.admin-modal{max-width:98vw;min-width:0}}.global-notification-banner{align-items:center;animation:slide-down .3s ease-in-out;border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;left:auto;max-width:90vw;min-height:50px;padding:12px 20px;position:fixed;right:32px;top:50px;width:420px;z-index:9999}@media (max-width:600px){.global-notification-banner{border-radius:0 0 8px 8px;left:1vw;min-width:0;min-width:auto;right:8px;width:98vw}}.global-notification-banner.info{background-color:#4299e1}.global-notification-banner.success{background-color:#48bb78}.global-notification-banner.warning{background-color:#ecc94b}.global-notification-banner.error{background-color:#f56565}.global-notification-banner.calendar-share,.global-notification-banner.calendar_transfer{background-color:#805ad5}.global-notification-banner.welcome{background-color:#38b2ac}.global-notification-banner .notification-icon{flex-shrink:0;font-size:1.2rem;margin-right:12px}.global-notification-banner .notification-content{flex-grow:1;margin-right:12px;position:relative}.global-notification-banner .notification-content strong{display:block;font-weight:600;margin-bottom:3px}.global-notification-banner .notification-title-bold{color:#fff;display:block;font-size:1.08em;font-weight:800;letter-spacing:.01em;margin-bottom:3px;text-shadow:0 1px 2px #0000001a}.global-notification-banner .notification-counter{align-items:center;display:flex;font-size:.8rem;margin-top:5px;opacity:.8}.global-notification-banner .timer-bar{background-color:#ffffff4d;border-radius:2px;height:3px;margin-left:8px;overflow:hidden;width:100px}.global-notification-banner .timer-progress{background-color:#fffc;height:100%;transition:width 1s linear}.global-notification-banner .nav-button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;opacity:.7;padding:0 6px;transition:opacity .2s,transform .2s;width:30px}.global-notification-banner .nav-button:hover{opacity:1;transform:scale(1.1)}.global-notification-banner .prev-button{margin-right:5px}.global-notification-banner .next-button{margin-left:5px}.global-notification-banner .dismiss-button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1rem;opacity:.8;padding:0;transition:opacity .2s}.global-notification-banner .dismiss-button:hover{opacity:1}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.notification-active .App{margin-top:50px;transition:margin-top .3s ease-in-out}