:root{--primary-color:#21808D;--background-color:#FCFCF9;--text-color:#333;--card-bg:#fff;--shadow:0 4px 12px rgba(0,0,0,.08);--border-radius:12px;--font-family:'Segoe UI','Roboto',system-ui,sans-serif;--score-high:#28a745;--score-medium:#ffc107;--score-low:#dc3545}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);margin:0;line-height:1.6}.app-header{background-color:var(--primary-color);color:#fff;padding:1rem 2rem;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;gap:1rem}@media (min-width: 768px){.app-header{flex-direction:row;justify-content:space-between}}.app-header h1{margin:0;font-size:1.5rem}.search-container{position:relative;width:250px}.search-container input{width:100%;padding:10px;border-radius:8px;border:none;font-size:1rem}#suggestions-box{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:0 0 8px 8px;box-shadow:var(--shadow);z-index:100;overflow:hidden;max-height:0;transition:max-height .3s ease}#suggestions-box.active{max-height:300px}.suggestion-item{padding:12px;color:var(--text-color);cursor:pointer;border-bottom:1px solid #eee}.suggestion-item:hover{background-color:#f1f5f9}.suggestion-item:last-child{border-bottom:none}.main-container{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem;max-width:1200px;margin:auto}@media (min-width: 992px){.main-container{grid-template-columns:350px 1fr}}footer{text-align:center;padding:1rem;font-size:.9rem;color:#888}.dashboard-section{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;height:fit-content}.dashboard-section h2{margin-top:0;color:var(--primary-color)}.loader{text-align:center;padding:2rem;font-size:1.5rem}.score-widget{text-align:center;margin-bottom:2rem}.score-circle{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto;color:#fff;font-weight:700;box-shadow:0 0 15px rgba(0,0,0,.2);transition:background-color .5s ease}.score-value{font-size:3.5rem;line-height:1}.score-label{font-size:1rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:center}.info-item{background-color:#f1f5f9;padding:.8rem;border-radius:8px}.info-item-title{font-size:.8rem;color:#666;display:block}.info-item-value{font-size:1.1rem;font-weight:600}.calendar-section{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h2{margin:0;color:var(--primary-color)}#species-filter{padding:.5rem;border-radius:8px;border:1px solid #ccc;font-family:var(--font-family)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day-name{font-weight:700;text-align:center;padding-bottom:.5rem;font-size:.8rem;color:#666}.calendar-day{border:1px solid #eee;border-radius:8px;min-height:80px;padding:.5rem;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.calendar-day:hover{transform:translateY(-3px);box-shadow:0 6px 15px rgba(0,0,0,.1)}.day-number{font-weight:700}.day-info{text-align:center;margin-top:.5rem}.day-score{font-size:1.4rem;font-weight:700}.day-moon{font-size:1.2rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.2);width:90%;max-width:500px;position:relative}.close-button{position:absolute;top:10px;right:15px;background:0 0;border:none;font-size:2rem;cursor:pointer;color:#aaa}#modal-body h3{color:var(--primary-color)}
