.filter-section { background: var(--ion-background-color); padding: 5px 0; ion-item { --background: transparent; } } .loading-container { display: flex; flex-direction: column; align-items: center; margin-top: 50px; color: var(--ion-color-medium); } .empty-state { text-align: center; padding: 30px 20px; color: var(--ion-color-medium); } .error-state { text-align: center; padding: 30px 20px; color: var(--ion-color-danger); font-weight: bold; } // Header styles .header-content { display: flex; align-items: center; padding: 0 10px; .header-logo { height: 36px; width: auto; background-color: white; padding: 4px; border-radius: 5px; position: absolute; left: 10px; z-index: 10; } } // Footer replica styles .footer-content { display: flex; align-items: center; justify-content: center; padding: 10px; .footer-text { color: white; font-size: 13px; line-height: 1.2; text-align: center; } } .view-segment { background: var(--ion-background-color); padding: 10px; } .card-header-flex { display: flex; justify-content: space-between; align-items: flex-start; .header-titles { flex: 1; margin-right: 15px; } .fav-icon { font-size: 28px; cursor: pointer; flex-shrink: 0; } } .aula-container { margin: 15px 0; .aula-tag { color: #682cad; font-size: 1.3em; font-weight: bold; display: inline-block; } } ion-card { margin: 8px 10px; ion-card-header { padding: 10px 14px 0; ion-card-title { font-size: 1.15rem; } } ion-card-content { padding: 10px 14px 14px; p { margin-top: 0; margin-bottom: 4px; font-size: 0.9em; } .aula-container { margin: 8px 0; .aula-tag { font-size: 1.2em; } } } } ion-card.subject-card { margin: 8px 12px; position: relative; overflow: hidden; transition: transform 0.1s; &:active { transform: scale(0.98); } } .card-actions { display: flex; align-items: center; gap: 12px; .share-icon, .fav-icon { font-size: 1.5rem; cursor: pointer; transition: transform 0.15s; &:active { transform: scale(1.2); } } } .link-container { margin-top: 10px; ion-button { --border-radius: 8px; font-weight: 600; letter-spacing: 0.3px; } } .schedule-text { color: #7B2049; /* Secondary Uva color */ font-size: 0.98rem !important; font-weight: bold !important; margin-top: 8px !important; margin-bottom: 8px !important; } .highlight-card { border: 2px solid var(--ion-color-secondary) !important; animation: pulse-border 1s alternate infinite; } @keyframes pulse-border { from { box-shadow: 0 0 5px var(--ion-color-secondary); } to { box-shadow: 0 0 20px var(--ion-color-secondary); } } /* Dark mode overwrites for custom colored text */ @media (prefers-color-scheme: dark) { .aula-container .aula-tag { color: #ae7fff; /* Lighter vivid purple for dark background */ } .schedule-text { color: #ff8ab6 !important; /* Lighter magenta for dark background */ } .highlight-card { border-color: var(--ion-color-primary) !important; animation: pulse-border-dark 1s alternate infinite; } @keyframes pulse-border-dark { from { box-shadow: 0 0 5px var(--ion-color-primary); } to { box-shadow: 0 0 20px var(--ion-color-primary); } } }