:root{--primary-color:#4a007c;--secondary-color:#004080;--accent-color:#2575fc;--success-color:#4caf50;--error-color:#dc3545;--warning-color:#ff9800;--info-color:#2196f3;--text-dark:#333;--text-light:#f4f4f4;--bg-gradient:#1d3557;--header-bg:hsla(0,0%,100%,0.1);--card-bg:#fff;--border-light:hsla(0,0%,100%,0.2);--form-input-bg:#f5f5f5;--form-input-border:#e0e0e0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:var(--bg-gradient);color:var(--text-dark);min-height:100vh;display:flex;flex-direction:column}.top-bar{background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);padding:1rem;justify-content:space-between;position:sticky;top:0;z-index:100}.top-bar,.top-bar .logo{display:flex;align-items:center}.top-bar .logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.top-bar .logo svg{margin-right:.5rem}.dashboard-button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:.5rem 1rem;transition:color .3s ease,transform .3s ease;display:flex;align-items:center;gap:5px;text-decoration:none}.dashboard-button:hover{color:var(--accent-color);transform:translateY(-2px)}.dashboard-button i{font-size:1.2rem}.dashboard-wrapper,.main-content-area{display:flex;flex:1;width:100%}.main-content-area{padding:2rem;flex-direction:column;align-items:center;transition:width .3s ease,margin-left .3s ease}.welcome-message-main{width:100%;max-width:900px;background-color:var(--card-bg);padding:25px 40px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.1);margin-bottom:2rem;text-align:center;color:var(--primary-color);font-size:1.8em;font-weight:600;position:relative;overflow:hidden}.welcome-message-main:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-color),var(--primary-color))}.content-section{background-color:var(--card-bg);padding:40px;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.15);width:100%;max-width:900px;text-align:center;position:relative;overflow:hidden;margin-bottom:2rem}.content-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color),var(--success-color))}.content-section h2{color:var(--primary-color);margin-bottom:20px;font-size:2.2em;font-weight:600}.content-section p{color:#555;font-size:1.1em;line-height:1.6;margin-bottom:1.5rem}.road-signs-container{display:flex;flex-direction:column;gap:30px;margin-top:2rem;text-align:left;align-items:center;justify-content:center;min-height:200px;width:100%}.sign-category{background-color:#fcfcfc;border-radius:12px;padding:25px;box-shadow:0 5px 15px rgba(0,0,0,.05);border-left:5px solid var(--info-color);width:100%;display:none}.sign-category h3{color:var(--secondary-color);font-size:1.8em;margin-bottom:20px;border-bottom:2px solid #eee;padding-bottom:10px}.signs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.sign-card{background-color:#fff;border-radius:10px;border:1px solid #e0e0e0;padding:15px;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.sign-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px rgba(0,0,0,.1)}.sign-card img{max-width:100px;height:auto;margin-bottom:10px;border:1px solid #ddd;border-radius:5px;padding:5px}.sign-card h4{color:var(--primary-color);font-size:1.2em;margin-bottom:5px}.sign-card p{font-size:.9em;color:#666;line-height:1.4}.category-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;width:100%;margin-top:2rem;justify-content:center}.category-card{background:var(--card-bg);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;position:relative;overflow:hidden;border:1px solid #e0e0e0}.category-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--accent-color),var(--primary-color));transform:translateY(-100%);transition:transform .3s ease}.category-card:hover{transform:translateY(-5px);box-shadow:0 15px 45px rgba(0,0,0,.2)}.category-card:hover:before{transform:translateY(0)}.category-card img{max-width:150px;height:auto;margin-bottom:15px;border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.1);transition:transform .3s ease}.category-card:hover img{transform:scale(1.05)}.category-card h3{font-size:1.7em;color:var(--primary-color);margin-bottom:10px}.category-card p{font-size:1em;color:#666;line-height:1.5;margin-bottom:0}.individual-sign-view{display:none;width:100%;max-width:900px;text-align:left;margin-top:2rem}.back-to-categories{background:linear-gradient(135deg,#6a11cb,#2575fc);border:none;border-radius:30px;color:#fff;padding:12px 30px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 8px 15px rgba(37,117,252,.3);display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;margin-bottom:20px}.back-to-categories:hover{background:linear-gradient(135deg,#2575fc,#6a11cb);box-shadow:0 12px 20px rgba(37,117,252,.6);transform:translateY(-2px)}.back-to-categories i{transition:transform .3s ease}.back-to-categories:hover i{transform:translateX(-5px)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6);backdrop-filter:blur(5px);justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease-in-out}.modal.active{display:flex;opacity:1}.modal-content{background-color:#fefefe;margin:auto;padding:30px;border-radius:12px;box-shadow:0 15px 30px rgba(0,0,0,.3);position:relative;width:90%;max-width:600px;text-align:center;transform:translateY(-50px);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out;display:flex;flex-direction:column;align-items:center;gap:15px}.modal.active .modal-content{transform:translateY(0);opacity:1}.close-button{color:#aaa;position:absolute;top:15px;right:20px;font-size:32px;font-weight:700;cursor:pointer;transition:color .3s ease}.close-button:focus,.close-button:hover{color:var(--error-color);text-decoration:none}.modal-content img{max-width:80%;height:auto;border:2px solid var(--primary-color);border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.modal-content h3{color:var(--primary-color);font-size:2em;margin-bottom:10px}.modal-content p{font-size:1.1em;color:#555;line-height:1.6;text-align:left;width:100%}.footer-bottom{width:100vw;background:rgba(0,0,0,.2);color:#fff;text-align:center;padding:15px 0;margin-top:auto;font-size:.9em;border-top:1px solid hsla(0,0%,100%,.1);box-sizing:border-box}.footer-bottom p{margin:0;padding:0 20px}.footer-bottom .powered-by-aphrodice{font-weight:700;color:#a3daff}.content-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;color:var(--primary-color);font-size:1.1em;width:100%}.content-spinner{border:6px solid #f3f3f3;border-top:6px solid var(--accent-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mind-peace-words{font-style:italic;color:#666;margin-top:10px}@media (max-width:1024px){.content-section{padding:30px}h2{font-size:2em}.signs-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.category-cards-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.top-bar{display:flex}.dashboard-wrapper{flex-direction:column}.main-content-area{width:100%;padding:1.5rem;margin-left:0}.welcome-message-main{padding:20px;font-size:1.5em}.content-section{padding:25px;margin-bottom:1.5rem}h2{font-size:1.8em;margin-bottom:20px}.category-cards-grid,.signs-grid{grid-template-columns:1fr}.modal-content{width:95%;padding:20px}.modal-content img{max-width:90%}.modal-content h3{font-size:1.6em}.modal-content p{font-size:1em}}@media (max-width:480px){.top-bar .logo{font-size:1.2rem}.top-bar .logo svg{width:35px;height:35px}.content-section{padding:20px}h2{font-size:1.6em;margin-bottom:15px}.sign-category h3{font-size:1.5em}.sign-card h4{font-size:1.1em}.sign-card p{font-size:.85em}.welcome-message-main{font-size:1.2em}}