@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";.system-logo{display:flex;align-items:center;gap:var(--spacing-3);animation:logoEntrance .8s ease-out}.logo-vertical{flex-direction:column;text-align:center}.system-logo.loading{opacity:.7}.logo-image{-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius);border:none;animation:logoImageEntrance 1s ease-out .2s both}.logo-placeholder{display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:var(--border-radius);font-weight:700;text-align:center;animation:logoPlaceholderEntrance 1s ease-out .2s both}.loading-placeholder{background-color:var(--background-color);border:1px solid var(--border-color)}.logo-skeleton{background:linear-gradient(90deg,var(--background-color) 25%,var(--border-color) 50%,var(--background-color) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--border-radius)}.logo-text{display:flex;flex-direction:column;gap:var(--spacing-1);animation:logoTextEntrance .8s ease-out .4s both}.logo-title{margin:0;color:var(--title-color, var(--text-primary));font-weight:600}.logo-subtitle{margin:0;color:var(--subtitle-color, var(--text-secondary));font-size:.9rem}.logo-small .logo-image{width:40px;height:40px}.logo-small .logo-placeholder{width:40px;height:40px;font-size:.8rem}.logo-small .logo-title{font-size:1.1rem}.logo-small .logo-subtitle{font-size:.85rem}.logo-medium .logo-image{width:80px;height:80px}.logo-medium .logo-placeholder{width:80px;height:80px;font-size:1.2rem}.logo-medium .logo-title{font-size:1.4rem}.logo-medium .logo-subtitle{font-size:1rem}.logo-large .logo-image{width:120px;height:120px}.logo-large .logo-placeholder{width:120px;height:120px;font-size:1.4rem}.logo-large .logo-title{font-size:2.2rem}.logo-large .logo-subtitle{font-size:1.2rem}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes logoEntrance{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes logoImageEntrance{0%{opacity:0;transform:scale(.8) rotate(-5deg)}50%{opacity:.8;transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes logoPlaceholderEntrance{0%{opacity:0;transform:scale(.8) rotate(-5deg)}50%{opacity:.8;transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes logoTextEntrance{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.system-logo{gap:var(--spacing-2)}.logo-small .logo-image{width:32px;height:32px}.logo-small .logo-placeholder{width:32px;height:32px;font-size:.7rem}.logo-medium .logo-image{width:60px;height:60px}.logo-medium .logo-placeholder{width:60px;height:60px;font-size:1rem}.logo-large .logo-image{width:100px;height:100px}.logo-large .logo-placeholder{width:100px;height:100px;font-size:1.2rem}.logo-large .logo-title{font-size:1.8rem}.logo-large .logo-subtitle{font-size:1rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);background:#f5f5f5}.auth-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:40px;width:100%;max-width:400px;text-align:center}.auth-header{margin-bottom:32px;text-align:center}.auth-header .auth-logo{margin:0 auto 24px;display:flex;justify-content:center;align-items:center;animation:authLogoEntrance 1.2s ease-out}.auth-header h1{margin:0;color:#2c3e50;font-size:24px;font-weight:700;letter-spacing:-.5px;text-align:center}.auth-form{text-align:left}.form-group{margin-bottom:24px}.auth-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box}.auth-input:focus{outline:none;border-color:var(--primary-color, #332c68);box-shadow:0 0 0 3px #332c681a}.auth-input:disabled{background-color:#f8f9fa;cursor:not-allowed}.auth-input::-moz-placeholder{color:#999}.auth-input::placeholder{color:#999}.auth-input.input-error{border-color:#dc3545}.auth-input.input-error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{background-color:#fee;color:#dc3545;padding:12px;border-radius:8px;font-size:14px;font-weight:500;border:1px solid #fcc;text-align:center;margin-bottom:16px}.auth-button{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary-color, #332c68) 0%,var(--primary-dark, #2a2454) 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #332c684d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}@keyframes authLogoEntrance{0%{opacity:0;transform:scale(.5) rotate(-180deg)}50%{opacity:.8;transform:scale(1.2) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media (max-width: 480px){.auth-container{padding:16px}.auth-card{padding:32px 24px}.auth-header h1{font-size:20px}}.tab-component{margin-bottom:var(--spacing-5)}.tab-headers{display:flex;border-radius:var(--border-radius) var(--border-radius) 0 0;overflow:hidden;background-color:var(--background-color);border:1px solid var(--border-color);border-bottom:none}.tab-header{padding:var(--spacing-3) var(--spacing-4);background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-2);flex:1;justify-content:center;transition:all var(--transition-normal)}.tab-header.active{background-color:#fff;color:var(--primary-color);font-weight:500}.tab-header:not(.active):hover{background-color:#00000008}.tab-content{background-color:#fff;padding:var(--spacing-4);border:1px solid var(--border-color);border-radius:0 0 var(--border-radius) var(--border-radius)}.tab-icon{display:inline-flex;align-items:center}@media (max-width: 768px){.tab-header{padding:var(--spacing-3) var(--spacing-2);font-size:.9rem}}@media (max-width: 480px){.tab-header span:not(.tab-icon){display:none}.tab-header{padding:var(--spacing-3)}}.report-generation-page{padding:var(--spacing-6)}.report-generation-page h2{margin-bottom:var(--spacing-4);color:var(--text-primary);font-size:1.5rem}.report-generation-page h3{margin-bottom:var(--spacing-3);color:var(--text-secondary);font-size:1.2rem}.report-form-section{margin-bottom:var(--spacing-5)}.report-link-section{margin:var(--spacing-4) 0;padding:var(--spacing-4);background-color:var(--background-color);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-3)}.report-link{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--primary-color);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.report-link:hover{color:var(--primary-dark);text-decoration:underline}.process-button{margin-top:var(--spacing-3)}.messages-section{margin-top:var(--spacing-6)}.message-textarea{width:100%;height:120px;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;margin-bottom:var(--spacing-3);font-family:inherit}.copy-button{background-color:var(--primary-color);color:#fff}.processing-error{margin:var(--spacing-3) 0;padding:var(--spacing-3);background-color:#f443361a;border-radius:var(--border-radius)}.report-table-section{margin-top:var(--spacing-6)}.table-container{overflow-x:auto;margin-bottom:var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse}th{background-color:#ff0;color:var(--text-primary);font-weight:700;text-align:left;padding:var(--spacing-3);border:1px solid #c0c000}td{padding:var(--spacing-3);border:1px solid #c0c000}tr:nth-child(2n){background-color:#f9f9f9}.table-actions{display:flex;gap:var(--spacing-3);flex-wrap:wrap}@media (max-width: 768px){.report-generation-page{padding:var(--spacing-4)}.table-actions{flex-direction:column}.table-actions button{width:100%}}.select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;font-size:14px}.select[multiple]{height:auto;min-height:120px;padding:4px}.select[multiple] option{padding:8px;margin:2px 0;border-radius:4px}.select[multiple] option:checked{background-color:#c0c000;color:#fff}.select[multiple] optgroup{font-weight:700;color:#666}.help-text{display:block;margin-top:4px;color:#666;font-size:12px;font-style:italic}.file-processing-page{padding:var(--spacing-6)}.file-processing-page h2{margin-bottom:var(--spacing-4);color:var(--text-primary);font-size:1.5rem}.drop-area{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4);cursor:pointer;transition:all var(--transition-normal);background-color:var(--background-color)}.drop-area:hover{background-color:#e7f3e7;border-color:var(--primary-color)}.drop-area.dragging{background-color:#e7f3e7;border-color:var(--primary-color);transform:scale(1.01)}.drop-area p{font-size:1.1rem;color:var(--text-secondary);text-align:center}.file-input{display:none}.process-button{margin-bottom:var(--spacing-4)}.error-message{display:flex;align-items:center;gap:var(--spacing-2);color:var(--error-color);background-color:#f443361a;padding:var(--spacing-3);border-radius:var(--border-radius);margin-bottom:var(--spacing-4)}.results-section{margin-top:var(--spacing-4)}.action-buttons{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4)}.bulk-edit-container{margin-bottom:15px;display:flex;flex-direction:column;align-items:flex-start}.bulk-edit-form{display:flex;gap:10px;margin-top:10px;width:100%;max-width:400px}.bulk-edit-input{flex:1;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px}.bulk-edit-input:focus{outline:none;border-color:#c0c000;box-shadow:0 0 0 2px #c0c00033}@media (max-width: 768px){.file-processing-page{padding:var(--spacing-4)}.drop-area{padding:var(--spacing-5)}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.file-upload-container{margin-bottom:var(--spacing-4)}.file-upload-label{display:block;margin-bottom:var(--spacing-1);font-weight:500;color:var(--text-primary)}.file-upload-description{margin:0 0 var(--spacing-2) 0;color:var(--text-secondary);font-size:.9rem}.file-upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-4);text-align:center;cursor:pointer;transition:all var(--transition-fast);background-color:var(--background-color);min-height:120px;display:flex;align-items:center;justify-content:center}.file-upload-dropzone:hover{border-color:var(--primary-color);background-color:#c0c0000d}.file-upload-dropzone.active{border-color:var(--primary-color);background-color:#c0c0001a}.file-upload-dropzone.uploading{border-color:var(--primary-color);background-color:#c0c0001a;cursor:not-allowed}.file-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.upload-icon{color:var(--text-secondary);transition:color var(--transition-fast)}.file-upload-dropzone:hover .upload-icon{color:var(--primary-color)}.upload-text{margin:0;color:var(--text-primary);font-weight:500}.upload-hint{margin:0;color:var(--text-secondary);font-size:.9rem}.file-upload-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);width:100%}.preview-container{position:relative;display:inline-block}.logo-preview{max-width:200px;max-height:100px;-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:#fff;padding:var(--spacing-2)}.favicon-preview{width:32px;height:32px;-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:#fff;padding:var(--spacing-1)}.remove-button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:none;background-color:#d32f2f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.remove-button:hover{background-color:#b71c1c}.remove-button:disabled{background-color:#ccc;cursor:not-allowed}.preview-text{margin:0;color:var(--text-secondary);font-size:.9rem}.file-upload-error{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);padding:var(--spacing-2);background-color:#f443361a;color:#d32f2f;border-radius:var(--border-radius);font-size:.9rem}.file-upload-info{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);padding:var(--spacing-2);background-color:#4caf501a;color:#2e7d32;border-radius:var(--border-radius);font-size:.9rem}.upload-progress{width:100%;height:4px;background-color:var(--border-color);border-radius:2px;margin-top:var(--spacing-2);overflow:hidden}.upload-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:2px;transition:width .3s ease}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.file-upload-dropzone{min-height:100px;padding:var(--spacing-3)}.logo-preview{max-width:150px;max-height:80px}.upload-text{font-size:.9rem}.upload-hint{font-size:.8rem}}.admin-panel{padding:var(--spacing-6);max-width:1200px;margin:0 auto}.admin-header{margin-bottom:var(--spacing-6)}.admin-header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.admin-header h1{color:var(--text-primary);margin:0;font-size:2rem}.logout-button{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);background:#dc3545;color:#fff;border:none;border-radius:var(--border-radius);font-size:.9rem;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#c82333;transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}.admin-tabs{display:flex;gap:var(--spacing-2);border-bottom:2px solid var(--border-color)}.admin-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;color:var(--text-secondary);transition:all var(--transition-fast)}.admin-tab:hover{color:var(--primary-color);background-color:var(--background-color)}.admin-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.loading{text-align:center;padding:var(--spacing-8);color:var(--text-secondary);font-size:1.2rem}.error-message{background-color:#f443361a;color:#d32f2f;padding:var(--spacing-3);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);border-left:4px solid #d32f2f}.units-section{margin-top:var(--spacing-4)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.section-header h2{color:var(--text-primary);margin:0}.unit-form{background-color:var(--background-color);padding:var(--spacing-4);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);border:1px solid var(--border-color)}.unit-form h3{margin-top:0;margin-bottom:var(--spacing-3);color:var(--text-primary)}.form-group{margin-bottom:var(--spacing-3)}.form-group label{display:block;margin-bottom:var(--spacing-1);font-weight:500;color:var(--text-primary)}.form-group input{width:100%;padding:var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #c0c00033}.message-textarea{width:100%;padding:var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;font-family:inherit;resize:vertical;min-height:80px}.message-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #c0c00033}.form-help{display:block;margin-top:var(--spacing-1);font-size:.875rem;color:var(--text-secondary);line-height:1.4}.form-help code{background-color:var(--background-secondary);padding:2px 4px;border-radius:3px;font-family:Courier New,monospace;font-size:.8rem;color:var(--primary-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.form-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4)}.units-list{margin-top:var(--spacing-4)}.unit-group{margin-bottom:var(--spacing-5)}.unit-group h3{color:var(--text-primary);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-1);border-bottom:2px solid var(--primary-color)}.units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-3)}.unit-card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-3);display:flex;justify-content:space-between;align-items:center;transition:box-shadow var(--transition-fast)}.unit-card:hover{box-shadow:0 2px 8px #0000001a}.unit-info h4{margin:0 0 var(--spacing-1) 0;color:var(--text-primary);font-size:1.1rem}.unit-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.unit-actions{display:flex;gap:var(--spacing-1)}.button-small{padding:var(--spacing-1) var(--spacing-2);font-size:.9rem}.button-danger{background-color:#d32f2f;color:#fff}.button-danger:hover{background-color:#b71c1c}.customization-section{margin-top:var(--spacing-4)}.customization-section h2{color:var(--text-primary);margin-bottom:var(--spacing-4)}.settings-form{background-color:var(--background-color);padding:var(--spacing-4);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);border:1px solid var(--border-color)}.settings-form .form-group{margin-bottom:var(--spacing-4)}.settings-form .form-group input[type=color]{width:60px;height:40px;border:none;border-radius:var(--border-radius);cursor:pointer;margin-right:var(--spacing-2)}.settings-form .form-group input[type=text]{flex:1}.settings-form .form-group input[type=url]{width:100%}.preview-section{background-color:var(--background-color);padding:var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--border-color)}.preview-section h3{color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-3)}.preview-card{background-color:#fff;padding:var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--border-color)}.preview-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.preview-logo{max-width:80px;max-height:60px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-1);background-color:#fff}.preview-text h4{margin:0 0 var(--spacing-1) 0;font-size:1.5rem}.preview-text p{margin:0;font-size:1.1rem}.color-preview{display:flex;gap:var(--spacing-2)}.color-box{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);color:#fff;font-weight:500;text-align:center;min-width:100px}.favicon-preview{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--border-color)}.favicon-preview span{font-weight:500;color:var(--text-primary)}.preview-favicon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#fff;padding:2px}.groups-section,.users-section{padding:var(--spacing-4)}.user-form{background:var(--background-secondary);padding:var(--spacing-4);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);border:1px solid var(--border-color)}.user-form h3{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:1.25rem}.users-list{display:grid;gap:var(--spacing-3)}.user-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3);background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all .2s ease}.user-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.user-info{flex:1}.user-info h4{margin:0 0 var(--spacing-1) 0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.user-email{margin:0 0 var(--spacing-1) 0;color:var(--text-secondary);font-size:.9rem}.user-stats{display:flex;flex-direction:column;gap:4px}.user-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;width:-moz-fit-content;width:fit-content}.user-status.active{background:#28a745;color:#fff}.user-status.inactive{background:#6c757d;color:#fff}.user-role{padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;letter-spacing:.5px}.user-role.admin{background:#dc3545;color:#fff}.user-role.user{background:#28a745;color:#fff}.user-meta{color:var(--text-tertiary);font-size:.8rem}.user-actions{display:flex;gap:var(--spacing-2)}.user-actions .button{padding:var(--spacing-1) var(--spacing-2);min-width:auto}.group-form{background:var(--background-secondary);padding:var(--spacing-4);border-radius:var(--border-radius);margin-bottom:var(--spacing-4);border:1px solid var(--border-color)}.group-form h3{margin:0 0 var(--spacing-3) 0;color:var(--text-primary);font-size:1.25rem}.groups-list{display:grid;gap:var(--spacing-3)}.group-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3);background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all .2s ease}.group-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.group-info{flex:1}.group-info h4{margin:0 0 var(--spacing-1) 0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.group-description{margin:0 0 var(--spacing-1) 0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.group-stats{display:flex;flex-direction:column;gap:4px}.unit-count{display:inline-block;background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;width:-moz-fit-content;width:fit-content}.group-meta{color:var(--text-tertiary);font-size:.8rem}.group-actions{display:flex;gap:var(--spacing-2)}.group-actions .button{padding:var(--spacing-1) var(--spacing-2);min-width:auto}.button-danger{background:#dc3545;color:#fff;border:none}.button-danger:hover{background:#c82333}.button-danger:active{background:#bd2130}.button-danger:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.button-danger:disabled:hover{background:#6c757d;transform:none}@media (max-width: 768px){.admin-panel{padding:var(--spacing-4)}.admin-tabs{flex-direction:column}.admin-tab{justify-content:center}.section-header{flex-direction:column;gap:var(--spacing-2);align-items:stretch}.form-row,.units-grid{grid-template-columns:1fr}.unit-card{flex-direction:column;align-items:stretch;gap:var(--spacing-2)}.group-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.group-actions{width:100%;justify-content:flex-end}.unit-actions{justify-content:center}.color-preview{flex-direction:column}.preview-header{flex-direction:column;text-align:center}.preview-logo{max-width:60px;max-height:45px}}.admin-auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.admin-auth-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-auth-dialog{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;padding:40px;width:100%;max-width:450px;text-align:center;z-index:1001;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-auth-header{margin-bottom:32px;text-align:center}.admin-auth-header .admin-logo{margin:0 auto 20px;display:flex;justify-content:center;align-items:center}.admin-auth-header h1{font-size:24px;font-weight:700;color:#2c3e50;margin:0 0 12px;letter-spacing:-.5px;text-align:center}.admin-description{font-size:14px;color:#495057;margin:0;line-height:1.4;text-align:center}.admin-auth-form{text-align:left;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-size:14px;font-weight:600;text-align:left}.admin-input{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:16px;transition:all .2s ease;box-sizing:border-box;background:#fff}.admin-input:focus{outline:none;border-color:var(--primary-color, #332c68);box-shadow:0 0 0 3px #332c681a}.admin-input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.admin-input::-moz-placeholder{color:#adb5bd}.admin-input::placeholder{color:#adb5bd}.error-message{background-color:#fee;color:#dc3545;padding:12px 16px;border-radius:8px;font-size:14px;border:1px solid #fcc;text-align:center;margin-bottom:16px}.admin-buttons{display:flex;gap:12px;margin-top:24px}.admin-enter-button{flex:1;padding:14px 20px;background:linear-gradient(135deg,var(--primary-color, #332c68) 0%,var(--primary-dark, #2a2454) 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.admin-enter-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #332c684d}.admin-enter-button:active:not(:disabled){transform:translateY(0)}.admin-enter-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.admin-cancel-button{flex:1;padding:14px 20px;background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.admin-cancel-button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd;color:#495057}.admin-cancel-button:active:not(:disabled){background:#dee2e6}.admin-cancel-button:disabled{opacity:.6;cursor:not-allowed}.admin-warning{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;font-size:13px;color:#856404;margin-top:20px;text-align:center;font-weight:500}.warning-icon{font-size:16px;flex-shrink:0}@media (max-width: 480px){.admin-auth-modal{padding:16px}.admin-auth-dialog{padding:32px 24px}.admin-auth-header h1{font-size:20px}.admin-buttons{flex-direction:column}.admin-enter-button,.admin-cancel-button{flex:none}}.navbar{background-color:var(--primary-color);padding:var(--spacing-2) var(--spacing-4);position:fixed;top:0;left:0;width:100%;z-index:1000;box-shadow:var(--shadow-sm)}.navbar-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.navbar-right{display:flex;align-items:center;gap:var(--spacing-3)}.user-dropdown{position:relative}.user-profile-button{display:flex;align-items:center;gap:var(--spacing-2);background:none;border:none;cursor:pointer;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius);transition:background-color var(--transition-fast)}.user-profile-button:hover{background:#ffffff1a}.user-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem;border:2px solid rgba(255,255,255,.3)}.user-info{display:flex;flex-direction:column;align-items:center;gap:2px}.user-name{color:#fff;font-size:1rem;font-weight:600;line-height:1.2}.user-role{color:#ffffffb3;font-size:.8rem;font-weight:400;line-height:1.2}.navbar-logo{color:#fff}.navbar-logo .logo-image{border:none}.navbar-logo .logo-placeholder{background-color:#fff;color:var(--primary-color)}.navbar-link{color:#fff;text-decoration:none;font-size:1.1rem;font-weight:500;display:flex;align-items:center;gap:var(--spacing-1);transition:opacity var(--transition-fast)}.navbar-link:hover{opacity:.9}.user-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1001;overflow:hidden;margin-top:4px}.dropdown-header{padding:var(--spacing-3) var(--spacing-3) var(--spacing-2);text-align:center}.dropdown-user-name{font-size:.95rem;font-weight:600;color:#333;margin-bottom:2px}.dropdown-user-email{font-size:.8rem;color:#666;font-weight:400}.dropdown-separator{height:1px;background:#e5e5e5;margin:0}.dropdown-logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:none;border:none;color:#dc3545;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast);text-align:center}.dropdown-logout-button:hover{background:#f8f9fa}.dropdown-logout-button:active{background:#e9ecef}@media (max-width: 768px){.navbar{padding:var(--spacing-1) var(--spacing-2)}.navbar-right{gap:var(--spacing-2)}.navbar-link{font-size:.9rem}.navbar-link span{display:none}.user-avatar{width:36px;height:36px;font-size:.8rem}.user-name{font-size:.9rem}.user-role{font-size:.7rem}.user-dropdown-menu{min-width:180px;right:-10px}.dropdown-header{padding:var(--spacing-2)}.dropdown-user-name{font-size:.9rem}.dropdown-user-email{font-size:.75rem}.dropdown-logout-button{padding:var(--spacing-2);font-size:.85rem}}.footer{background-color:var(--primary-color);color:#fff;text-align:center;padding:var(--spacing-3) 0;font-size:.9rem;position:fixed;bottom:0;width:100%;z-index:1000}.footer p{margin:0}.footer a{color:var(--footer-link-color, #ffff00);text-decoration:none;margin-left:var(--spacing-2);transition:opacity var(--transition-fast)}.footer a:hover{opacity:.9;text-decoration:underline}:root{--primary-color: #332c68;--primary-dark: #2a2455;--primary-light: #4a3d7a;--secondary-color: #332c68;--accent-color: #FFC107;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #F44336;--background-color: #f0f4f7;--card-background: #ffffff;--text-primary: #333333;--text-secondary: #555555;--text-light: #777777;--border-color: #dddddd;--title-color: #333333;--subtitle-color: #555555;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--border-radius: 8px;--border-radius-sm: 4px;--border-radius-lg: 12px;--transition-fast: .2s ease;--transition-normal: .3s ease;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 24px;--spacing-6: 32px;--spacing-7: 48px;--spacing-8: 64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background:var(--background-color);color:var(--text-primary);min-height:100vh;padding-top:52px;padding-bottom:40px}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-4);width:100%;max-width:1200px;margin:0 auto;display:flex;justify-content:center}.authenticated-container{width:100%;max-width:900px}.section-tabs{display:flex;margin-bottom:var(--spacing-4);border-radius:var(--border-radius);background-color:var(--card-background);box-shadow:var(--shadow-sm);overflow:hidden}.section-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:none;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-normal)}.section-tab.active{background-color:var(--primary-color);color:#fff}.section-tab:hover:not(.active){background-color:var(--background-color)}.section-content{background-color:var(--card-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;animation:fadeIn .4s ease-out}.button{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);transition:all var(--transition-fast);border:none}.button-primary{background-color:var(--primary-color);color:#fff}.button-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.button-secondary{background-color:var(--secondary-color);color:#fff}.button-secondary:hover{background-color:#1976d2;transform:translateY(-2px)}.form-group{margin-bottom:var(--spacing-4)}.label{display:block;margin-bottom:var(--spacing-2);font-weight:500}.input,.select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:border-color var(--transition-fast)}.input:focus,.select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf5033}.card{background-color:var(--card-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-6)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.main-content{padding:var(--spacing-3)}.section-tab{font-size:.9rem;padding:var(--spacing-3) var(--spacing-2)}.card{padding:var(--spacing-4)}}@media (max-width: 480px){.section-tab span{display:none}.section-tab{padding:var(--spacing-3)}}.app-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-container{text-align:center;color:#fff;max-width:400px;padding:var(--spacing-6)}.loading-logo{margin-bottom:var(--spacing-6);display:flex;justify-content:center;align-items:center}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-text h2{font-size:24px;font-weight:600;margin-bottom:var(--spacing-3);color:#fff}.loading-text p{font-size:16px;color:#fffc;line-height:1.5}@keyframes loadingFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-container{animation:loadingFadeIn .5s ease-out}@media (max-width: 480px){.loading-container{padding:var(--spacing-4)}.loading-spinner{width:50px;height:50px}.loading-text h2{font-size:20px}.loading-text p{font-size:14px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.block{display:block}.flex{display:flex}.\!table{display:table!important}.table{display:table}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
