html,body{height:100%}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1 0 auto}.footer{margin-top:auto;width:100%;color:#000;text-align:center}.menu-bar{position:fixed;top:16px;left:50%;transform:translate(-50%);width:auto;padding:10px 30px;background:#ffffff8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:40px;border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 18px #00000014,inset 0 0 6px #ffffff59;z-index:999}@media(max-width:768px){.menu-bar{position:static;transform:none;width:100%;top:auto;left:auto;border-radius:40;padding:10px 0;background:#ffffffe6;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 -2px 8px #0000001a}.menu-bar ul{justify-content:center;gap:15px}.menu-bar li{padding:6px 14px;border-radius:20px;text-align:center}.menu-bar li:hover{background:#f0f0f0;transform:none}}.menu-bar ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.menu-bar li{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;font-weight:500;padding:6px 14px;border-radius:20px;color:#1c1c1e;cursor:pointer;transition:background .25s ease,color .25s ease,transform .2s ease}.menu-bar li:hover{background:#007aff1f;color:#007aff;transform:translateY(-2px)}.menu-bar a{color:inherit;text-decoration:none}#home .titolo{font-weight:700;font-size:30px;text-align:center;color:brown;margin-top:100px}#home .sottotitolo{font-weight:700;font-size:20px;text-align:center;color:#000;white-space:pre-line}#home .descrizione{font-family:Arial;font-weight:300;font-size:15px;text-align:center;color:#000;white-space:pre-line}#home .social-links{margin-top:10px;margin-bottom:20px;text-align:center;display:flex;justify-content:center;gap:15px}#home .social-links a{color:#333;transition:color .3s ease}#home .social-links a:hover{color:#007bff}#home .profile-image{display:block;margin:40px auto;width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid #007bff;box-shadow:0 4px 8px #0003}@media(max-width:768px){#home .profile-image{display:block;margin:15px auto;width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid #007bff;box-shadow:0 4px 8px #0003}#home .titolo{font-weight:700;font-size:30px;text-align:center;color:brown;margin-top:30px}#home .social-links{margin-top:0;text-align:center}}#portfolio .titolo{font-weight:700;font-size:20px;text-align:center;color:brown;margin-top:50px}#portfolio .sottotitolo{font-weight:700;font-size:20px;text-align:center;color:#000}#portfolio .descrizione{font-weight:700;font-size:20px;text-align:center;color:#00f}#portfolio .progetti-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:40px;padding:0 20px}#portfolio .progetto-card{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:20px;width:300px;text-align:center;transition:transform .2s}#portfolio .progetto-card:hover{transform:translateY(-5px)}#portfolio .progetto-card h3{color:#333;margin-bottom:10px}#portfolio .progetto-card p{color:#666;font-size:16px;margin-bottom:10px}#portfolio .progetto-card a{display:inline-block;margin-top:15px;padding:10px 15px;background-color:#28a745;color:#fff;text-decoration:none;border-radius:5px;font-weight:700}#portfolio .progetto-card a:hover{background-color:#218838}#portfolio .progetto-image-container{position:relative;width:100%;min-height:150px;max-height:250px;margin-bottom:15px;border-radius:8px;overflow:hidden;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}#portfolio .progetto-image{width:100%;height:auto;max-height:250px;object-fit:contain;display:block}#portfolio .progetto-image-badge{position:absolute;top:10px;right:10px;background-color:#000000b3;color:#fff;padding:5px 10px;border-radius:15px;font-size:12px;font-weight:700}.image-slider-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:10000;cursor:pointer}.image-slider-container{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;gap:20px;cursor:default}.image-slider-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity .2s}.image-slider-close:hover{opacity:.7}.image-slider-prev,.image-slider-next{background:#fff3;border:none;color:#fff;font-size:50px;cursor:pointer;padding:20px 15px;border-radius:5px;transition:background-color .2s;-webkit-user-select:none;user-select:none;flex-shrink:0}.image-slider-prev:hover,.image-slider-next:hover{background:#fff6}.image-slider-content{position:relative;max-width:calc(90vw - 200px);max-height:90vh;display:flex;flex-direction:column;align-items:center}.image-slider-image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px}.image-slider-counter{color:#fff;margin-top:15px;font-size:16px;font-weight:700}@media(max-width:768px){.image-slider-container{max-width:95%;gap:10px}.image-slider-prev,.image-slider-next{font-size:30px;padding:15px 10px}.image-slider-content{max-width:calc(95vw - 100px)}.image-slider-close{top:-35px;font-size:35px}}#contatti .titolo{font-weight:700;font-size:20px;text-align:center;color:brown;margin-top:100px}#contatti .sottotitolo{font-weight:700;font-size:20px;text-align:center;color:#000}#contatti .descrizione{font-weight:700;font-size:20px;text-align:center;color:#00f}#contatti .contatti-container{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;margin-top:40px;padding:0 20px}#contatti .contatti-info{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 8px #0000001a;padding:30px;width:400px;max-width:100%}#contatti .contatti-info h3{color:#333;margin-bottom:20px;text-align:center}#contatti .contatti-info p{color:#666;font-size:18px;margin-bottom:10px;text-align:center}#contatti .contatti-info a{color:#007bff;text-decoration:none}#contatti .contatti-info a:hover{text-decoration:underline}.social-links-contact{display:flex;justify-content:center;gap:15px;margin-top:20px}.social-links-contact a{color:#333;transition:color .3s ease}.social-links-contact a:hover{color:#007bff}#auth{padding:20px;max-width:400px;margin:50px auto;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}#auth .titolo{color:#333;margin-bottom:20px}#auth form div{margin-bottom:15px;text-align:left}#auth form label{display:block;margin-bottom:5px;font-weight:700;color:#555}#auth form input[type=email],#auth form input[type=password]{width:calc(100% - 22px);padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}#auth form button{background-color:#007bff;color:#fff;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:16px;margin-top:10px;margin-right:10px}#auth form button:hover{background-color:#0056b3}#auth form button[type=button]{background-color:#6c757d}#auth form button[type=button]:hover{background-color:#5a6268}#auth p{margin-top:15px;font-size:14px}#admin-panel{padding:20px;max-width:800px;margin:0 auto;font-family:Arial,sans-serif}#admin-panel,#admin-panel *{box-sizing:border-box}#admin-panel h1{text-align:center;color:#333;margin-bottom:30px}#admin-panel button{background-color:#007bff;color:#fff;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:16px;margin-right:10px;margin-bottom:20px}#admin-panel button:hover{background-color:#0056b3}#admin-panel form{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}#admin-panel form div{margin-bottom:15px}#admin-panel form label{display:block;margin-bottom:5px;font-weight:700;color:#555}#admin-panel form input[type=text],#admin-panel form input[type=url],#admin-panel form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}#admin-panel form textarea{resize:vertical;min-height:80px}#admin-panel form button[type=submit]{background-color:#28a745}#admin-panel form button[type=submit]:hover{background-color:#218838}#admin-panel .projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}#admin-panel .project-item{background-color:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}#admin-panel .project-item h3{color:#007bff;margin-top:0;margin-bottom:10px}#admin-panel .project-item p{color:#666;font-size:14px;margin-bottom:5px}#admin-panel .project-item a{color:#007bff;text-decoration:none;margin-right:10px}#admin-panel .project-item a:hover{text-decoration:underline}#admin-panel .project-item button{background-color:#ffc107;color:#333;margin-top:10px}#admin-panel .project-item button:hover{background-color:#e0a800}#admin-panel .project-item button:last-of-type{background-color:#dc3545;color:#fff}#admin-panel .project-item button:last-of-type:hover{background-color:#c82333}@media(max-width:768px){#admin-panel{padding:12px}#admin-panel h1{margin-bottom:18px;font-size:22px}#admin-panel button{width:100%;margin-right:0}#admin-panel form{padding:14px}#admin-panel .projects-list{grid-template-columns:1fr;gap:12px}#admin-panel .project-item{padding:14px}}.settings-container{padding:20px;max-width:800px;margin:0 auto;font-family:Arial,sans-serif;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.settings-container h2{text-align:center;color:#2c3e50;margin-bottom:30px}.settings-container h3{color:#34495e;margin-top:30px;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.settings-submenu{display:flex;gap:10px;margin:10px 0 20px;padding-bottom:12px;border-bottom:1px solid #eee}.settings-submenu-btn{background:#f3f6fb;color:#2c3e50;border:1px solid #d7e0ef;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:14px}.settings-submenu-btn.active{background:#007bff;color:#fff;border-color:#007bff}.settings-submenu-btn:hover{filter:brightness(.98)}.settings-section,.settings-block{margin-top:10px}.settings-subtitle{margin:0 0 10px;color:#34495e;font-size:15px}.settings-container form div{margin-bottom:15px}.settings-container form label{display:block;margin-bottom:5px;font-weight:700;color:#555}.settings-container form input[type=email],.settings-container form input[type=text],.settings-container form input[type=url]{width:calc(100% - 22px);padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.settings-container form textarea{width:calc(100% - 22px);padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;resize:vertical}.settings-hint{margin-top:8px;color:#555;font-size:14px;text-align:left}.settings-section-separator{margin:30px 0;border-top:1px solid #e6e6e6}.code-boxes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.code-box{margin-bottom:0}@media(max-width:768px){.code-boxes{grid-template-columns:1fr}}.settings-container form button{background-color:#007bff;color:#fff;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:16px;margin-top:20px}.settings-container form button:hover{background-color:#0056b3}.settings-container p{margin-top:15px;font-size:14px;color:green;text-align:center}.admin-dashboard-container{display:flex;min-height:100vh;font-family:Arial,sans-serif}.admin-mobile-topbar,.admin-backdrop{display:none}.admin-sidebar{width:200px;background-color:#2c3e50;color:#fff;padding:20px;box-shadow:2px 0 5px #0000001a;overflow:visible}.admin-sidebar nav ul{list-style:none;padding:0;margin:0}.admin-sidebar nav li{margin-bottom:10px}.admin-sidebar nav a,.admin-sidebar nav button{display:block;color:#fff;text-decoration:none;padding:10px 8px;border-radius:5px;transition:background-color .3s ease;background:none;border:none;width:100%;text-align:justify;cursor:pointer;font-size:16px}.admin-sidebar nav a.active{background-color:#34495e}.admin-sidebar-group{margin-bottom:10px}.admin-sidebar-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.admin-caret{display:inline-block;transform:rotate(0);transition:transform .2s ease;opacity:.9}.admin-caret.open{transform:rotate(90deg)}.admin-sidebar-submenu{list-style:none;padding:0;margin:6px 0 0;display:none}.admin-sidebar-submenu.open{display:block}.admin-sidebar-submenu li{margin-bottom:6px;overflow:visible}.admin-sidebar-submenu a{font-size:14px;padding:0;opacity:.95}.admin-submenu-label{padding:8px 15px 8px 28px}.admin-content{flex-grow:1;min-width:0;padding:20px;background-color:#f4f7f6}.dashboard-overview{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dashboard-overview h2{color:#2c3e50;margin-bottom:15px}.dashboard-overview p{font-size:18px;color:#555}.dashboard-overview strong{color:#007bff}@media(max-width:768px){.admin-dashboard-container{display:block;min-height:100vh}.admin-mobile-topbar{display:flex;align-items:center;gap:12px;padding:10px 12px;background-color:#f4f7f6;border-bottom:1px solid #e6e9e8;position:sticky;top:0;z-index:30}.admin-hamburger{width:40px;height:40px;border:1px solid #d6dbd8;background:#fff;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.admin-hamburger-icon{display:block;width:22px;height:22px}.admin-hamburger-icon path{fill:none;stroke:#2c3e50;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.admin-mobile-title{font-weight:700;color:#2c3e50}.admin-backdrop{display:block;position:fixed;inset:0;background:#00000073;border:none;padding:0;margin:0;z-index:40;cursor:pointer}.admin-sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(320px,85vw);padding:12px;box-shadow:2px 0 10px #0003;transform:translate(-105%);transition:transform .2s ease;z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-sidebar.open{transform:translate(0)}.admin-sidebar nav a,.admin-sidebar nav button{font-size:15px;padding:10px 12px;text-align:left}.admin-submenu-label{padding:8px 12px 8px 18px}.admin-content{padding:12px}.dashboard-overview{padding:14px}.dashboard-overview p{font-size:16px}}@media(max-width:768px){.app-header{padding-top:10px;margin-bottom:10px;text-align:center}.app-logo{height:60px;margin-bottom:0}}
