.postit-header-icon{position:relative;width:40px;height:40px;background-image:url(/img/postit.png);background-size:contain;background-repeat:no-repeat;background-position:center;cursor:pointer;margin-left:15px;transition:transform .2s ease}.postit-header-icon:hover{transform:scale(1.1)}.postit-notification-badge{position:absolute;top:-5px;right:-5px;background-color:#d92525;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid #2c2c2c}.postit-bulletin-board-modal{display:flex;flex-wrap:wrap;gap:20px;padding:10px;max-height:70vh;overflow-y:auto;align-items:flex-start}.postit-note{width:140px;height:140px;background-image:url(/img/postit.png);background-size:100% 100%;background-repeat:no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;box-sizing:border-box;color:#333;cursor:pointer;transition:all .4s ease-in-out}.postit-note.expanded{width:320px;height:auto;min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:35px;padding-bottom:35px;cursor:default}.postit-note h4{margin:0;font-size:1.2em;font-weight:700;text-align:center}.postit-note .postit-content{display:none;margin-top:15px;text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.postit-note.expanded .postit-content{display:block}.postit-note .postit-content p{font-size:.9em;line-height:1.4;margin:0}.postit-note .postit-content img{width:100px;height:100px;object-fit:cover;border-radius:3px;margin-top:10px;display:block;margin-left:auto;margin-right:auto}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#2d2d2d;padding:25px;border-radius:10px;border:1px solid #444;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 5px 15px #00000080}.modal-content.wide-modal{max-width:900px}.modal-close-btn{position:absolute;top:10px;right:15px;background:none;border:none;color:#aaa;font-size:2.5em;cursor:pointer;line-height:1;transition:color .2s ease}.modal-close-btn:hover{color:#fff}.content-behind-modal{pointer-events:none;opacity:.5;transition:opacity .3s ease}.image-zoom-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000;cursor:zoom-out;animation:fadeIn .3s ease}.zoomed-image{max-width:95vw;max-height:95vh;object-fit:contain}#login-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;box-sizing:border-box}#login-screen h2{font-size:2.5em;font-weight:700;margin-bottom:30px;color:#fff}#login-screen form{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;width:100%;max-width:500px;margin-bottom:40px}#login-screen input[type=text],#login-screen input[type=password]{flex-grow:1;padding:15px;font-size:1em;border:1px solid #555;border-radius:8px;background-color:#f0f2f5;color:#333;margin:0}#login-screen button{padding:15px 30px;font-size:1em;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease;margin:0}#login-screen button:hover{background-color:#0056b3}#login-screen #login-message{color:#ff4d4d;margin-top:15px;min-height:1em}#login-screen .logo{width:80px;height:auto}.login-container{width:450px;margin:100px auto;padding:40px;background:#fff;box-shadow:0 5px 15px #0000001a;border-radius:10px}.input-container{display:flex;flex-direction:row;gap:10px}@media (max-width: 768px){#login-screen h2{font-size:2em}#login-screen form{flex-direction:column;align-items:stretch;max-width:100%}#login-screen #login-message{order:3}#login-screen .logo{margin-top:20px}}.carousel-viewport{width:100%;overflow:hidden;position:relative;border-radius:8px}.carousel-container-dynamic{display:flex;transition:transform .5s ease-in-out}.carousel-image-dynamic{width:100%;display:block}.carousel-slide{flex-shrink:0;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background-color:#000}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;padding:10px 15px;font-size:1.5em;cursor:pointer;transition:background-color .3s ease;border-radius:50%;z-index:10}.carousel-btn:hover{background-color:#000c}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}.flipbook-wrapper{display:flex;justify-content:center;align-items:center;padding:20px 0;width:100%}.flipbook-container{box-shadow:0 4px 15px #0003;max-width:100%}.flipbook-page{background-color:#fdfaf7;border:1px solid #c2b5a3;color:#333;display:flex;flex-direction:column}.flipbook-image-page{width:100%;height:100%;object-fit:contain;background-color:#fff}.flipbook-page .page-content{padding:20px;flex-grow:1;overflow-y:auto}.flipbook-page .page-content h1,.flipbook-page .page-content h2{color:#584935}.flipbook-page .page-footer{text-align:center;padding:10px;font-size:.8em;color:#888;border-top:1px solid #eee;flex-shrink:0}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:12px 15px;text-align:left}.user-table thead tr{border-bottom:2px solid #555}.user-table tbody tr{border-bottom:1px solid #444}.user-table .actions-cell{display:flex;gap:10px}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media (max-width: 768px){.user-table thead{display:none}.user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:98%}.user-table tr{margin-bottom:15px;border:1px solid #555;border-radius:8px;padding:10px}.user-table td{display:flex;justify-content:space-between;align-items:center;padding:8px 5px;border-bottom:1px solid #444;text-align:right;word-break:break-all}.user-table td:last-child{border-bottom:none}.user-table td:before{content:attr(data-label);font-weight:700;text-align:left;margin-right:15px;color:#ccc;width:110px;flex-shrink:0}.user-table .actions-cell{justify-content:flex-end}.user-form-grid{grid-template-columns:1fr}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-header{text-align:center;font-weight:700;padding:8px 4px;font-size:.8em;background-color:#3a3a3a}.calendar-day{border:1px solid #444;min-height:80px;padding:4px;font-size:.9em;transition:background-color .2s ease}.calendar-day.other-month{color:#666;background-color:#222}.calendar-day:not(.other-month):hover{background-color:#3c3c3c;cursor:pointer}.day-number{font-weight:700;font-size:.9em}.day-event{background-color:#007bff;color:#fff;border-radius:3px;padding:2px 4px;font-size:.7em;margin-top:4px;white-space:normal;overflow:hidden;word-break:break-word}.day-name-full{display:none}.day-name-initial{display:inline}@media (min-width: 768px){.calendar-grid{gap:5px}.calendar-header{padding:10px;font-size:1em}.calendar-day{min-height:120px;padding:5px}.day-name-full{display:inline}.day-name-initial{display:none}.day-event{font-size:.8em}}.calendar-navigation{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:20px}.calendar-navigation-row{display:flex;justify-content:space-between;align-items:center;width:100%}.calendar-navigation .btn{padding:10px 15px;flex-shrink:0}.calendar-navigation h2{margin:0 10px;text-align:center}@media (max-width: 640px){.calendar-navigation .btn{padding:8px 10px;font-size:.8em}.calendar-navigation h2{font-size:1.1em}}.view-toggle-group{display:flex;background-color:#3a3a3a;border-radius:8px;padding:4px;border:1px solid #555}.view-toggle-group .btn{background-color:transparent;border:none;padding:6px 12px;color:#ccc;font-weight:700}.view-toggle-group .btn.active{background-color:#007bff;color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000004d}.week-view-container{display:flex;flex-direction:column;gap:10px}.week-day-card{background-color:#3a3a3a;border-radius:8px;padding:15px}.week-day-header{font-size:1.2em;font-weight:700;color:#f0a500;margin:0;padding-bottom:10px;border-bottom:1px solid #555}.week-day-header .date-number{font-size:.8em;font-weight:400;color:#ccc;margin-left:8px}.party-list-item{background-color:#4a4a4a;padding:10px;border-radius:5px;margin-top:10px;cursor:pointer;transition:background-color .2s ease}.party-list-item:hover{background-color:#5a5a5a}.party-list-item .time{font-weight:700;color:#fff}.party-list-item .name{color:#ddd;margin-left:10px}.page-contatti .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.page-contatti .card.clickable{cursor:pointer;border-radius:8px;box-shadow:0 4px 8px #0003;background-color:#333;color:#fff}.page-contatti .card .card-title{margin:0;font-size:1.05rem;color:#fff}.page-contatti .card .card-subtitle{margin:0;font-size:.85rem;color:#cfcfcf}.page-contatti .card .card-count{color:#e9e9e9;font-weight:600}.page-contatti .card-circle{width:56px;height:56px;border-radius:28px;background:#e9e9e9;display:flex;align-items:center;justify-content:center;font-size:1.1em;color:#111;font-weight:700}.page-contatti .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.page-contatti .modal-content{width:540px;max-width:calc(100% - 40px);background-color:#2c2c2c;padding:18px;border-radius:8px;position:relative;color:#fff}.page-contatti .modal-close-btn{position:absolute;right:12px;top:8px;font-size:1.4rem;background:transparent;border:none;color:#fff}.page-contatti .form-control{width:100%;padding:8px;margin-bottom:8px;border:1px solid #555;border-radius:4px;background-color:#444;color:#eee}.page-contatti .btn{padding:6px 10px;border-radius:4px}.page-contatti .list-group-item{background-color:#3a3a3a;border:1px solid #555;color:#fff}.page-contatti img[alt=avatar]{object-fit:cover;border-radius:50%}.page-contatti h2,.page-contatti h3,.page-contatti label{color:#fff}.channel-selector button{padding:10px 15px;border-radius:5px;cursor:pointer;transition:all .2s ease-in-out}.channel-selector button.btn-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.channel-selector button.btn-outline-primary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.channel-selector button.btn-outline-primary:hover{background-color:var(--primary-color-light);color:#fff}.week-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:30px}.week-item{background-color:var(--card-bg-color);border-radius:var(--border-radius);padding:15px 20px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;transition:all .2s ease-in-out;border:1px solid var(--border-color)}.week-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.week-item.has-schedules{cursor:pointer}.week-item.no-schedules{opacity:.6;cursor:not-allowed;background-color:var(--disabled-bg-color);border-color:var(--disabled-border-color)}.week-label{font-weight:700;font-size:1.1em;color:var(--text-color)}.status-indicator{display:flex;align-items:center}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-left:10px}.status-green{background-color:#28a745}.status-grey{background-color:#6c757d}.schedule-viewer .card{margin-bottom:20px;padding:20px}.schedule-viewer .pdf-preview iframe,.schedule-viewer .image-preview img{max-width:100%;height:auto;display:block;margin-top:15px;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.channel-selector .btn{transition:all .2s ease-in-out}.channel-selector .btn-primary{font-weight:700;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.channel-selector .btn-outline-primary{opacity:.6}.request-status{padding:5px 10px;border-radius:15px;color:#fff;font-weight:700;text-transform:capitalize;margin-bottom:10px;display:inline-block}.status-pending{background-color:#f0ad4e}.status-approved{background-color:#5cb85c}.status-denied{background-color:#d9534f}.bug-page{max-width:800px;margin:20px auto}.bug-form .form-control{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.error-message{color:#b00020}.success-message{color:#0a7a0a}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.85rem;color:#fff;font-weight:600}.badge-open{background:#d9534f}.badge-in_progress{background:#f0ad4e;color:#222}.badge-resolved{background:#5cb85c}.badge-closed{background:#6c757d}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:#2c2c2c;color:#fff}.header .app-title{padding:0;margin:0 0 0 15px}.header .logo{width:50px;height:auto;margin-right:0}.header{display:flex;align-items:center;background-color:#333;color:#fff;padding:10px;position:sticky;top:0;z-index:900}.menu-icon{font-size:24px;cursor:pointer;color:#f0a500}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}@media (max-width: 480px){.header-actions{flex-wrap:wrap;gap:6px}.header .app-title .logo{width:40px}.locale-row .locale-select.centered{width:160px}}.sidebar{height:100vh;width:0;background-color:#111;overflow-x:hidden;transition:width .4s ease;flex-shrink:0;z-index:1001}.sidebar ul{padding:20px;list-style:none;white-space:nowrap}.sidebar a{color:#818181;text-decoration:none;display:block;padding:8px 0;transition:color .3s ease}.sidebar a:hover{color:#f1f1f1}.main-container{display:flex}.main-content{flex-grow:1;padding:20px;box-sizing:border-box;min-height:calc(100vh - 60px)}.menu-overlay{position:fixed;top:0;left:0;height:100%;width:100%;background:#00000080;display:none;z-index:1000}#sidebar .submenu{list-style:none;overflow:hidden;max-height:0;opacity:0;visibility:hidden;margin:0;padding-left:20px;padding-top:0;padding-bottom:0;transition:all .4s ease}#sidebar .submenu.open{max-height:500px;opacity:1;visibility:visible;padding-top:10px;padding-bottom:10px}#sidebar .submenu a{font-size:.9em;color:#ccc}#sidebar .submenu-toggle{display:flex;justify-content:space-between;align-items:center;width:100%}#sidebar .arrow{font-size:.7em;transition:transform .3s ease}#sidebar .arrow.open{transform:rotate(180deg)}.card{background-color:#333;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 4px 8px #0003;box-sizing:border-box}.card-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.card-grid{grid-template-columns:repeat(3,1fr)}}.form-control{width:100%;box-sizing:border-box;padding:10px;margin-bottom:15px;border:1px solid #555;border-radius:5px;background-color:#444;color:#eee;font-size:1em}.btn{background-color:#007bff;color:#fff;border:none;border-radius:5px;padding:10px 15px;cursor:pointer;font-size:16px;transition:background-color .3s ease}.btn:hover{background-color:#0056b3}.btn-primary{background-color:#007bff}.btn-danger{background-color:#dc3545}.btn-warning{background-color:#ffc107;color:#333}.btn-sm{padding:5px 10px;font-size:.8em}.list-group-item{background-color:#444;border:1px solid #555;border-radius:5px;padding:12px 15px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.list-group-item[style*="cursor: pointer"]:hover{background-color:#5c5c5c}.success-message{color:#28a745;background-color:#28a7451a;border:1px solid #28a745;padding:10px;border-radius:5px;margin-bottom:20px}.error-message{color:#dc3545;background-color:#dc35451a;border:1px solid #dc3545;padding:10px;border-radius:5px;margin-bottom:20px}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#2c2c2ccc;display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:9999}.spinner{border:6px solid #f3f3f3;border-top:6px solid #f0a500;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-overlay p{color:#fff;font-size:1.2em;font-weight:700}.locale-row{display:flex;align-items:center;padding:8px 16px;background-color:#2f2f2f;border-bottom:1px solid #3f3f3f}.locale-row .locale-inner{display:flex;align-items:center;gap:8px}.locale-row .locale-inner.center{justify-content:center}.locale-row .locale-select.centered{width:220px;background-color:#444;color:#eee;border:1px solid #555}
