*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh;min-width:320px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{display:flex;flex-direction:column;min-height:100vh;min-width:320px}.header{background:linear-gradient(135deg,#3965ac,#be9830);box-shadow:0 2px 8px #0000001a;color:#fff;left:0;padding:1rem 2rem;position:fixed;right:0;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1400px}.header-content,.logo{align-items:center;display:flex}.logo{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:1.8rem;font-weight:700;height:50px;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.logo:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.logo-image{display:block;height:100%;max-width:200px;object-fit:contain;width:auto}.logo-text{background:#fff;border-radius:8px;color:#3965ac;font-weight:900;padding:.5rem 1rem}.header-nav{gap:1rem}.header-nav,.nav-button{align-items:center;display:flex}.nav-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .3s ease}.nav-icon{font-size:1rem}.nav-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.leave-button{background:#dc35454d;border-color:#dc354580}.leave-button:hover{background:#dc354580}.logout-button{background:#dc35454d;border-color:#dc354580}.logout-button:hover{background:#dc354580}.language-selector{align-items:center;display:flex;gap:.5rem;position:relative}.language-icon{color:#fff;font-size:1.2rem}.language-select{-webkit-appearance:none;appearance:none;background:#fff3;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;min-width:150px;padding:.6rem 2.5rem .6rem 1.2rem;transition:all .3s ease}.language-select:hover{background-color:#ffffff4d;border-color:#ffffff80}.language-select:focus{background-color:#ffffff4d;border-color:#fff9;outline:none}.language-select option{background:#3965ac;color:#fff;padding:.5rem}@media (max-width:768px){.header{padding:.75rem 1rem}.header-content{flex-direction:column;gap:.75rem}.logo{height:40px;padding:.4rem .8rem}.logo-image{max-width:150px}.header-nav{flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.nav-button{flex:1 1;font-size:.85rem;min-width:calc(50% - .25rem);padding:.5rem .8rem}.language-select{font-size:.85rem;min-width:120px;padding:.5rem 2rem .5rem .8rem;width:100%}}@media (max-width:480px){.header{padding:.5rem}.logo{height:35px;padding:.3rem .6rem}.logo-image{max-width:120px}.nav-button{font-size:.8rem;min-width:100%;padding:.4rem .6rem}.language-select{font-size:.8rem;padding:.4rem 1.8rem .4rem .6rem}}.footer{background:linear-gradient(135deg,#3965ac,#be9830);color:#fff;margin-top:auto;padding:1.5rem 2rem;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1400px}.footer p{font-size:.95rem;margin:0}.footer-link{color:#fff;font-size:.95rem;font-weight:600;text-decoration:underline;transition:opacity .3s ease}.footer-link:hover{opacity:.8}.footer-admin-button{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.footer-admin-button:hover{background:#ffffff4d;border-color:#ffffff80}@media (max-width:768px){.footer{padding:1rem 1.5rem}.footer p{font-size:.85rem}.footer-admin-button{font-size:.7rem;padding:.4rem .7rem}}@media (max-width:480px){.footer{padding:.8rem 1rem}.footer-content{gap:.8rem}.footer p{font-size:.8rem;line-height:1.4}.footer-admin-button{font-size:.65rem;padding:.35rem .6rem}}.chat-button-container{align-items:flex-end;bottom:24px;display:flex;flex-direction:column;gap:12px;position:fixed;right:24px;z-index:1000}.chat-tooltip{align-items:center;animation:slideIn .3s ease;background:linear-gradient(135deg,#3965ac,#be9830);border-radius:12px;box-shadow:0 4px 20px #0003;color:#fff;display:flex;gap:12px;max-width:280px;padding:12px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-tooltip span{font-size:.95rem;font-weight:500;line-height:1.4}.tooltip-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:background .2s ease;width:24px}.tooltip-close:hover{background:#ffffff4d}.chat-button{align-items:center;background:linear-gradient(135deg,#3965ac,#be9830);border:none;border-radius:50%;box-shadow:0 4px 20px #3965ac66;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:60px;justify-content:center;transition:all .3s ease;width:60px}.chat-button:hover{box-shadow:0 6px 25px #3965ac80;transform:scale(1.1)}.chat-button:active{transform:scale(.95)}@media (max-width:768px){.chat-button-container{bottom:16px;right:16px}.chat-button{font-size:1.3rem;height:52px;width:52px}.chat-tooltip{font-size:.9rem;max-width:240px;padding:10px 14px}}.linkified-link{color:#3965ac;text-decoration:underline;word-break:break-all}.linkified-link:hover{color:#2d4f8a}.linkified-link:focus{outline:1px dotted #3965ac}.calendar-view{width:100%}.calendar-header{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.calendar-header h2{color:#3965ac;margin:0}.calendar-header button{background:#3965ac;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem 1rem}.calendar-header button:hover{background:#2d4f8a}.calendar-year-selector{display:flex;justify-content:center;margin:1rem 0}.year-input{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;padding:.5rem 1rem;text-align:center;width:100px}.year-input:focus{border-color:#3965ac;outline:none}.calendar-year{padding:1rem}.year-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.year-month-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem}.year-month-title{border-bottom:2px solid #e0e0e0;color:#3965ac;font-size:1.1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem;text-align:center}.year-month-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.year-day-header{color:#666;font-size:.75rem;font-weight:600;padding:.25rem;text-align:center}.year-day{align-items:center;aspect-ratio:1;border:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:.25rem;position:relative;transition:all .2s ease}.year-day:hover{background:#f5f5f5;border-color:#3965ac}.year-day.today{background:#e3f2fd;border-color:#3965ac;font-weight:600}.year-day.has-events{background:#fff3e0}.year-day.empty{border:none;cursor:default}.year-day.empty:hover{background:#0000}.year-day-number{color:#333;font-size:.85rem}.year-day.today .year-day-number{color:#3965ac}.year-day-events{color:#ff9800;font-size:.65rem;font-weight:600;margin-top:2px}@media (max-width:768px){.year-grid{grid-template-columns:1fr}.year-month-card{padding:.75rem}.year-day{min-height:35px}}.calendar-month{width:100%}.calendar-grid{grid-gap:1px;background:#e0e0e0;border:1px solid #e0e0e0;display:grid;gap:1px;grid-auto-rows:150px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{background:#3965ac;color:#fff;font-weight:600;padding:.75rem;text-align:center}.calendar-day{background:#fff;box-sizing:border-box;display:flex;flex-direction:column;height:150px;max-height:150px;min-height:150px;overflow:hidden;padding:.5rem;position:relative}.calendar-day.clickable-day{cursor:pointer}.calendar-day.clickable-day:hover{background:#f0f0f0}.calendar-day.empty{background:#f5f5f5}.calendar-day.today{background:#fff9e6;border:2px solid #be9830}.day-number{color:#333;font-weight:600;margin-bottom:.5rem}.day-events{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:0;overflow-x:hidden;overflow-y:auto}.event-item{align-items:center;background-color:#3b82f6;background-image:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;gap:.25rem;height:24px;max-height:24px;min-height:24px;overflow:hidden;padding:.3rem .5rem;text-overflow:ellipsis;white-space:nowrap}.event-item .event-time{flex-shrink:0;font-size:.7rem;font-weight:600}.event-item .event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-item.clickable{cursor:pointer}.event-item.clickable:hover{opacity:.9;transform:translateX(2px)}.more-events{color:#666;font-size:.75rem;font-style:italic;margin-top:.25rem}.calendar-week{overflow-x:auto;width:100%}.week-grid{grid-gap:1px;background:#e0e0e0;border:1px solid #e0e0e0;display:grid;gap:1px;grid-template-columns:60px repeat(7,1fr);grid-template-rows:50px auto}.time-column-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;grid-column:1;grid-row:1}.time-column{background:#f8f9fa;display:flex;flex-direction:column;grid-column:1;grid-row:2}.time-slot{border-bottom:1px solid #e0e0e0;color:#666;flex-shrink:0;font-size:.85rem;height:60px;padding:.5rem}.week-day-column{background:#fff;grid-row:2}.day-header{align-items:center;background:#3965ac;color:#fff;display:flex;font-weight:600;grid-row:1;height:50px;justify-content:center;padding:.75rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.day-time-slots{background:repeating-linear-gradient(180deg,#0000,#0000 59px,#e0e0e0 0,#e0e0e0 60px);min-height:1440px;position:relative}.time-slot-cell{border-bottom:1px solid #e0e0e0;height:60px;padding:.25rem;position:relative}.event-time-block{transition:opacity .2s,transform .2s}.event-time-block.clickable:hover{box-shadow:0 2px 4px #0003;opacity:.85;transform:translateY(-1px)}.calendar-day-view{width:100%}.day-time-grid{border:1px solid #e0e0e0;display:flex;flex-direction:column}.day-time-row{border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:80px 1fr;min-height:80px;width:100%}.time-label{align-items:flex-start;display:flex;font-size:.9rem;justify-content:flex-end}.time-content{background:#fff;border-left:1px solid #e0e0e0;padding:0}.time-label{background:#f8f9fa;border-right:1px solid #e0e0e0;color:#666;font-weight:500;left:0;padding:.75rem;position:-webkit-sticky;position:sticky;z-index:5}.time-content{height:100%;padding:.5rem;position:relative}@media (max-width:768px){.calendar-grid{grid-auto-rows:100px}.calendar-day{height:100px;max-height:100px;min-height:100px}.week-grid{grid-template-columns:50px repeat(7,120px)}.time-slot,.time-slot-cell{height:40px}.day-time-row{min-height:60px}}.home-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;min-width:320px;padding:1rem}.home-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:1400px;min-width:320px;overflow:hidden;width:100%}.home-header{background:linear-gradient(135deg,#3965ac,#4a7bc8);color:#fff;padding:2rem;text-align:center}.home-logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:1rem}.home-logo{filter:brightness(0) invert(1);height:auto;max-height:120px;max-width:200px;object-fit:contain;width:auto}.home-header h1{color:#fff;font-size:2.5rem;margin:0 0 .5rem}.home-header h2{color:#be9830;font-size:1.5rem;margin:0 0 1rem}.welcome-text{color:#ffffffe6;font-size:1.1rem;margin:0}.home-tabs{-webkit-overflow-scrolling:touch;background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;overflow-x:auto;scrollbar-width:none}.home-tabs::-webkit-scrollbar{display:none}.home-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:-2px;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.home-tab:hover{background:#e9ecef;color:#3965ac}.home-tab.active{background:#fff;border-bottom-color:#3965ac;color:#3965ac}.home-tab svg{font-size:1.1rem}.home-content{min-height:500px;padding:1.5rem}.calendar-section{width:100%}.events-list-section{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.events-list-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.events-list{display:flex;flex-direction:column;gap:1rem}.event-list-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-left:4px solid #3b82f6;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .3s ease}.event-list-item:hover{background:#e9ecef;box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.event-list-item-content{flex:1 1;min-width:0}.event-list-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.event-list-item-title{color:#333;font-size:1.2rem;font-weight:600;margin:0}.event-list-recurring-badge{background:linear-gradient(135deg,#3965ac,#4a7bc8);border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.event-list-item-description{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.95rem;margin:.5rem 0;overflow:hidden;white-space:pre-line}.event-list-item-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.5rem;margin-top:.75rem}.event-list-meta-item{align-items:center;display:flex;gap:.5rem}.event-list-meta-item svg{color:#3965ac;font-size:.9rem}.event-list-item-arrow{color:#ccc;flex-shrink:0;font-size:1.2rem;transition:all .3s ease}.event-list-item:hover .event-list-item-arrow{color:#3965ac;transform:translateX(4px)}@media (max-width:768px){.event-list-item{padding:1rem}.event-list-item-title{font-size:1rem}.event-list-item-meta{font-size:.85rem;gap:1rem}.events-list-title{font-size:1.25rem}}.calendar-section .view-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.view-btn{background:#fff;border:2px solid #3965ac;border-radius:20px;color:#3965ac;font-weight:500}.view-btn:hover{background:#f0f4f8}.list-section{width:100%}.items-list{display:flex;flex-direction:column;gap:1rem}.list-item{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.list-item:hover{background:#e9ecef;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.list-item-image{border-radius:8px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.list-item-image img{height:100%;object-fit:cover;width:100%}.list-item-content{flex:1 1;min-width:0}.list-item-content h3{color:#333;font-size:1.1rem;margin:0 0 .5rem}.list-item-desc{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.9rem;margin:0 0 .5rem;overflow:hidden;white-space:pre-line}.list-item-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem}.list-item-meta .location{align-items:center;color:#666;display:flex;gap:.25rem}.list-item-meta .date{color:#888}.list-item-arrow{color:#ccc;flex-shrink:0;font-size:1rem}.announcement-item{border-left:4px solid #3965ac}.announcement-item.info{border-left-color:#17a2b8}.announcement-item.success{border-left-color:#28a745}.announcement-item.warning{border-left-color:#ffc107}.announcement-item.error{border-left-color:#dc3545}.announcement-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.lostfound-item.lost{border-left:4px solid #dc3545}.lostfound-item.found{border-left:4px solid #28a745}.lostfound-header{margin-bottom:.5rem}.giveaway-item{border-left:4px solid #17a2b8}.status-badge{display:inline-block;font-size:.75rem}.status-badge.active{background:#d4edda;color:#155724}.status-badge.completed{background:#cce5ff;color:#004085}.status-badge.planning{background:#fff3cd;color:#856404}.type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.type-badge.info{background:#cce5ff;color:#004085}.type-badge.success{background:#d4edda;color:#155724}.type-badge.warning{background:#fff3cd;color:#856404}.type-badge.error{background:#f8d7da;color:#721c24}.category-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.category-badge.lost{background:#f8d7da;color:#721c24}.category-badge.found{background:#d4edda;color:#155724}.condition-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.condition-badge.like-new{background:#cce5ff;color:#004085}.condition-badge.good{background:#fff3cd;color:#856404}.condition-badge.fair{background:#ffeeba}.condition-badge.poor{background:#f8d7da;color:#721c24}.no-data{color:#888;padding:3rem}.detail-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.detail-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:16px;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.detail-modal-close{align-items:center;background:#0000001a;border:none;border-radius:50%;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:36px;z-index:10}.detail-modal-close:hover{background:#0003}.detail-content{padding:2rem}.detail-images{margin:-2rem -2rem 1.5rem;position:relative}.detail-images>img{height:250px;object-fit:cover;width:100%}.detail-images .image-gallery{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 1rem}.detail-images .image-gallery img{border-radius:4px;cursor:pointer;height:60px;object-fit:cover;width:60px}.detail-content h2{color:#333;font-size:1.5rem;margin:.5rem 0 1rem}.detail-description{color:#555;line-height:1.6;margin:1rem 0;white-space:pre-line}.detail-info{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.detail-info .info-row{align-items:center;color:#666;display:flex;font-size:.95rem;gap:.5rem;margin:.75rem 0}.detail-info .info-row svg{color:#3965ac;width:16px}.detail-files{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1rem}.detail-files-title{color:#333;font-size:1.1rem;margin:0 0 1rem}.detail-file-block{margin-bottom:1.5rem}.detail-file-block:last-child{margin-bottom:0}.detail-file-label{color:#555;font-size:.95rem;margin:0 0 .5rem}.detail-file-label a{color:#3965ac;text-decoration:none}.detail-file-label a:hover{text-decoration:underline}.detail-pdf-viewer{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;min-height:400px;width:100%}.detail-audio-player{height:48px}.detail-audio-player,.detail-video-player{border-radius:8px;max-width:100%;width:100%}.detail-video-player{background:#000;max-height:60vh}.registration-section{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.seats-info{background:#f8f9fa;border-radius:6px;font-size:.95rem;margin-bottom:1rem;padding:.75rem}.seats-info strong{color:#333}.seats-available{color:#28a745;font-weight:600}.seats-full{color:#dc3545;font-weight:600}.no-seats-message{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;padding:1rem}.no-seats-message p{margin:.5rem 0}.no-seats-message p:first-child{font-weight:600;margin-top:0}.registration-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.register-button{background:linear-gradient(135deg,#3965ac,#4a7bc8);border:none;border-radius:8px;color:#fff}.register-button,.view-registrations-button{cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:200px;padding:.75rem 1.5rem;transition:all .3s ease}.view-registrations-button{background:#fff;border:2px solid #3965ac;border-radius:8px;color:#3965ac}.view-registrations-button:hover{background:#f0f4f8}.register-button:hover{box-shadow:0 4px 12px #3965ac4d;transform:translateY(-2px)}.registrations-list{margin-top:1.5rem}.registrations-list h3{color:#333;font-size:1.2rem;margin-bottom:1rem}.registrations{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.registration-item{background:#f5f5f5;border-left:3px solid #3965ac;border-radius:8px;padding:1rem}.registration-name{color:#333;font-weight:600;margin-bottom:.25rem}.registration-email,.registration-phone{color:#666;font-size:.9rem;margin-bottom:.25rem}.registration-phone{font-weight:500}.registration-notes{color:#555;font-size:.85rem;font-style:italic;margin-top:.5rem}.registration-date{color:#999;font-size:.8rem;margin-top:.5rem}.registration-form-modal{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.registration-form-modal h3{color:#333;margin-bottom:1rem;margin-top:0}.registration-form-modal .form-group{margin-bottom:1rem}.registration-form-modal label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.registration-form-modal input,.registration-form-modal textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.registration-form-modal textarea{min-height:80px;resize:vertical}.form-actions{margin-top:1.5rem}.submit-button{background:linear-gradient(135deg,#3965ac,#4a7bc8);flex:1 1;font-size:1rem;padding:.75rem;transition:all .3s ease}.submit-button:hover{box-shadow:0 4px 12px #3965ac4d;transform:translateY(-2px)}.cancel-button{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s ease}.cancel-button:hover{background:#d0d0d0}.section-loading{background:#f8f9fa;border-radius:8px;color:#666;font-size:1rem;font-size:1.1rem;margin:1rem 0;padding:3rem;text-align:center}@media (max-width:768px){.home-page{padding:.5rem}.home-header{padding:1.5rem 1rem}.home-header h1{font-size:1.8rem}.home-header h2{font-size:1.2rem}.home-tab{font-size:.85rem;padding:.75rem 1rem}.home-tab span{display:none}.home-tab svg{font-size:1.3rem}.home-content{padding:1rem}.list-item{align-items:flex-start;flex-direction:column}.list-item-image{height:150px;width:100%}.list-item-arrow{display:none}.detail-modal{align-self:flex-end;border-radius:12px 12px 0 0;margin:0;max-height:95vh}.detail-images>img{height:200px}}@media (max-width:480px){.home-header h1{font-size:1.5rem}.home-header h2{font-size:1rem}.welcome-text{font-size:.95rem}.home-tab{padding:.75rem}.view-btn{font-size:.85rem;padding:.4rem .8rem}.list-item-content h3{font-size:1rem}.list-item-desc{font-size:.85rem}}.fullsize-image-overlay{background:#000000e6;cursor:pointer;inset:0;padding:1rem;position:fixed;z-index:10000}.fullsize-image-content,.fullsize-image-overlay{align-items:center;display:flex;justify-content:center}.fullsize-image-content{cursor:default;max-height:90vh;max-width:90vw;position:relative}.fullsize-image-content img{height:auto;max-height:90vh;max-width:90vw;object-fit:contain;width:auto}.fullsize-image-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:2.5rem;justify-content:center;position:absolute;right:0;top:-2.5rem;transition:background .2s;width:2.5rem}.fullsize-image-close:hover{background:#ffffff59}.clickable-image,.list-item-image[role=button]{cursor:pointer}.login-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;min-width:320px}.login-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:3rem auto;max-width:600px;min-width:320px;padding:2rem;width:100%}.login-container h1{color:#3965ac;font-size:2rem;margin-bottom:1rem;text-align:center}.login-container h2{color:#be9830;font-size:1.5rem;margin-bottom:2rem;text-align:center}.no-competition{color:#666;font-size:1.1rem;padding:2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.95rem}.required-indicator{color:#c33;font-weight:700;margin-left:2px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1rem;padding:.8rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#3965ac;outline:none}.form-group textarea{resize:vertical}.form-group label{align-items:center;display:flex;gap:.5rem}.icon{color:#3965ac;font-size:1rem}.button-icon{margin-right:.5rem}.signup-form h3{color:#3965ac;margin-bottom:.5rem;text-align:center}.form-description{color:#666;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.form-warning{align-items:flex-start;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.warning-icon{color:#f39c12;flex-shrink:0;font-size:1.2rem;margin-top:.1rem}.form-warning p{color:#856404;font-size:.95rem;line-height:1.5;margin:0}.switch-button{align-items:center;background:none;border:none;color:#3965ac;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem;justify-content:center;margin-top:1rem;padding:.5rem;transition:color .3s ease}.switch-button:hover{color:#2d4f8a;text-decoration:underline}.success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;padding:.8rem;text-align:center}.submit-button{background:linear-gradient(135deg,#3965ac,#be9830);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #3965ac4d;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.error{background:#fee;border-radius:6px;color:#c33;padding:.8rem;text-align:center}.signup-form-disabled{display:flex;flex-direction:column;gap:1.5rem}.disabled-message{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.disabled-icon{color:#f39c12;font-size:3rem;margin-bottom:.5rem}.disabled-message h3{color:#3965ac;font-size:1.3rem;margin:0}.disabled-message p{color:#666;font-size:1rem;line-height:1.6;margin:0;max-width:500px}@media (max-width:768px){.login-page{min-width:320px}.login-container{margin:1.5rem auto;max-width:calc(100% - 2rem);min-width:320px;padding:1.5rem}.login-container h1{font-size:1.5rem;min-height:2rem}.login-container h2{font-size:1.2rem;margin-bottom:1.5rem;min-height:1.5rem}.form-group input{font-size:16px;min-width:200px;padding:.7rem}.submit-button{font-size:1rem;min-width:120px;padding:.9rem 1.5rem}.form-row{grid-template-columns:1fr}}@media (max-width:480px){.login-container{border-radius:8px;margin:1rem;min-width:280px;padding:1rem}.login-container h1{font-size:1.3rem;min-height:1.8rem}.login-container h2{font-size:1.1rem;min-height:1.3rem}.form-group input{min-width:180px;padding:.6rem}.submit-button{font-size:.95rem;min-width:100px;padding:.8rem 1.2rem}}.legal-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;padding:2rem}.legal-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:900px;padding:2rem}.legal-container h1{color:#3965ac;font-size:2.5rem;margin-bottom:2rem;text-align:center}.legal-content{color:#333;line-height:1.8}.legal-content p{font-size:1rem;margin-bottom:1rem}.legal-content strong{color:#3965ac;font-size:1.1rem}@media (max-width:768px){.legal-page{padding:1rem}.legal-container{padding:1.5rem}.legal-container h1{font-size:2rem}}.admin-modal-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.admin-modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:calc(100vh - 4rem);max-width:600px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-modal-header{align-items:center;background:linear-gradient(135deg,#3965ac,#4a7bc8);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.admin-modal-header h3{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.admin-modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background .2s;width:32px}.admin-modal-close:hover{background:#fff3}.admin-modal-body{padding:1.5rem}.admin-modal-body .form-group{margin-bottom:1rem}.admin-modal-body .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.admin-modal-body .form-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem}@media (max-width:768px){.admin-modal-overlay{padding:1rem}.admin-modal-content{max-height:calc(100vh - 2rem)}.admin-modal-body .form-row{grid-template-columns:1fr}}.user-management{width:100%}.user-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;padding:.75rem}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:3rem;width:100%}.password-toggle{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;right:.75rem;transition:color .3s ease}.password-toggle:hover{color:#3965ac}.password-toggle:focus{outline:none}.form-group input:focus,.form-group select:focus{border-color:#3965ac;outline:none}.categories-list{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.checkbox-label input[type=checkbox]{width:auto}.users-table{overflow-x:auto}.users-table table{background:#fff;border-collapse:collapse;width:100%}.users-table thead{background:linear-gradient(135deg,#3965ac,#be9830);color:#fff}.users-table th{font-weight:600;padding:1rem;text-align:left}.users-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.users-table tbody tr:hover{background:#f8f9fa}.role-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.role-badge.admin{background:#dc3545;color:#fff}.role-badge.user{background:#28a745;color:#fff}.category-tag{background:#3965ac;border-radius:4px;color:#fff;display:inline-block;font-size:.85rem;margin-bottom:.25rem;margin-right:.5rem;padding:.25rem .5rem}.status-badge.inactive{background:#6c757d;color:#fff}.btn-sm{margin-right:.5rem}@media (max-width:768px){.users-table{font-size:.85rem}.users-table td,.users-table th{padding:.5rem}}.roles-management{width:100%}.admin-notice{align-items:flex-start;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.admin-notice svg{color:#856404;flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.admin-notice strong{color:#856404;display:block;margin-bottom:.5rem}.admin-notice p{color:#856404;font-size:.95rem;margin:0}.admin-notice-inline{align-items:center;background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;color:#004085;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem;padding:.75rem}.admin-notice-inline svg{color:#004085;flex-shrink:0}.role-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.permissions-section{margin-top:1rem}.permissions-label{color:#333;display:block;font-weight:600;margin-bottom:.75rem}.permission-tabs{border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.permission-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:-2px;padding:.5rem 1rem;position:relative;transition:all .2s}.permission-tab:hover{background:#3965ac0d;color:#3965ac}.permission-tab.active{border-bottom-color:#3965ac;color:#3965ac}.tab-badge{background:#3965ac;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;min-width:20px;padding:.15rem .5rem;text-align:center}.permission-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-height:200px;padding:1.5rem}.category-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.category-header h4{color:#3965ac;font-size:1.1rem;margin:0}.select-all-btn{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.select-all-btn:hover{background:#e9ecef;border-color:#3965ac;color:#3965ac}.permissions-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1rem}.checkbox-label{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;gap:.75rem;padding:.75rem;transition:all .2s}.checkbox-label:hover{background:#f0f4ff;border-color:#3965ac}.checkbox-label input[type=checkbox]{flex-shrink:0}.checkbox-label span{color:#333;flex:1 1;font-size:.95rem}.checkbox-label input[type=checkbox]:checked+span{color:#3965ac;font-weight:500}.roles-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}.role-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.role-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.role-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.role-card h3{color:#3965ac;font-size:1.2rem;margin:0}.permission-count{background:#e7f3ff;border-radius:12px;color:#3965ac;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.role-description{color:#666;font-size:.9rem;margin:.5rem 0}.permissions-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;min-height:2rem}.permission-tag{background:#be9830;border-radius:4px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.no-permissions{color:#999;font-size:.9rem;font-style:italic}.more-permissions{background:#f0f0f0;border-radius:4px;color:#666;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.role-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}@media (max-width:768px){.permissions-grid,.roles-list{grid-template-columns:1fr}.permission-tabs{flex-direction:column}.permission-tab{justify-content:space-between;width:100%}.category-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.visibility-selector{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;padding:1rem}.visibility-label{align-items:center;color:#333;display:flex;font-weight:600;gap:.5rem;margin-bottom:.25rem}.visibility-label svg{color:#3965ac}.visibility-help{color:#666;font-size:.85rem;margin-bottom:1rem}.visibility-options{display:flex;flex-direction:column;gap:1rem}.visibility-option{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.visibility-option:hover{border-color:#3965ac}.visibility-option input[type=checkbox]{cursor:pointer;height:18px;margin-top:2px;width:18px}.option-content{align-items:flex-start;display:flex;flex:1 1;gap:.5rem}.option-icon{color:#3965ac;font-size:1.1rem;margin-top:2px}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-text strong{color:#333}.option-text small{color:#666;font-size:.8rem}.categories-section{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.categories-label{align-items:center;color:#333;display:flex;font-weight:500;gap:.5rem;margin-bottom:.75rem}.categories-label svg{color:#3965ac}.categories-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.category-option{align-items:center;background:#f8f9fa;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background .2s}.category-option:hover{background:#e8f0fe}.category-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.category-name{color:#333;font-size:.9rem}.loading-text,.no-categories{color:#666;font-size:.9rem;font-style:italic}.visibility-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:.85rem;margin-top:.75rem;padding:.75rem}@media (max-width:480px){.visibility-selector{padding:.75rem}.categories-grid{grid-template-columns:1fr}}.image-upload-container{margin-bottom:1rem}.upload-label{align-items:center;color:#333;display:flex;font-weight:500;gap:.5rem;margin-bottom:.75rem}.upload-label svg{color:#3965ac}.image-count{color:#666;font-size:.9rem;font-weight:400}.images-preview{display:flex;flex-wrap:wrap;gap:.75rem}.image-preview-item{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:100px;overflow:hidden;position:relative;width:100px}.image-preview-item img{height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .2s;width:24px}.image-preview-item:hover .remove-image-btn{opacity:1}.remove-image-btn:hover{background:#dc3545}.add-image-btn{align-items:center;background:#f9f9f9;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;height:100px;justify-content:center;transition:all .2s;width:100px}.add-image-btn:hover{background:#f0f4ff;border-color:#3965ac;color:#3965ac}.add-image-btn.uploading{cursor:not-allowed;opacity:.7}.add-image-btn svg{font-size:1.5rem}.add-image-btn span{font-size:.8rem}.add-image-btn .spinner{animation:spin 1s linear infinite;font-size:1.5rem}.upload-error{color:#dc3545;font-size:.85rem;margin-top:.5rem}@media (max-width:480px){.add-image-btn,.image-preview-item{height:80px;width:80px}.add-image-btn svg{font-size:1.25rem}.add-image-btn span{font-size:.7rem}}.notifications-management{width:100%}.notification-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.notification-form textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.notification-card.info{border-left:4px solid #17a2b8}.notification-card.success{border-left:4px solid #28a745}.notification-card.warning{border-left:4px solid #ffc107}.notification-card.error{border-left:4px solid #dc3545}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.notification-header h3{color:#3965ac;margin:0}.type-badge{text-transform:uppercase}.type-badge.info{background:#17a2b8;color:#fff}.type-badge.success{background:#28a745;color:#fff}.type-badge.warning{background:#ffc107;color:#333}.type-badge.error{background:#dc3545;color:#fff}.notification-meta{color:#666;display:flex;font-size:.85rem;gap:1rem;margin:.5rem 0}.notification-card p{color:#333;margin:.5rem 0}.notification-card-images{background:#f0f0f0;border-radius:8px 8px 0 0;margin:-1.5rem -1.5rem .75rem;max-height:200px;overflow:hidden}.notification-card-images img{display:block;height:100%;object-fit:cover;width:100%}.notification-actions{border-top:1px solid #eee;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.signup-requests-management{width:100%}.filter-buttons{flex-wrap:wrap}.filter-btn{font-size:.9rem;transition:all .3s ease}.filter-btn:hover{background:#f8f9fa}.requests-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.request-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.request-card.pending{border-left:4px solid #ffc107}.request-card.approved{border-left:4px solid #28a745}.request-card.rejected{border-left:4px solid #dc3545}.request-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.request-header h3{color:#3965ac;margin:0 0 .25rem}.request-email{color:#666;font-size:.9rem;margin:0}.status-badge.pending{background:#ffc107;color:#333}.status-badge.approved{background:#28a745;color:#fff}.status-badge.rejected{background:#dc3545;color:#fff}.request-details{color:#666;font-size:.9rem;line-height:1.6;margin:1rem 0}.request-details div{margin-bottom:.5rem}.request-meta{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;padding-top:1rem}.request-meta small{color:#999}.request-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn .icon{margin-right:.5rem}.no-requests{color:#999;font-style:italic;padding:3rem;text-align:center}@media (max-width:768px){.request-header{gap:.5rem}.request-actions,.request-header{flex-direction:column}.request-actions .btn{width:100%}}.accounting-module{width:100%}.financial-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center}.summary-card.income{border-color:#28a745}.summary-card.expense{border-color:#dc3545}.summary-card.balance.positive{border-color:#28a745}.summary-card.balance.negative{border-color:#dc3545}.summary-card h3{color:#666;font-size:1rem;margin:0 0 .5rem}.summary-card .amount{color:#333;font-size:2rem;font-weight:700;margin:0}.summary-card.income .amount{color:#28a745}.summary-card.expense .amount{color:#dc3545}.entry-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.entries-table{overflow-x:auto}.entries-table table{background:#fff;border-collapse:collapse;width:100%}.entries-table thead{background:linear-gradient(135deg,#3965ac,#be9830);color:#fff}.entries-table th{font-weight:600;padding:1rem;text-align:left}.entries-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.entries-table tbody tr:hover{background:#f8f9fa}.income-amount{color:#28a745;font-weight:600}.expense-amount{color:#dc3545;font-weight:600}.type-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.type-badge.income{background:#28a745;color:#fff}.type-badge.expense{background:#dc3545;color:#fff}@media (max-width:768px){.financial-summary,.form-row{grid-template-columns:1fr}}.media-upload-container{margin-bottom:1rem}.media-upload-label{align-items:center;color:#333;display:flex;font-weight:500;gap:.5rem;margin-bottom:.75rem}.media-count{color:#666;font-size:.9rem;font-weight:400}.media-list{display:flex;flex-direction:column;gap:.5rem}.media-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:.75rem;padding:.5rem .75rem}.media-icon{flex-shrink:0;font-size:1.25rem}.media-icon.pdf{color:#dc3545}.media-icon.audio{color:#3965ac}.media-icon.video{color:#28a745}.media-name{color:#333;flex:1 1;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-remove-btn{align-items:center;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;transition:background .2s;width:28px}.media-remove-btn:hover{background:#dc3545}.media-add-btn{align-items:center;background:#f9f9f9;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;display:flex;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s}.media-add-btn:hover{background:#f0f4ff;border-color:#3965ac;color:#3965ac}.media-add-btn.uploading{cursor:not-allowed;opacity:.7}.media-add-btn .spinner{animation:media-spin 1s linear infinite}@keyframes media-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.media-upload-error{color:#dc3545;font-size:.85rem;margin-top:.5rem}.projects-module{width:100%}.project-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.users-list{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.projects-grid{grid-gap:1rem;gap:1rem}.project-card{background:#fff;box-shadow:0 2px 4px #0000001a;overflow:hidden}.project-images{height:150px;overflow:hidden;position:relative;width:100%}.project-thumbnail{height:100%;object-fit:cover;width:100%}.project-card .more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:8px}.project-card>.project-actions,.project-card>.project-details,.project-card>.project-header,.project-card>p{padding-left:1.5rem;padding-right:1.5rem}.project-card>.project-header{padding-top:1rem}.project-card>.project-actions{padding-bottom:1.5rem}.project-card.planning{border-left:4px solid #ffc107}.project-card.active{border-left:4px solid #28a745}.project-card.completed{border-left:4px solid #17a2b8}.project-card.cancelled{border-left:4px solid #dc3545}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.project-header h3{color:#3965ac;margin:0}.project-badges{align-items:center;display:flex;gap:.5rem}.project-card .visibility-badge{align-items:center;border-radius:4px;display:flex;font-size:.8rem;padding:.25rem .5rem}.project-card .visibility-badge.public{background:#d4edda;color:#155724}.project-card .visibility-badge.private{background:#f8d7da;color:#721c24}.status-badge.planning{background:#ffc107;color:#333}.status-badge.cancelled{background:#dc3545;color:#fff}.project-details{color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;margin:1rem 0}.project-actions{display:flex;gap:.5rem;margin-top:1rem}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}.financial-state-module{width:100%}.period-selector{align-items:center;display:flex;gap:.5rem}.period-selector label{font-weight:500}.period-selector input{border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;padding:.5rem}.financial-overview{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.overview-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center}.overview-card.income{border-color:#28a745}.overview-card.expense{border-color:#dc3545}.overview-card.balance.positive{border-color:#28a745}.overview-card.balance.negative{border-color:#dc3545}.overview-card h3{color:#666;font-size:1rem;margin:0 0 .5rem}.overview-card .amount{color:#333;font-size:2rem;font-weight:700;margin:0}.overview-card.income .amount{color:#28a745}.overview-card.expense .amount{color:#dc3545}.period-breakdown{margin-top:2rem}.period-breakdown h3{color:#3965ac;margin-bottom:1rem}.breakdown-table{overflow-x:auto}.breakdown-table table{background:#fff;border-collapse:collapse;width:100%}.breakdown-table thead{background:linear-gradient(135deg,#3965ac,#be9830);color:#fff}.breakdown-table th{font-weight:600;padding:1rem;text-align:left}.breakdown-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.breakdown-table tbody tr:hover{background:#f8f9fa}.no-data{padding:2rem!important}@media (max-width:768px){.financial-overview{grid-template-columns:1fr}}.education-center-module{width:100%}.schools-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}.school-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.school-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.school-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.school-header svg{color:#3965ac;font-size:1.5rem}.school-header h3{color:#3965ac;flex:1 1;margin:0}.school-description{color:#666;font-size:.95rem;margin-bottom:.75rem}.school-info{color:#666;font-size:.9rem;margin:.25rem 0}.school-actions{margin-top:1rem}.school-actions,.school-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.school-tabs{border-bottom:2px solid #e0e0e0;margin:1.5rem 0}.school-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.25rem;transition:all .2s}.school-tab:hover{background:#3965ac0d;color:#3965ac}.school-tab.active{border-bottom-color:#3965ac;color:#3965ac}.school-tab-content{margin-top:1.5rem}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.tab-header h3{color:#3965ac;margin:0}.course-form,.instructor-form,.parent-form,.school-form,.student-form{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.form-group input,.form-group select,.form-group textarea{font-size:.95rem;padding:.6rem .75rem;transition:border-color .2s}.form-group small{color:#666;font-size:.85rem;margin-top:.25rem}.form-actions{justify-content:flex-end}.courses-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.course-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.course-card.upcoming{border-left:4px solid #17a2b8}.course-card.ongoing{border-left:4px solid #28a745}.course-card.completed{border-left:4px solid #6c757d}.course-card.cancelled{border-left:4px solid #dc3545}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.course-header h4{color:#3965ac;margin:0}.status-badge.upcoming{background:#d1ecf1;color:#0c5460}.status-badge.ongoing{background:#d4edda;color:#155724}.status-badge.completed{background:#e2e3e5;color:#383d41}.course-details{color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;margin:1rem 0}.course-actions{display:flex;gap:.5rem;margin-top:1rem}.instructors-list,.parents-list,.students-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.instructors-list table,.parents-list table,.students-list table{border-collapse:collapse;width:100%}.instructors-list thead,.parents-list thead,.students-list thead{background:#f8f9fa}.instructors-list th,.parents-list th,.students-list th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:1rem;text-align:left}.instructors-list td,.parents-list td,.students-list td{border-bottom:1px solid #f0f0f0;padding:1rem}.instructors-list tr:hover,.parents-list tr:hover,.students-list tr:hover{background:#f8f9fa}@media (max-width:768px){.courses-grid,.form-row,.schools-grid{grid-template-columns:1fr}.school-tabs{flex-direction:column}.school-tab{justify-content:center;width:100%}.tab-header{align-items:flex-start;flex-direction:column;gap:1rem}.instructors-list table,.parents-list table,.students-list table{font-size:.9rem}.instructors-list td,.instructors-list th,.parents-list td,.parents-list th,.students-list td,.students-list th{padding:.75rem .5rem}}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-sm{padding:.4rem .8rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#333;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3965ac;outline:none}.form-hint{color:#666;display:block;font-size:.875rem;margin-top:.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{gap:1rem;margin-top:1rem}.section-header{margin-bottom:2rem}.section-header h2{color:#3965ac;margin:0}.module-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.module-header h2{align-items:center;color:#3965ac;display:flex;gap:.5rem;margin:0}.filter-controls{margin-bottom:2rem}.filter-button{background:#f8f9fa;border:1px solid #e0e0e0;color:#666;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.filter-button:hover{background:#e9ecef}.admin-module{width:100%}.item-form,.offer-form,.setting-form{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:2rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.module-header,.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.filter-controls{-webkit-overflow-scrolling:touch;overflow-x:auto}}.item-card.lost{border-left:4px solid #dc3545}.item-card.found{border-left:4px solid #28a745}.item-card.active{background:#fff}.item-card.claimed{background:#fff3cd;opacity:.8}.item-card.resolved{background:#d4edda;opacity:.7}.status-badge.claimed{background:#ffc107;color:#333}.status-badge.resolved{background:#6c757d;color:#fff}.form-group.with-visibility-toggle{position:relative}.field-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.field-header label{margin-bottom:0}.visibility-toggle{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.visibility-toggle.visible{background:#d4edda;color:#155724}.visibility-toggle.visible:hover{background:#c3e6cb}.visibility-toggle.visible.locked{background:#e2e3e5;color:#6c757d;cursor:not-allowed;opacity:.8}.visibility-toggle.visible.locked:hover{background:#e2e3e5}.visibility-toggle.hidden{background:#f8d7da;color:#721c24}.visibility-toggle.hidden:hover{background:#f5c6cb}.field-visibility-info{background:#f8f9fa;border-radius:6px;color:#666;font-size:.85rem;margin:1rem 0;padding:.75rem 1rem}.field-visibility-info p{align-items:center;display:flex;gap:.5rem;margin:.25rem 0}.field-visibility-info svg{width:16px}.field-hidden{background:repeating-linear-gradient(45deg,#0000,#0000 5px,#6c757d0d 0,#6c757d0d 10px);opacity:.6;padding-right:2rem!important;position:relative}.hidden-indicator{align-items:center;color:#dc3545;display:flex;font-size:.85rem;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.item-images.field-hidden{padding-right:0!important}.item-images.field-hidden .hidden-indicator{background:#dc3545e6;border-radius:4px;color:#fff;padding:.25rem .5rem;right:8px;top:8px;transform:none}.detail-row.field-hidden,.item-description.field-hidden{border-radius:4px;margin-left:-.5rem;padding:.25rem .5rem}.images-section .image-upload-container{margin-top:0}@media (max-width:768px){.items-grid{grid-template-columns:1fr}.field-header{flex-wrap:wrap;gap:.5rem}}.offers-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:2rem}.offer-card{background:#fff;border:2px solid #e0e0e0;border-left:4px solid #007bff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:all .3s ease}.offer-images{height:150px;overflow:hidden;position:relative;width:100%}.offer-thumbnail{height:100%;object-fit:cover;width:100%}.offer-card .more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:8px}.offer-card .offer-actions,.offer-card .offer-company,.offer-card .offer-contact,.offer-card .offer-description,.offer-card .offer-details,.offer-card .offer-header,.offer-card .offer-section{padding-left:1.5rem;padding-right:1.5rem}.offer-card .offer-header{padding-top:1rem}.offer-card .offer-actions{padding-bottom:1.5rem}.offer-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.offer-card.active{border-left-color:#28a745}.offer-card.closed{border-left-color:#6c757d;opacity:.8}.offer-card.filled{background:#fff3cd;border-left-color:#ffc107}.offer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.offer-header h3{color:#333;font-size:1.3rem;margin:0}.offer-badges{align-items:center;display:flex;gap:.5rem}.offer-card .visibility-badge{align-items:center;border-radius:4px;display:flex;font-size:.75rem;padding:.25rem .5rem}.offer-card .visibility-badge.public{background:#d4edda;color:#155724}.offer-card .visibility-badge.private{background:#f8d7da;color:#721c24}.offer-company{color:#666;font-weight:600;margin:.5rem 0}.offer-description{color:#555;line-height:1.6;margin:1rem 0}.offer-details,.offer-section{font-size:.9rem;margin:1rem 0}.offer-section ul{color:#555;margin:.5rem 0;padding-left:1.5rem}.offer-contact{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem;margin:.5rem 0}.offer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}@media (max-width:768px){.offers-grid{grid-template-columns:1fr}}.items-grid{margin-top:2rem}.item-card{background:#fff;border:2px solid #e0e0e0;border-left:4px solid #28a745;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:all .3s ease}.item-images{height:150px;overflow:hidden;position:relative;width:100%}.item-thumbnail{height:100%;object-fit:cover;width:100%}.item-card .more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:8px}.item-card .item-actions,.item-card .item-description,.item-card .item-details,.item-card .item-header{padding-left:1.5rem;padding-right:1.5rem}.item-card .item-header{padding-top:1rem}.item-card .item-actions{padding-bottom:1.5rem}.item-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.item-card.available{border-left-color:#28a745}.item-card.reserved{background:#fff3cd;border-left-color:#ffc107}.item-card.taken{background:#e9ecef;border-left-color:#6c757d;opacity:.8}.item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.item-header h3{color:#333;font-size:1.2rem;margin:0}.item-badges{align-items:center;display:flex;gap:.5rem}.item-card .visibility-badge{align-items:center;border-radius:4px;display:flex;font-size:.75rem;padding:.25rem .5rem}.item-card .visibility-badge.public{background:#d4edda;color:#155724}.item-card .visibility-badge.private{background:#f8d7da;color:#721c24}.status-badge.available{background:#28a745;color:#fff}.status-badge.reserved{background:#ffc107;color:#333}.status-badge.taken{background:#6c757d;color:#fff}.item-description{color:#666;line-height:1.5;margin:.5rem 0}.item-details{font-size:.9rem;margin:1rem 0}.detail-row{margin:.5rem 0}.detail-row strong{margin-right:.5rem}.item-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.action-button{border-radius:4px;transition:all .3s ease}.action-button.success{background:#28a745;color:#fff}.action-button.success:hover{background:#218838}.action-button.edit{background:#17a2b8;color:#fff}.action-button.edit:hover{background:#138496}.action-button.delete{background:#dc3545;color:#fff}.action-button.delete:hover{background:#c82333}@media (max-width:768px){.items-grid{grid-template-columns:1fr}}.system-settings-module{display:flex;flex-direction:column;gap:1.5rem}.sub-tabs{border-bottom:2px solid #e0e0e0;margin-bottom:.5rem}.sub-tab,.sub-tabs{display:flex;gap:.5rem}.sub-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.75rem 1.25rem;transition:all .2s}.sub-tab:hover{background:#3965ac0d;color:#3965ac}.sub-tab.active{border-bottom-color:#3965ac;color:#3965ac}.tab-content{display:flex;flex-direction:column;gap:1.5rem}.settings-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.settings-card h3{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1.25rem}.settings-card .form-group{margin-bottom:1rem}.settings-card .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.settings-card .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.5rem 0}.settings-card .checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.settings-card input[type=text]{border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;padding:.6rem .75rem;width:100%}.settings-card input[type=text]:focus{border-color:#3965ac;outline:none}.settings-card label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.section-header{flex-wrap:wrap;gap:1rem}.section-header h3{align-items:center;display:flex;gap:.5rem}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.year-select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.95rem;padding:.5rem 1rem}.year-select:focus{border-color:#3965ac;outline:none}.empty-state svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{margin:.5rem 0}.empty-state .hint{font-size:.85rem;font-style:italic}.holidays-table-container{overflow-x:auto}.holidays-table-container .admin-table{border-collapse:collapse;width:100%}.holidays-table-container td,.holidays-table-container th{border-bottom:1px solid #e0e0e0;padding:.75rem 1rem;text-align:left}.holidays-table-container th{background:#f8f9fa;color:#333;font-size:.9rem;font-weight:600}.actions-cell{display:flex;gap:.5rem}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.action-btn.edit{background:#e8f0fe;color:#3965ac}.action-btn.edit:hover{background:#3965ac;color:#fff}.action-btn.delete{background:#fce8e8;color:#dc3545}.action-btn.delete:hover{background:#dc3545;color:#fff}.holiday-type{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.holiday-type.api{background:#e8f5e9;color:#2e7d32}.holiday-type.custom{background:#fff3e0;color:#ef6c00}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-form label{color:#333;font-weight:500}.modal-form input,.modal-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s}.modal-form input:focus,.modal-form select:focus{border-color:#3965ac;outline:none}.modal-form .help-text{color:#666;font-size:.8rem}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.sync-modal{gap:1.5rem}.sync-form,.sync-modal{display:flex;flex-direction:column}.sync-form{gap:1rem}.sync-form .form-group{display:flex;flex-direction:column;gap:.5rem}.sync-form label{color:#333;font-weight:500}.sync-form input,.sync-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.75rem 1rem}.sync-form input:focus,.sync-form select:focus{border-color:#3965ac;outline:none}.sync-form .help-text{color:#666;font-size:.8rem}.sync-preview{border-top:2px solid #e0e0e0;padding-top:1.5rem}.preview-header h4{color:#333;margin:0 0 .5rem}.preview-hint{align-items:center;background:#fff8e1;border-radius:6px;color:#6d4c00;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.preview-hint svg{color:#ffc107}.preview-list{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;max-height:300px;overflow-y:auto}.preview-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 1rem}.preview-item:last-child{border-bottom:none}.preview-item:hover{background:#f8f9fa}.preview-info{align-items:center;display:flex;gap:1rem}.preview-date{color:#3965ac;font-weight:500;min-width:100px}.preview-name{color:#333}.btn-remove{background:#0000;border:none;border-radius:4px;color:#dc3545;cursor:pointer;padding:.5rem;transition:all .2s}.btn-remove:hover{background:#fce8e8}.preview-actions{display:flex;gap:.75rem}.empty-preview{background:#f8f9fa;border-radius:8px;color:#888;font-style:italic;padding:2rem;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.sub-tabs{flex-wrap:nowrap;overflow-x:auto}.sub-tab{font-size:.9rem;padding:.6rem 1rem;white-space:nowrap}.settings-card .form-row{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column}.header-controls{flex-direction:column;width:100%}.header-controls .btn,.header-controls .year-select{width:100%}.holidays-table-container{font-size:.85rem}.holidays-table-container td,.holidays-table-container th{padding:.5rem .75rem}.form-actions,.preview-actions{flex-direction:column}.form-actions .btn,.preview-actions .btn{justify-content:center;width:100%}.preview-item{gap:.5rem}.preview-info,.preview-item{align-items:flex-start;flex-direction:column}.preview-info{gap:.25rem}.btn-remove{align-self:flex-end}}.image-upload-settings{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.image-upload-settings .form-group{display:flex;flex-direction:column;gap:.5rem}.image-upload-settings input[type=number]{border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;padding:.6rem .75rem;width:100%}.image-upload-settings input[type=number]:focus{border-color:#3965ac;outline:none}.help-text{line-height:1.5}.admin-info{background:#f8f9fa;border-radius:6px;margin-top:1rem;padding:1rem}.admin-info p{color:#666;font-size:.9rem;margin:.5rem 0}.admin-info strong{color:#333}.admin-list,.admin-table{margin-top:1rem}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e0e0e0;padding:.75rem 1rem;text-align:left}.admin-table th{background:#f8f9fa;color:#333;font-size:.9rem;font-weight:600}.current-user-badge{background:#e8f5e9;border-radius:4px;color:#2e7d32;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.tabs-config{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.tabs-config h4{color:#3965ac;font-size:1.1rem;margin:0}.tabs-config .checkbox-label{align-items:center;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.tabs-config .checkbox-label:hover{background:#f8f9fa;border-color:#3965ac}.tabs-config .checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.enabled-tabs-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.tab-order-item{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.tab-order-item:hover{background:#f0f4ff;border-color:#3965ac}.tab-order-controls{display:flex;flex-direction:column;gap:.25rem}.order-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:.25rem .5rem;transition:all .2s}.order-button:hover:not(:disabled){background:#3965ac;border-color:#3965ac;color:#fff}.order-button:disabled{cursor:not-allowed;opacity:.4}.tab-order-label{color:#333;flex:1 1;font-weight:500}.remove-tab-button{align-items:center;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;padding:.5rem;transition:all .2s}.remove-tab-button:hover{background:#fcc;border-color:#c33}@media (max-width:768px){.image-upload-settings{grid-template-columns:1fr}}.rooms-module{width:100%}.rooms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem}.room-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s}.room-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.room-images{height:150px;overflow:hidden;position:relative;width:100%}.room-thumbnail{height:100%;object-fit:cover;width:100%}.more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:8px}.room-header{align-items:flex-start;background:linear-gradient(135deg,#3965ac,#4a7bc8);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:1rem 1.25rem}.room-header h3{align-items:center;color:#fff;display:flex;font-size:1.1rem;gap:.5rem;margin:0}.room-badges{display:flex;flex-wrap:wrap;gap:.5rem}.visibility-badge{align-items:center;border-radius:4px;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.visibility-badge.public{background:#fff3;color:#fff}.visibility-badge.private{background:#0003;color:#ffffffe6}.reservable-badge{align-items:center;border-radius:4px;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.reservable-badge.reservable{background:#28a7454d;color:#fff}.reservable-badge.not-reservable{background:#dc35454d;color:#ffffffe6}.reservable-toggle{align-items:center;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem}.reservable-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.reservable-toggle .toggle-label{align-items:center;color:#333;display:flex;font-weight:500;gap:.5rem}.reservable-toggle .toggle-label svg{font-size:1.1rem}.room-details{padding:1.25rem}.detail-row{color:#555;margin-bottom:.5rem}.detail-row strong{color:#333}.room-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.feature-tag{background:#e8f0fe;border-radius:12px;color:#3965ac;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.room-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:.5rem;padding:1rem 1.25rem}.action-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.action-button.edit{background:#e8f0fe;color:#3965ac}.action-button.edit:hover{background:#d0e1fc}.action-button.delete{background:#fce8e8;color:#dc3545}.action-button.delete:hover{background:#f9d0d0}.room-form .features-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:.5rem}.room-form .time-inputs{align-items:center;display:flex;gap:.5rem;margin-top:.75rem}.room-form .time-inputs input{border:2px solid #e0e0e0;border-radius:6px;padding:.5rem}.room-form .time-inputs.global-time{background:#f8f9fa;border-radius:8px;padding:1rem}.room-form .time-inputs.global-time label{font-weight:500;margin-right:.5rem}.allowed-times-section select,.help-text{margin-bottom:1rem}.help-text{color:#666;font-size:.9rem}.specific-days-container{background:#f8f9fa;border-radius:8px;margin-top:.75rem;padding:1rem}.days-grid{display:flex;flex-direction:column;gap:.75rem}.day-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.day-item.selected{background:#f0f4ff;border-color:#3965ac}.day-checkbox{align-items:center;cursor:pointer;display:flex;gap:.5rem;min-width:120px}.day-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.day-name{font-weight:500}.day-times{align-items:center;display:flex;gap:.5rem}.day-times input{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .5rem}.per-date-container{background:#f8f9fa;border-radius:8px;margin-top:.75rem;padding:1rem}.add-date-row{display:flex;gap:.75rem;margin-bottom:1rem}.add-date-row input[type=date]{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;padding:.5rem}.btn-sm{font-size:.85rem;padding:.5rem 1rem}.dates-list{display:flex;flex-direction:column;gap:.5rem}.date-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.date-label{color:#333;font-weight:500;min-width:100px}.date-times{align-items:center;display:flex;flex:1 1;gap:.5rem}.date-times input{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .5rem}.remove-date-btn{align-items:center;background:#fce8e8;border:none;border-radius:4px;color:#dc3545;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.remove-date-btn:hover{background:#f9d0d0}.no-dates{color:#888;font-style:italic;padding:1rem;text-align:center}.allowed-times-display{margin-top:.75rem}.allowed-times-display strong{display:block;margin-bottom:.5rem}.time-badge{background:#e8f0fe;border-radius:4px;color:#3965ac;display:inline-block;font-size:.8rem;margin:.25rem .25rem .25rem 0;padding:.25rem .5rem}.time-badge.more{background:#f0f0f0;color:#666}.per-date-display,.specific-days-display{display:flex;flex-wrap:wrap;gap:.25rem}@media (max-width:768px){.room-form .features-grid,.rooms-grid{grid-template-columns:1fr}.room-form .time-inputs{align-items:flex-start;flex-direction:column}.room-actions{flex-direction:column}.action-button{justify-content:center}.day-item{align-items:flex-start;flex-direction:column}.day-times{margin-top:.5rem;width:100%}.date-item{align-items:flex-start;flex-direction:column}.date-times{margin-top:.5rem;width:100%}.add-date-row{flex-direction:column}}.events-module{width:100%}.events-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem}.event-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s}.event-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.event-card.past{background:#f9f9f9;opacity:.7}.event-header{align-items:flex-start;background:#3b82f6;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.event-header h3{color:#fff;flex:1 1;font-size:1.1rem;margin:0}.event-badges{display:flex;flex-shrink:0;gap:.5rem}.event-card .badge{align-items:center;border-radius:4px;display:flex;font-size:.7rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.event-card .badge.recurring{background:#fff3;color:#fff}.event-card .badge.visibility{background:#0003;color:#fff}.event-card .badge.visibility.public{background:#28a7454d}.event-description{color:#666;font-size:.9rem;line-height:1.5;margin:0;padding:1rem 1.25rem 0}.event-details{padding:1rem 1.25rem}.event-card .detail-row{color:#555;font-size:.9rem;margin-bottom:.5rem}.event-card .detail-row strong{color:#333}.event-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem}.action-button.registrations{align-items:center;background:linear-gradient(135deg,#28a745,#34ce57);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.action-button.registrations:hover{box-shadow:0 2px 8px #28a7454d;transform:translateY(-1px)}.event-form .recurring-options{margin-bottom:1rem}.event-form .recurring-options,.event-form .visibility-section{background:#f8f9fa;border-radius:8px;padding:1rem}.event-form .section-label{font-weight:600}.admin-registrations-list{max-width:100%}.registrations-header{border-bottom:2px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:1rem}.registrations-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:600px;overflow-y:auto;padding:.5rem}.registration-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .2s}.registration-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.registration-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.registration-header h4{color:#333;flex:1 1;font-size:1.1rem;margin:0}.registration-actions{display:flex;gap:.5rem}.action-button-small{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;padding:.4rem .6rem;transition:all .2s}.action-button-small.edit{background:#3965ac;color:#fff}.action-button-small.edit:hover{background:#2d4f8a}.action-button-small.delete{background:#dc3545;color:#fff}.action-button-small.delete:hover{background:#c82333}.registration-details{display:flex;flex-direction:column;gap:.5rem}.registration-detail-row{display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.registration-detail-row strong{color:#555;font-weight:600}.registration-detail-row span{color:#666}.event-form .visibility-help{color:#666;font-size:.85rem;margin-bottom:1rem}.event-form .visibility-option{align-items:center;background:#fff;border-radius:6px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem}.event-form .visibility-option span{align-items:center;display:flex;gap:.5rem}.event-form .visibility-option small{color:#666;font-size:.8rem}.event-form .categories-section{background:#fff;border-radius:6px;padding:1rem}.event-form .categories-section>label{display:block;font-weight:500;margin-bottom:.75rem}.event-form .categories-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.event-form .visibility-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:.85rem;margin-top:.75rem;padding:.75rem}.collision-warning{background:#ffebee;border:2px solid #f44336;border-radius:8px;color:#c62828;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem}.collision-warning>svg{color:#f44336;flex-shrink:0;font-size:1.5rem}.collision-warning .warning-content{flex:1 1}.collision-warning strong{color:#b71c1c;display:block;margin-bottom:.5rem}.collision-warning .warning-list{list-style-type:disc;margin:.5rem 0;padding-left:1.5rem}.collision-warning .warning-list li{font-size:.95rem;margin-bottom:.25rem}.collision-warning .warning-note{color:#8d6e63;font-size:.9rem;font-style:italic;margin:.75rem 0 0}@media (max-width:768px){.events-grid{grid-template-columns:1fr}.event-header{flex-direction:column;gap:.5rem}.event-badges{align-self:flex-start}.event-actions{flex-direction:column}}.storage-module{width:100%}.storage-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}.storage-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.storage-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.storage-card.asset{border-left:4px solid #3965ac}.storage-card.material{border-left:4px solid #28a745}.storage-card.equipment{border-left:4px solid #17a2b8}.storage-card.supply{border-left:4px solid #ffc107}.storage-card.other{border-left:4px solid #6c757d}.storage-images{height:150px;overflow:hidden;position:relative;width:100%}.storage-thumbnail{height:100%;object-fit:cover;width:100%}.storage-card .more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.8rem;padding:.25rem .5rem;position:absolute;right:8px}.storage-content{flex:1 1;padding:1.25rem}.storage-header{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.storage-card .category-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;text-transform:capitalize}.category-badge.asset{background:#e3ecf7;color:#3965ac}.category-badge.material{background:#d4edda;color:#155724}.category-badge.equipment{background:#d1ecf1;color:#0c5460}.category-badge.supply{background:#fff3cd;color:#856404}.category-badge.other{background:#e2e3e5;color:#383d41}.storage-card .condition-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:500;padding:.2rem .6rem}.condition-badge.new{background:#d4edda;color:#155724}.condition-badge.good{background:#cce5ff;color:#004085}.condition-badge.fair{background:#fff3cd;color:#856404}.condition-badge.poor{background:#ffeeba;color:#856404}.condition-badge.damaged{background:#f8d7da;color:#721c24}.storage-card h3{color:#333;font-size:1.1rem;margin:0 0 .5rem}.storage-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.9rem;margin:0 0 1rem;overflow:hidden}.quantity-section{background:#f8f9fa;border-radius:8px;gap:1rem;margin-bottom:1rem;padding:.75rem}.quantity-btn,.quantity-section{align-items:center;display:flex;justify-content:center}.quantity-btn{border:none;border-radius:50%;cursor:pointer;height:32px;transition:all .2s ease;width:32px}.quantity-btn.minus{background:#f8d7da;color:#721c24}.quantity-btn.minus:hover:not(:disabled){background:#f5c6cb}.quantity-btn.plus{background:#d4edda;color:#155724}.quantity-btn.plus:hover{background:#c3e6cb}.quantity-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-value{color:#333;font-size:1.25rem;font-weight:600;min-width:80px;text-align:center}.storage-details{margin-bottom:.5rem}.storage-card .detail-row{color:#666;font-size:.85rem;margin:.25rem 0}.storage-card .detail-row strong{color:#333}.storage-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:.5rem;padding:1rem 1.25rem}.storage-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.empty-state{grid-column:1/-1}@media (max-width:768px){.storage-form .form-row,.storage-grid{grid-template-columns:1fr}.storage-actions{flex-direction:column}}.reservation-module{width:100%}.reservation-layout{display:flex;gap:2rem;margin-top:1.5rem}.reservation-sidebar{flex-shrink:0;width:280px}.reservation-sidebar h3{color:#333;font-size:1.1rem;margin:0 0 1rem}.room-list{display:flex;flex-direction:column;gap:.5rem}.room-select-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:all .2s}.room-select-btn:hover{background:#f0f4ff;border-color:#3965ac}.room-select-btn.selected{background:linear-gradient(135deg,#3965ac,#4a7bc8);border-color:#3965ac;color:#fff}.room-select-btn .capacity{font-size:.85rem;margin-left:auto;opacity:.7}.no-rooms{color:#888;font-style:italic;padding:1rem;text-align:center}.reservation-main{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;flex:1 1;padding:1.5rem}.date-selector{margin-bottom:1.5rem}.date-selector label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.date-selector input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;min-width:200px;padding:.75rem 1rem}.date-selector input:focus{border-color:#3965ac;outline:none}.time-selection{margin-top:1.5rem}.time-selection h3{color:#333;font-size:1.1rem;margin:0 0 1rem}.slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.slot-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.875rem 1rem;transition:all .2s}.slot-btn.available{background:#e8f5e9;border-color:#28a745}.slot-btn.available:hover{background:#c8e6c9;box-shadow:0 4px 12px #28a74533;transform:translateY(-2px)}.slot-btn.unavailable{background:#fce8e8;border-color:#dc3545;cursor:not-allowed;opacity:.7}.status-icon{margin-left:auto}.status-icon.available{color:#28a745}.status-icon.unavailable{color:#dc3545}.no-slots{color:#888;font-style:italic;padding:2rem;text-align:center}.select-room-prompt{align-items:center;color:#888;display:flex;flex-direction:column;justify-content:center;padding:3rem}.select-room-prompt svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.reservations-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:2rem;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h3{color:#333;font-size:1.1rem;margin:0}.filter-buttons{display:flex;gap:.5rem}.filter-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.filter-btn.active,.filter-btn:hover{border-color:#3965ac}.filter-btn.active{background:#3965ac;color:#fff}.reservations-list{display:flex;flex-direction:column;gap:.75rem}.reservation-card{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem 1.25rem}.reservation-info{display:flex;flex-direction:column;gap:.25rem}.info-row{align-items:center;color:#555;display:flex;font-size:.9rem;gap:.5rem}.info-row svg{color:#3965ac}.info-row .room-name{color:#333;font-weight:600}.info-row.purpose{color:#888;font-style:italic}.reservation-status{align-items:center;display:flex;gap:.75rem}.status-badge{font-size:.8rem;font-weight:500}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.confirmed{background:#d4edda;color:#155724}.status-badge.cancelled{background:#f8d7da;color:#721c24}.cancel-btn{align-items:center;background:#fce8e8;border:none;border-radius:6px;color:#dc3545;cursor:pointer;display:flex;font-size:.8rem;gap:.25rem;padding:.4rem .75rem;transition:all .2s}.cancel-btn:hover{background:#f9d0d0}.no-reservations{color:#888;font-style:italic;padding:2rem;text-align:center}.reservation-form{padding:.5rem}.reservation-summary{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.summary-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.summary-row:last-child{margin-bottom:0}.summary-row strong{color:#555}@media (max-width:900px){.reservation-layout{flex-direction:column}.reservation-sidebar{width:100%}.room-list{flex-direction:row;flex-wrap:wrap}.room-select-btn{flex:1 1;max-width:calc(50% - .25rem);min-width:150px}}@media (max-width:600px){.slots-grid{grid-template-columns:1fr 1fr}.room-select-btn{max-width:100%}.reservation-card{align-items:flex-start;flex-direction:column;gap:.75rem}.reservation-status{justify-content:space-between;width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:.75rem}}.holiday-warning{background:#fff8e1;border:2px solid #ffc107;border-radius:8px;color:#6d4c00;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem}.holiday-warning>svg{color:#ffc107;flex-shrink:0;font-size:1.5rem}.holiday-warning .warning-content{flex:1 1}.holiday-warning strong{color:#5d4037;display:block;margin-bottom:.25rem}.holiday-warning p{font-size:.95rem;margin:0 0 .75rem}.holiday-warning p strong{color:#d84315;display:inline}.btn-warning{background:#ffc107;border:none;border-radius:6px;color:#5d4037;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-warning:hover{background:#ffb300}.btn-small{font-size:.85rem;padding:.4rem .75rem}.time-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.time-inputs .form-group{flex:1 1;min-width:150px}.time-inputs label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.time-inputs input[type=time]{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem 1rem;width:100%}.time-inputs input[type=time]:focus{border-color:#3965ac;outline:none}.time-inputs .btn{white-space:nowrap}.reservation-warning{background:#ffebee;border:2px solid #f44336;border-radius:8px;color:#c62828;display:flex;gap:1rem;margin:1rem 0;padding:1rem 1.25rem}.reservation-warning>svg{color:#f44336;flex-shrink:0;font-size:1.5rem}.reservation-warning .warning-content{flex:1 1}.reservation-warning strong{color:#b71c1c;display:block;margin-bottom:.5rem}.reservation-warning .warning-list{list-style-type:disc;margin:.5rem 0;padding-left:1.5rem}.reservation-warning .warning-list li{font-size:.95rem;margin-bottom:.25rem}.reservation-warning .warning-note{color:#8d6e63;font-size:.9rem;font-style:italic;margin:.75rem 0 0}.time-slots h4{color:#333;font-size:1rem;font-weight:500;margin:1.5rem 0 1rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem;margin-bottom:1rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.logs-module{width:100%}.header-actions{display:flex;gap:.75rem}.btn-danger{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.6rem 1rem;transition:all .2s}.btn-danger:hover{background:#c82333}.logs-controls{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding:1rem}.search-box input{border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.search-box input:focus{border-color:#3965ac;outline:none}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.filter-controls>svg{color:#888;margin-right:.5rem}.filter-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-size:.8rem;gap:.35rem;padding:.5rem .75rem;transition:all .2s}.filter-button:hover{border-color:#3965ac}.filter-button.active{background:#3965ac;border-color:#3965ac;color:#fff}.filter-label{display:none}@media (min-width:1200px){.filter-label{display:inline}}.logs-stats{color:#666;font-size:.9rem;margin:1rem 0}.logs-list{display:flex;flex-direction:column;gap:.75rem}.log-item{background:#fff;border-left:4px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000f;display:flex;gap:1rem;padding:1rem 1.25rem;transition:box-shadow .2s}.log-item:hover{box-shadow:0 4px 12px #0000001a}.log-item.auth{border-left-color:#28a745}.log-item.user{border-left-color:#17a2b8}.log-item.event{border-left-color:#3965ac}.log-item.room{border-left-color:#6f42c1}.log-item.reservation{border-left-color:#fd7e14}.log-item.project{border-left-color:#20c997}.log-item.notification{border-left-color:#ffc107}.log-item.system{border-left-color:#6c757d}.log-item.other{border-left-color:#adb5bd}.log-icon{align-items:center;background:#f0f4ff;border-radius:50%;color:#3965ac;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.log-item.auth .log-icon{background:#e8f5e9;color:#28a745}.log-item.user .log-icon{background:#e0f7fa;color:#17a2b8}.log-item.room .log-icon{background:#f3e5f5;color:#6f42c1}.log-item.reservation .log-icon{background:#fff3e0;color:#fd7e14}.log-item.project .log-icon{background:#e0f2f1;color:#20c997}.log-item.notification .log-icon{background:#fffde7;color:#ffc107}.log-item.system .log-icon{background:#eceff1;color:#6c757d}.log-content{flex:1 1;min-width:0}.log-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.log-action{color:#333;font-weight:600}.log-category{background:#f0f0f0;border-radius:4px;color:#666;font-size:.75rem;padding:.2rem .5rem;white-space:nowrap}.log-category.auth{background:#e8f5e9;color:#28a745}.log-category.user{background:#e0f7fa;color:#17a2b8}.log-category.event{background:#e8f0fe;color:#3965ac}.log-category.room{background:#f3e5f5;color:#6f42c1}.log-category.reservation{background:#fff3e0;color:#fd7e14}.log-category.project{background:#e0f2f1;color:#20c997}.log-category.notification{background:#fffde7;color:#ffc107}.log-category.system{background:#eceff1;color:#6c757d}.log-details{color:#666;font-size:.9rem;line-height:1.4;margin:.5rem 0}.log-meta{color:#888;display:flex;font-size:.8rem;gap:1.5rem;margin-top:.5rem}.log-time,.log-user{align-items:center;display:flex;gap:.35rem}.empty-state{color:#888;padding:3rem}@media (max-width:768px){.log-item{flex-direction:column;gap:.75rem}.log-icon{height:32px;width:32px}.header-actions,.log-header,.log-meta{flex-direction:column;gap:.5rem}.filter-controls{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}.filter-button{flex-shrink:0}}.todo-lists-module{width:100%}.lists-container{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.list-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.list-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.list-header h3{align-items:center;color:#3965ac;display:flex;gap:.5rem;margin:0 0 .5rem}.list-description{color:#666;font-size:.9rem;margin:0}.list-actions{display:flex;gap:.5rem}.tasks-container{display:flex;flex-direction:column;gap:1rem}.no-tasks{color:#999;font-style:italic;padding:2rem;text-align:center}.task-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;transition:all .2s ease}.task-card:hover{box-shadow:0 2px 8px #0000001a}.task-card.completed{background:#f0fdf4;opacity:.7}.task-card.cancelled{background:#f9fafb;opacity:.6}.task-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.task-title-row{align-items:center;display:flex;flex:1 1;gap:1rem}.task-title-row h4{color:#333;flex:1 1;margin:0}.task-badges{display:flex;gap:.5rem}.priority-badge,.status-badge{border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.task-actions{display:flex;gap:.25rem}.task-description{color:#666;font-size:.9rem;margin:.5rem 0}.task-meta{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;padding-top:.75rem}.task-meta-item{align-items:center;color:#666;display:flex;font-size:.85rem;gap:.5rem}.task-meta-item.deadline-passed{color:#ef4444;font-weight:600}.warning-icon{color:#ef4444;margin-left:.25rem}.list-form,.task-form{display:flex;flex-direction:column;gap:1rem}@media (max-width:768px){.list-header{flex-direction:column;gap:1rem}.list-actions{justify-content:flex-start;width:100%}.task-header,.task-title-row{flex-direction:column;gap:.5rem}.task-title-row{align-items:flex-start}}.marriage-brokerage-module{width:100%}.module-description{color:#666;font-size:.9rem;margin-top:.5rem}.empty-state{color:#999;font-style:italic;padding:4rem 2rem;text-align:center}.empty-state p{font-size:1.1rem}.admin-page{background:#f5f7fa;min-height:100vh;min-width:320px}.admin-loading{align-items:center;justify-content:center}.admin-layout,.admin-loading{display:flex;min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,#3965ac,#be9830);color:#fff;display:flex;flex-direction:column;height:calc(100vh - 80px);left:0;min-width:240px;overflow:hidden;position:fixed;top:80px;transition:width .3s ease;width:320px;z-index:50}.admin-sidebar.collapsed{min-width:60px;width:60px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;min-height:50px;padding:.75rem 1rem}.sidebar-header h2{cursor:pointer;font-size:1.25rem;margin:0;transition:opacity .2s ease;white-space:nowrap}.sidebar-header h2:hover{opacity:.8}.sidebar-toggle{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .3s ease;width:36px}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{flex:1 1;overflow-y:auto;padding:.5rem}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:#ffffff1a;color:#fff}.sidebar-item.active{background:#fff3;color:#fff;font-weight:500}.sidebar-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.1rem;justify-content:center;width:24px}.sidebar-title{word-wrap:break-word;flex:1 1;line-height:1.3;white-space:normal}.admin-sidebar.collapsed .sidebar-item{justify-content:center;padding:.75rem}.admin-sidebar.collapsed .sidebar-title{display:none}.admin-main{flex:1 1;margin-left:320px;min-height:calc(100vh - 80px);transition:margin-left .3s ease}.admin-layout.sidebar-collapsed .admin-main{margin-left:60px}.admin-content{margin:0 auto;max-width:1600px;padding:2rem}.admin-welcome{padding:2rem;text-align:center}.admin-welcome h2{color:#3965ac;font-size:2rem;margin-bottom:.5rem}.admin-welcome p{color:#666;font-size:1.1rem;margin-bottom:2rem}.admin-cards-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:2rem}.admin-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;flex-direction:column;padding:1.5rem 1rem;text-align:center;transition:all .3s ease}.admin-card:hover{border-color:#3965ac;box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.admin-card-icon{color:#3965ac;font-size:2rem;margin-bottom:.75rem}.admin-card h3{color:#333;font-size:.95rem;font-weight:500;margin:0}.loading{font-size:1.1rem}@media (max-width:768px){.admin-sidebar{box-shadow:4px 0 20px #0003;height:calc(100vh - 100px);top:100px;transform:translateX(-100%);width:300px}.admin-sidebar:not(.collapsed){transform:translateX(0)}.admin-sidebar.collapsed{transform:translateX(-100%);width:300px}.admin-layout.sidebar-collapsed .admin-main,.admin-main{margin-left:0}.admin-content{padding:1rem}.mobile-toggle{align-items:center;background:#3965ac;border:none;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;left:1rem;position:fixed;top:1rem;width:44px;z-index:99}.admin-cards-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-card{padding:1rem .75rem}.admin-card-icon{font-size:1.5rem}.admin-card h3{font-size:.85rem}.admin-layout:not(.sidebar-collapsed):before{background:#00000080;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:99}}@media (min-width:1400px){.admin-cards-grid{grid-template-columns:repeat(5,1fr)}}.events-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;min-width:320px;padding:2rem}.events-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:1400px;min-width:320px;padding:2rem;width:100%}.events-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.events-header h1{color:#3965ac;font-size:2.5rem;margin:0}.events-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#3965ac,#be9830);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #3965ac4d;transform:translateY(-2px)}.view-selector{border:2px solid #e0e0e0;border-radius:6px;display:flex;gap:.5rem;padding:.25rem}.view-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.view-btn:hover{background:#f0f0f0}.view-btn.active{background:#3965ac;color:#fff}.loading{color:#666;font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:768px){.events-container,.events-page{min-width:320px;padding:1rem}.events-header{min-width:280px}.events-header h1{font-size:2rem;min-height:2.5rem}.events-actions{justify-content:center;min-width:280px;width:100%}.btn{font-size:.95rem;min-width:100px;padding:.7rem 1.2rem}.view-btn{font-size:.85rem;min-width:60px;padding:.4rem .8rem}}@media (max-width:480px){.events-container,.events-page{min-width:320px;padding:.75rem}.events-header h1{font-size:1.75rem;min-height:2.2rem}}.public-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;min-height:100vh;min-width:320px;padding:2rem}.public-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:1200px;min-width:320px;padding:2rem;width:100%}.public-container h1{color:#3965ac;font-size:2.5rem;margin-bottom:2rem;text-align:center}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));min-width:280px}.project-card{background:#f8f9fa;border:1px solid #e0e0e0;border-left:4px solid #3965ac;border-radius:8px;min-height:150px;min-width:280px;padding:1.5rem}.project-card.active{border-left-color:#28a745}.project-card.completed{border-left-color:#17a2b8}.project-card h3{color:#3965ac;margin:0 0 .5rem}.project-info{align-items:center;color:#666;display:flex;font-size:.9rem;justify-content:space-between;margin-top:1rem}.status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.status-badge.active{background:#28a745;color:#fff}.status-badge.completed{background:#17a2b8;color:#fff}.announcements-list{display:flex;flex-direction:column;gap:1rem}.announcement-card{background:#f8f9fa;border:1px solid #e0e0e0;border-left:4px solid #3965ac;border-radius:8px;min-height:120px;min-width:280px;padding:1.5rem}.announcement-card.info{border-left-color:#17a2b8}.announcement-card.success{border-left-color:#28a745}.announcement-card.warning{border-left-color:#ffc107}.announcement-card.error{border-left-color:#dc3545}.announcement-card h3{color:#3965ac;margin:0 0 .5rem}.announcement-card p{color:#333;margin:.5rem 0}.announcement-card small{color:#999;font-size:.85rem}.no-data{color:#999;font-style:italic;padding:2rem}.no-data,.page-subtitle{font-size:1.1rem;text-align:center}.page-subtitle{color:#666;margin-bottom:2rem}.filter-tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.filter-tab{background:#fff;border:2px solid #3965ac;border-radius:25px;color:#3965ac;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.filter-tab:hover{background:#f0f4f8}.filter-tab.active{background:#3965ac;color:#fff}.items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.public-item-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.public-item-card:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-4px)}.public-item-card.lost{border-left:4px solid #dc3545}.public-item-card.found{border-left:4px solid #28a745}.public-item-card.giveaway{border-left:4px solid #17a2b8}.public-item-card .item-image{height:200px;overflow:hidden;position:relative;width:100%}.public-item-card .item-image img{height:100%;object-fit:cover;width:100%}.public-item-card .more-images{background:#000000b3;border-radius:4px;bottom:8px;color:#fff;font-size:.85rem;padding:.25rem .5rem;position:absolute;right:8px}.public-item-card .item-content{padding:1.25rem}.public-item-card .item-category-badge{border-radius:15px;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.75rem;padding:.25rem .75rem;text-transform:uppercase}.public-item-card.lost .item-category-badge{background:#f8d7da;color:#721c24}.public-item-card.found .item-category-badge{background:#d4edda;color:#155724}.public-item-card h3{color:#333;font-size:1.2rem;margin:0 0 .75rem}.public-item-card .item-description{color:#666;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.public-item-card .item-details{display:flex;flex-direction:column;gap:.5rem}.public-item-card .detail-row{align-items:center;color:#555;display:flex;font-size:.9rem;gap:.5rem}.public-item-card .detail-row svg{color:#3965ac;min-width:16px}.public-item-card .condition-badge{border-radius:4px;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.public-item-card .condition-badge.new{background:#d4edda;color:#155724}.public-item-card .condition-badge.like_new{background:#cce5ff;color:#004085}.public-item-card .condition-badge.good{background:#fff3cd;color:#856404}.public-item-card .condition-badge.fair{background:#f8d7da;color:#721c24}@media (max-width:768px){.public-page{min-width:320px;padding:1rem}.public-container{min-width:320px;padding:1.5rem}.public-container h1{font-size:2rem;min-height:2.5rem}.projects-grid{grid-template-columns:1fr;min-width:280px}.project-card{min-height:140px;min-width:280px}.announcement-card{min-height:110px;min-width:280px}.filter-tabs{flex-wrap:wrap;gap:.5rem}.filter-tab{font-size:.9rem;padding:.5rem 1rem}.items-grid{grid-template-columns:1fr}.public-item-card .item-image{height:180px}}@media (max-width:480px){.public-page{min-width:320px;padding:.75rem}.public-container{min-width:320px;padding:1rem}.public-container h1{font-size:1.75rem;min-height:2.2rem}.project-card{min-height:130px;min-width:260px;padding:1.25rem}.announcement-card{min-height:100px;min-width:260px;padding:1.25rem}}.dashboard-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;min-width:320px;padding:2rem}.dashboard-container{margin:0 auto;max-width:1200px;min-width:320px;width:100%}.dashboard-header{background:linear-gradient(135deg,#3965ac,#2d4f8a);border-radius:12px;color:#fff;margin-bottom:3rem;padding:2rem;text-align:center}.dashboard-header h1{font-size:2.5rem;margin:0 0 .5rem}.dashboard-header p{font-size:1.2rem;margin:0;opacity:.9}.dashboard-features{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));min-width:280px}.dashboard-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;min-height:200px;min-width:250px;padding:2rem;text-align:center;transition:all .3s ease}.dashboard-card:hover{border-color:#3965ac;box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.dashboard-icon{color:#3965ac;font-size:3rem;margin-bottom:1rem;transition:transform .3s ease}.dashboard-card:hover .dashboard-icon{transform:scale(1.1)}.dashboard-card h3{color:#333;font-size:1.3rem;margin:0 0 .5rem}.dashboard-card p{color:#666;font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.dashboard-page{min-width:320px;padding:1rem}.dashboard-container{min-width:320px}.dashboard-header{min-width:280px;padding:1.5rem}.dashboard-header h1{font-size:2rem;min-height:2.5rem}.dashboard-header p{font-size:1rem;min-height:1.2rem}.dashboard-features{grid-template-columns:1fr;min-width:280px}.dashboard-card{min-height:180px;min-width:280px;padding:1.5rem}}@media (max-width:480px){.dashboard-page{min-width:320px;padding:.75rem}.dashboard-card{min-height:160px;min-width:280px;padding:1.25rem}.dashboard-icon{font-size:2.5rem}}.App{flex-direction:column;min-height:100vh}.App,.main-content{display:flex;min-width:320px}.main-content{flex:1 1;flex-direction:column;padding-top:80px}@media (max-width:768px){.main-content{padding-top:100px}}
/*# sourceMappingURL=main.41f53a74.css.map*/