*{box-sizing:border-box;margin:0;padding:0}body,html{-ms-overflow-style:none;font-family:Arial,sans-serif;font-size:16px;height:100%;line-height:1.5;overflow-y:auto;scrollbar-width:none;-webkit-user-select:none;user-select:none;&::-webkit-scrollbar{height:0;width:0}}#root{height:100%}.app-container{background-color:#e6f3ff;color:#333;display:flex;flex-direction:column;font-family:Arial,sans-serif;min-height:100vh;-webkit-user-select:none;user-select:none}.app-container .app-body{display:flex;flex-grow:1;flex-wrap:wrap;justify-content:space-between;padding:4rem 2rem 2rem;position:relative}.app-container .app-footer{background-color:#f8f8f8;bottom:0;left:0;position:fixed;right:0;z-index:10}.app-header{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:2px;position:fixed;width:100vw;z-index:1000}.app-header .title{font-family:Calisto MT,serif;font-size:50px;font-weight:700;-webkit-user-select:none;user-select:none}.app-header .left-btn-container,.app-header .right-btn-container{align-items:center;display:flex;flex:1 1}.app-header .left-btn-container{justify-content:flex-start}.app-header .right-btn-container{justify-content:flex-end}.app-header .add-button,.app-header .close-button,.app-header .edit-button,.app-header .logout-button{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;height:50px;justify-content:center;margin-left:15px;margin-right:15px;padding:0;position:static;width:50px}.app-header .close-button{color:#e45a3d}.app-header .add-button,.app-header .logout-button{color:#666}.app-header .add-button svg,.app-header .close-button svg,.app-header .logout-button svg{display:block;flex-shrink:0;height:48px;width:48px}.app-header .edit-button img{border-radius:50%;display:block;height:48px;object-fit:cover;width:48px}@media(max-width:550px){.app-header .title{font-size:40px}}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.category-title{font-family:Britannic Bold,serif;font-size:20px;margin-left:15px;-webkit-user-select:none;user-select:none}.category-icon,.collapse-icon{cursor:pointer;font-size:18px;margin-right:10px}.link-container{align-items:center;border:1px solid #ccc;display:flex;justify-content:space-between;margin-bottom:5px;opacity:1;padding:5px;transition:opacity .2s ease-out,transform .2s ease-out}.link-container:hover{opacity:.7;transform:scale(1.05)}.link{align-items:center;color:#000;display:flex;flex-grow:1;padding:5px;text-decoration:none;-webkit-user-select:none;user-select:none}.link-image{background-color:#e0e0e0;border-radius:20px;height:40px;margin-right:10px;width:40px}.link-text{font-size:16px}.link-icon{align-self:center;cursor:pointer;font-size:18px;margin-bottom:5px;margin-left:auto;margin-right:10px}.empty-category{visibility:hidden;width:19%}.grid-wrapper{display:flex;flex-direction:column;padding:90px 30px 30px}.grid-header{display:flex;justify-content:flex-end}.search-input{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #0000001a;font-size:.875rem;padding:.5rem .75rem;width:200px}.search-input::placeholder{color:#999}.search-input:focus{border-color:#888;outline:none}.categories-grid{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:20px;overflow-y:auto;padding-top:20px;width:100%}.category-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;flex:1 0 18%;margin:0 .25% .25%;min-width:200px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.category-container:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}@media(max-width:1250px){.category-container{flex:0 0 23%}}@media(max-width:1060px){.category-container{flex:1 0 20%}}@media(max-width:550px){.grid-wrapper{padding:80px 30px 30px}.grid-header{justify-content:center}.category-container{flex:2 0 15%}}.edit-category-form{padding:20px}.edit-category-form h2{color:#333;margin-bottom:20px;-webkit-user-select:none;user-select:none}.edit-category-form .form-group{margin-bottom:15px;position:relative;width:100%}.edit-category-form .form-group label{color:#666;display:block;margin-bottom:5px}.edit-category-form .form-group input{border:1px solid #ddd;border-radius:4px;padding:8px;width:100%}.edit-category-form .form-group input:focus{border-color:#007bff;outline:none}.edit-category-form .form-group input[type=number]{width:100px}.edit-category-form .form-group .category-suggestions{background:#fff;border:1px solid #ccc;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 2px 4px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.edit-category-form .form-group .category-suggestions li{cursor:pointer;padding:8px 12px;transition:background-color .2s}.edit-category-form .form-group .category-suggestions li:hover{background-color:#f5f5f5}.edit-category-form .category-suggestions::-webkit-scrollbar{width:8px}.edit-category-form .category-suggestions::-webkit-scrollbar-track{background:#f1f1f1}.edit-category-form .category-suggestions::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.edit-category-form .category-suggestions::-webkit-scrollbar-thumb:hover{background:#555}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{animation:modalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-height:90vh;max-width:90%;overflow-y:auto;position:relative;width:500px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-actions button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.form-actions button.btn-save{background-color:#007bff;color:#fff}.form-actions button.btn-save:hover{background-color:#0056b3}.form-actions button.btn-remove{background-color:#dc3545;color:#fff}.form-actions button.btn-remove:hover{background-color:#c82333}.form-actions button.btn-cancel{background-color:#6c757d;color:#fff}.form-actions button.btn-cancel:hover{background-color:#5a6268}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.modal-content{margin:10px;width:95%}}.edit-link-form{padding:20px}.edit-link-form h2{color:#333;margin-bottom:20px;-webkit-user-select:none;user-select:none}.edit-link-form .form-group{margin-bottom:15px;position:relative;width:100%}.edit-link-form .form-group label{color:#666;display:block;margin-bottom:5px}.edit-link-form .form-group input,.edit-link-form .form-group select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;padding:8px;width:100%}.edit-link-form .form-group input:focus,.edit-link-form .form-group select:focus{border-color:#007bff;outline:none}.edit-link-form .form-group .category-suggestions{background:#fff;border:1px solid #ccc;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 2px 4px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.edit-link-form .form-group .category-suggestions li{cursor:pointer;padding:8px 12px;transition:background-color .2s}.edit-link-form .form-group .category-suggestions li:hover{background-color:#f5f5f5}.edit-link-form .category-suggestions::-webkit-scrollbar{width:8px}.edit-link-form .category-suggestions::-webkit-scrollbar-track{background:#f1f1f1}.edit-link-form .category-suggestions::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.edit-link-form .category-suggestions::-webkit-scrollbar-thumb:hover{background:#555}.edit-link-form .image-selection{margin-top:5px}.edit-link-form .image-selection__tabs{display:flex;gap:4px;margin-bottom:10px}.edit-link-form .image-selection__tab{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;padding:8px 12px;transition:all .2s ease}.edit-link-form .image-selection__tab:hover{background:#e8e8e8}.edit-link-form .image-selection__tab--active{background:#007bff;border-color:#007bff;color:#fff}.edit-link-form .image-selection__tab--active:hover{background:#0056b3}.edit-link-form .image-selection__preview{border:2px solid #28a745;border-radius:4px;height:80px;overflow:hidden;width:80px}.edit-link-form .image-selection__preview img{height:100%;object-fit:cover;width:100%}.image-gallery{width:100%}.image-gallery--empty{color:#888;font-style:italic;padding:1rem;text-align:center}.image-gallery__grid{grid-gap:8px;background-color:#f5f5f5;border-radius:4px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));max-height:200px;overflow-y:auto;padding:8px}.image-gallery__item{background:#fff;border:2px solid #0000;border-radius:4px;cursor:pointer;height:60px;overflow:hidden;padding:0;transition:border-color .2s ease,transform .2s ease;width:60px}.image-gallery__item:hover{border-color:#007bff;transform:scale(1.05)}.image-gallery__item--selected{border-color:#28a745;box-shadow:0 0 0 2px #28a7454d}.image-gallery__item img{height:100%;object-fit:cover;width:100%}.footer-container{text-align:center}.footer-container a{color:#666;font-family:Chiller,fantasy;font-size:25px;font-weight:700;margin-left:7px;text-decoration:none;-webkit-user-select:none;user-select:none}.login-container{background-image:url(/static/media/marseille.7f5d61560fdc8ec3f98a.png);background-position:50%;background-size:cover;bottom:0;display:flex;flex-direction:column;min-height:100vh}.header-overlay,.login-container{left:0;position:fixed;right:0;top:0}.header-overlay{background:linear-gradient(180deg,#000000b3 0,#0000);padding:2px;z-index:10}.header-overlay h1{color:#fff;font-family:Calisto MT,serif;font-size:50px;font-weight:700;margin:0;text-align:center;-webkit-user-select:none;user-select:none}.login-content{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:flex;flex:1 1;flex-direction:column;justify-content:center;left:50%;min-width:400px;padding:40px 60px;position:absolute;top:46%;transform:translate(-50%,-50%);z-index:5}.login-content h1{color:#fff;font-size:2.5rem;margin-bottom:30px;text-align:center;text-shadow:2px 2px 4px #00000080}.login-content .login-form-container{width:100%}.footer-overlay{background:linear-gradient(0deg,#000000b3 0,#0000);bottom:0;left:0;position:fixed;right:0;z-index:10}.footer-overlay a{color:#fff}.abort-button,.login-button{border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;padding:12px 24px;transition:all .2s ease}.login-button{background-color:#007bff;color:#fff}.login-button:hover{background-color:#0056b3;transform:translateY(-2px)}.abort-button{background-color:#6c757d;color:#fff;margin-top:15px;width:100%}.abort-button:hover{background-color:#5a6268}@media(max-width:480px){.login-content{min-width:280px;padding:30px 20px;width:90%}}.login-form-container{width:100%}.login-form-container .login-form{display:flex;flex-direction:column;gap:15px;width:100%}.login-form-container .login-form .form-group input{background:#ffffff1a;border:1px solid #fff3;border-radius:5px;color:#fff;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.login-form-container .login-form .form-group input::placeholder{color:#ffffffb3}.login-form-container .login-form .form-group input:focus{background:#ffffff26;border-color:#007bff;outline:none}.login-form-container .login-form .error-message{color:#f44;font-size:.9rem;margin:5px;text-align:center}.login-form-container .login-form .form-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.addLink-container{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.addLink-container h2{color:#333;margin-bottom:20px;-webkit-user-select:none;user-select:none}.addLink-container input,.addLink-container select{border:1px solid #cfd7e3;border-radius:10px;box-sizing:border-box;display:block;font-size:14px;margin-bottom:10px;padding:11px 12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.addLink-container input:focus,.addLink-container select:focus{border-color:#1f7a8c;box-shadow:0 0 0 3px #1f7a8c26;outline:none}.addLink-container button[type=submit]{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px;width:100%}.profiles-select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#667085 0),linear-gradient(135deg,#667085 50%,#0000 0);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;height:40px;padding-right:36px}.profiles-select option{padding:4px 6px}.addLink-form{background-color:#fff;border-radius:5px;padding:20px;position:relative;width:500px}.addLink-form button[type=submit]:hover{background-color:#45a049}.addLink-form .close-button{background:none;border:none;cursor:pointer;font-size:1.5rem;position:absolute;right:10px;top:10px}.category-input-container{margin-bottom:15px;position:relative;width:100%}.category-input-container .category-suggestions{background:#fff;border:1px solid #ccc;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 2px 4px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.category-input-container .category-suggestions li{cursor:pointer;padding:8px 12px;transition:background-color .2s}.category-input-container .category-suggestions li:hover{background-color:#f5f5f5}.category-suggestions::-webkit-scrollbar{width:8px}.category-suggestions::-webkit-scrollbar-track{background:#f1f1f1}.category-suggestions::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.category-suggestions::-webkit-scrollbar-thumb:hover{background:#555}.image-selection{margin-bottom:10px}.image-selection__tabs{display:flex;gap:4px;margin-bottom:10px}.image-selection__tab{background:#f5f5f5;border:1px solid #cfd7e3;border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;padding:8px 12px;transition:all .2s ease}.image-selection__tab:hover{background:#e8e8e8}.image-selection__tab--active{background:#1f7a8c;border-color:#1f7a8c;color:#fff}.image-selection__tab--active:hover{background:#186370}.image-selection__preview{border:2px solid #28a745;border-radius:4px;height:80px;overflow:hidden;width:80px}.image-selection__preview img{height:100%;object-fit:cover;width:100%}.profile-manager-container{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.profile-manager-content{background:#fff;border:1px solid #ececf1;border-radius:16px;box-shadow:0 20px 40px #0003;padding:24px;position:relative;width:420px}.profile-manager-content h2{color:#222;font-size:24px;font-weight:700;margin:0}.profile-manager-content .subtitle{color:#5a6473;font-size:14px;margin:6px 0 18px}.profile-manager-content button,.profile-manager-content input,.profile-manager-content select{border:1px solid #cfd7e3;border-radius:10px;box-sizing:border-box;font-size:14px;margin-bottom:12px;padding:11px 12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.profile-manager-content input:focus,.profile-manager-content select:focus{border-color:#1f7a8c;box-shadow:0 0 0 3px #1f7a8c26;outline:none}.profile-manager-content .close-button{background:#0000;border:none;color:#6a7384;cursor:pointer;font-size:28px;margin:0;padding:6px 10px;position:absolute;right:8px;top:6px;width:auto}.profile-manager-content .close-button:hover{color:#2d3340}.profile-manager-content .mode-container{grid-gap:8px;background:#f1f4f8;border-radius:12px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px}.profile-manager-content .mode-button{background:#0000;border:0;color:#4c5566;cursor:pointer;font-weight:600;margin:0}.profile-manager-content .action-container{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.profile-manager-content .active-mode{background:linear-gradient(135deg,#1f7a8c,#235b86);box-shadow:0 8px 16px #235b8640;color:#fff}.profile-manager-content .primary{background:linear-gradient(135deg,#1f7a8c,#235b86);border:0;color:#fff;cursor:pointer;font-weight:700}.profile-manager-content .danger{background:#f9ebea;border-color:#efc2bc;color:#a93226;cursor:pointer;font-weight:700}.profile-manager-content button:disabled{cursor:not-allowed;opacity:.5}.error-list{flex-direction:column;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.error-banner,.error-list{align-items:center;display:flex}.error-banner{animation:fadeInDown .3s ease-out both;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:.25rem 0;max-width:600px;padding:.5rem 1rem;pointer-events:auto;width:90%}.error-banner.exit{animation:fadeOutUp .2s ease-in both}.error-text{flex:1 1}.error-close{background:#0000;border:none;cursor:pointer;font-size:1.2rem;line-height:1}.clear-all-errors{background:#f5c6cb;border:none;border-radius:4px;cursor:pointer;margin-top:.5rem;padding:.4rem .8rem;pointer-events:auto}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}
/*# sourceMappingURL=main.49d6fe05.css.map*/