.navbar{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;padding:1.25rem 0;box-shadow:0 4px 16px var(--shadow-md);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-container{max-width:1400px;margin:0 auto;padding:0 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}@media (max-width: 768px){.navbar-container{padding:0 1.5rem;flex-wrap:wrap}}.navbar-brand{font-size:1.75rem;font-weight:700;color:#fff;text-decoration:none;font-family:Georgia,Times New Roman,serif;letter-spacing:.5px;transition:all .3s ease;text-shadow:0 2px 4px rgba(0,0,0,.2)}.navbar-brand:hover{color:var(--accent);text-decoration:none;transform:scale(1.05)}.navbar-links{display:flex;gap:2.5rem;flex:1;justify-content:center}@media (max-width: 768px){.navbar-links{width:100%;justify-content:space-around;gap:1rem;order:3;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}}.navbar-links a{color:#ffffffe6;text-decoration:none;transition:all .3s ease;font-weight:500;font-size:1rem;padding:.5rem 0;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navbar-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--accent);transition:width .3s ease}.navbar-links a:hover{color:#fff;text-decoration:none}.navbar-links a:hover:after{width:100%}.navbar-links a.admin-link{color:var(--accent);font-weight:600}.navbar-links a.admin-link:hover{color:#fff}.navbar-user{display:flex;align-items:center;gap:1.25rem}@media (max-width: 768px){.navbar-user span{display:none}}.navbar-user span{color:#fffffff2;font-weight:500;font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navbar-user .btn{padding:.625rem 1.25rem;font-size:.9rem}.footer{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);border-top:1px solid var(--border);padding:1rem 2rem;margin-top:auto;width:100%}.footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-left,.footer-right{color:#fffffff2;font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.footer-left,.footer-right{display:flex;align-items:center}@media (max-width: 768px){.footer-content{flex-direction:column;text-align:center}.footer-left,.footer-right{justify-content:center}}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 100px);padding:2rem}.login-card{background:var(--surface);border-radius:24px;padding:3rem;box-shadow:0 12px 40px var(--shadow-md);width:100%;max-width:480px;border:1px solid var(--border);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 50%,var(--accent) 100%)}.login-card h1{text-align:center;margin-bottom:2.5rem;font-size:2.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card form{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-card .btn{width:100%;margin-top:1rem;font-size:1.1rem;padding:1rem}.toggle-form{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.95rem}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:none;font-size:inherit;font-weight:600;transition:color .2s ease}.link-button:hover{color:var(--primary-dark);text-decoration:underline}.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem;animation:fadeIn .3s ease}.photo-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;max-height:300px;overflow-y:auto;padding:1rem;border:2px solid var(--border);border-radius:12px;background-color:var(--background)}.photo-select-item{position:relative;aspect-ratio:1;border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow)}.photo-select-item:hover{border-color:var(--primary);transform:scale(1.05);box-shadow:0 4px 12px var(--shadow-md)}.photo-select-item.selected{border-color:var(--primary);border-width:3px;box-shadow:0 0 0 3px #6366f133}.photo-select-item img{width:100%;height:100%;object-fit:cover}.photo-chronological{display:flex;flex-direction:column;gap:1.5rem}.photo-chronological .photo-item{width:100%;aspect-ratio:16/9;max-height:500px}.photo-modal{max-width:1000px}.photo-modal img{border-radius:12px;box-shadow:0 8px 24px var(--shadow-md)}.recording-controls{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.recording-indicator{display:flex;align-items:center;gap:1rem;font-size:1.3rem;font-weight:600;color:var(--error);padding:1rem 1.5rem;background:#c85a541a;border-radius:12px;border:2px solid var(--error);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.recording-dot{width:14px;height:14px;background-color:var(--error);border-radius:50%;animation:pulse 1.5s infinite;box-shadow:0 0 8px var(--error)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.recording-preview{width:100%;padding:1.5rem;background:var(--background);border-radius:12px;border:2px solid var(--border)}.recording-preview audio{width:100%;margin-bottom:1rem}.recordings-list{display:flex;flex-direction:column;gap:1.5rem}.recording-item{display:flex;align-items:center;gap:1.5rem}.recording-item audio{width:100%;filter:sepia(20%) saturate(70%) hue-rotate(15deg)}audio{border-radius:8px}audio::-webkit-media-controls-panel{background-color:var(--surface)}.admin-panel{padding:2rem;max-width:1400px;margin:0 auto}.admin-panel .container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.admin-header h1{margin:0;color:#333}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #c33}.success-message{background-color:#efe;color:#3c3;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #3c3}.create-form-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.create-form-card h2{margin-top:0;color:#333;font-size:1.3rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#555}.form-group input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.form-group small{display:block;margin-top:.25rem;color:#6c757d;font-size:.875rem}.form-group small.warning{color:#856404;font-style:italic}.form-group.checkbox-group{margin-bottom:1.5rem}.form-group.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.form-group.checkbox-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.form-group.checkbox-group input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.form-group.checkbox-group span{-webkit-user-select:none;user-select:none}.invite-codes-section{margin-top:2rem}.invite-codes-section h2{margin-bottom:1rem;color:#333}.no-codes{text-align:center;color:#6c757d;padding:2rem;background:#f8f9fa;border-radius:4px}.codes-table-container{overflow-x:auto}.codes-table{width:100%;border-collapse:collapse;margin-top:1rem}.codes-table th{background:#f8f9fa;padding:.75rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.codes-table td{padding:.75rem;border-bottom:1px solid #dee2e6}.codes-table tr.used{background-color:#f8f9fa;opacity:.7}.codes-table tr.expired{background-color:#fff3cd}.invite-code{font-family:Courier New,monospace;background:#e9ecef;padding:.25rem .5rem;border-radius:3px;font-size:.9rem;margin-right:.5rem}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;opacity:.6;transition:opacity .2s}.btn-icon:hover{opacity:1}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.badge-active{background-color:#d4edda;color:#155724}.badge-used{background-color:#d1ecf1;color:#0c5460}.badge-expired{background-color:#fff3cd;color:#856404}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.user-info{line-height:1.4}.user-info strong{color:#333;font-size:.95rem}.user-info small{color:#6c757d;font-size:.85rem}.text-muted{color:#adb5bd;font-style:italic}@media (max-width: 768px){.admin-panel{padding:1rem}.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}.codes-table{font-size:.85rem}.codes-table th,.codes-table td{padding:.5rem}.invite-code{font-size:.75rem}}.App{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2.5rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.main-content{padding:1.5rem}}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:var(--text-secondary)}.container{background:var(--surface);border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px var(--shadow);margin-bottom:2rem;border:1px solid var(--border)}h1,h2,h3{color:var(--text-primary);margin-bottom:1.5rem;font-weight:600;letter-spacing:-.5px}h1{font-size:3rem;margin-bottom:2rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:2.25rem;color:var(--primary)}h3{font-size:1.5rem;color:var(--text-primary)}.btn{padding:.875rem 1.75rem;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow);letter-spacing:.3px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-md)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%)}.btn-secondary{background-color:var(--accent);color:#fff}.btn-secondary:hover{background-color:var(--secondary)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover{background-color:#b54a44}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.625rem;font-weight:500;color:var(--text-primary);font-size:.95rem;letter-spacing:.3px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:1rem;background-color:var(--surface);color:var(--text-primary);transition:all .3s ease}.form-group textarea{min-height:180px;resize:vertical;line-height:1.6}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126;background-color:var(--surface)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.error{color:var(--error);margin-top:.5rem;font-size:.9rem;font-weight:500}.success{color:var(--success);margin-top:.5rem;font-size:.9rem;font-weight:500}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}@media (max-width: 1400px){.grid-5,.grid-6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:1fr}.grid{gap:1.25rem}}.card{background:var(--surface);border-radius:16px;padding:2rem;box-shadow:0 4px 16px var(--shadow);border:1px solid var(--border);transition:all .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-md)}.card:hover:before{opacity:1}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}@media (max-width: 768px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}}.photo-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px var(--shadow);transition:all .3s ease;border:2px solid transparent}.photo-item:hover{transform:scale(1.05);box-shadow:0 8px 20px var(--shadow-md);border-color:var(--primary)}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-item:hover img{transform:scale(1.1)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#2c2416eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:20px;padding:2.5rem;max-width:90%;max-height:90%;overflow:auto;box-shadow:0 20px 60px var(--shadow-lg);animation:slideUp .3s ease;border:1px solid var(--border)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.close-btn{background:var(--border);border:none;font-size:1.75rem;cursor:pointer;color:var(--text-secondary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--primary);color:#fff;transform:rotate(90deg)}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:disabled:hover{transform:none!important;box-shadow:0 2px 8px var(--shadow)}@keyframes pulse-loading{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse-loading 2s cubic-bezier(.4,0,.6,1) infinite}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126;background-color:var(--surface);transform:translateY(-1px)}.card{transform-style:preserve-3d}audio::-webkit-media-controls-panel{background-color:var(--background);border-radius:8px}audio::-webkit-media-controls-play-button,audio::-webkit-media-controls-pause-button{background-color:var(--primary);border-radius:50%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px;border:2px solid var(--background)}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}:root{--primary: #6366F1;--primary-light: #818CF8;--primary-dark: #4F46E5;--secondary: #8B5CF6;--accent: #EC4899;--background: #F8FAFC;--surface: #FFFFFF;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border: #E2E8F0;--success: #10B981;--warning: #F59E0B;--error: #EF4444;--shadow: rgba(15, 23, 42, .08);--shadow-md: rgba(15, 23, 42, .12);--shadow-lg: rgba(15, 23, 42, .16)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f1f5f9,#e0e7ff);background-attachment:fixed;color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark);text-decoration:underline}button{cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}input,textarea,select{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}
