.feed-alert-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.feed-alert-popup{background:var(--bg-card);border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:popupSlide .3s ease-out}.popup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning)}.popup-icon{width:32px;height:32px;background:var(--color-warning);color:var(--color-warning-text);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.popup-header h2{margin:0;flex:1;font-size:1.25rem;color:var(--color-warning-text)}.popup-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-warning-text);cursor:pointer;padding:0;line-height:1;opacity:.7}.popup-header .close-btn:hover{opacity:1}.popup-intro{padding:1rem 1.5rem 0;margin:0;color:var(--text-secondary);font-size:.95rem}.popup-alerts{padding:1rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.75rem}.popup-alert-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--color-warning)}.alert-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.alert-content .horse-name{color:var(--color-primary, #2a5934)}.alert-content .item-name{font-weight:500;color:var(--text-primary)}.alert-content .alert-notes{font-size:.85rem;color:var(--text-secondary);font-style:italic}.alert-content .reporter{font-size:.8rem;color:var(--text-muted)}.popup-alert-item .resolve-btn{background:var(--color-primary, #2a5934);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;white-space:nowrap}.popup-alert-item .resolve-btn:hover{background:var(--color-primary-dark, #1e4027)}.popup-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.popup-footer .view-all-btn{background:var(--color-primary, #2a5934);color:var(--text-inverse);text-decoration:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500}.popup-footer .view-all-btn:hover{background:var(--color-primary-dark, #1e4027)}.popup-footer .dismiss-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.popup-footer .dismiss-btn:hover{background:var(--bg-card-hover)}@media (max-width: 480px){.popup-footer{flex-direction:column;gap:.75rem}.popup-footer .view-all-btn,.popup-footer .dismiss-btn{width:100%;text-align:center}}.feed-notification-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 1000);padding:var(--space-4, 1rem)}.feed-notification-popup{background:var(--bg-card);border-radius:var(--radius-xl, 12px);max-width:550px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:notificationPopupSlide .3s ease-out}@keyframes notificationPopupSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feed-notification-popup .popup-header{display:flex;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-4, 1rem) var(--space-6, 1.5rem);background:var(--color-info-bg, #e0f2fe);border-bottom:1px solid var(--color-info, #0ea5e9)}.feed-notification-popup .popup-icon{width:36px;height:36px;background:var(--color-info, #0ea5e9);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-notification-popup .popup-header h2{margin:0;flex:1;font-size:var(--font-size-xl, 1.25rem);color:var(--color-info-text, #0c4a6e)}.feed-notification-popup .popup-intro{padding:var(--space-4, 1rem) var(--space-6, 1.5rem) 0;margin:0;color:var(--text-secondary);font-size:var(--font-size-sm, .95rem)}.popup-notifications{padding:var(--space-4, 1rem) var(--space-6, 1.5rem);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.popup-notification-item{display:flex;align-items:flex-start;gap:var(--space-4, 1rem);padding:var(--space-3, .75rem);background:var(--bg-secondary);border-radius:var(--radius-lg, 8px);border-left:4px solid var(--color-info, #0ea5e9)}.notification-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1, .25rem)}.notification-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2, .5rem)}.notification-header .change-type{font-size:var(--font-size-xs, .75rem);text-transform:uppercase;font-weight:var(--font-weight-semibold, 600);color:var(--color-info, #0ea5e9);letter-spacing:.5px}.notification-header .notification-time{font-size:var(--font-size-xs, .75rem);color:var(--text-muted)}.notification-content .horse-name{color:var(--color-primary, #2a5934);font-size:var(--font-size-base, 1rem)}.notification-content .description{margin:var(--space-1, .25rem) 0;font-size:var(--font-size-sm, .875rem);color:var(--text-primary);line-height:1.4}.notification-content .changed-by{font-size:var(--font-size-xs, .75rem);color:var(--text-muted)}.popup-notification-item .acknowledge-btn{background:var(--color-primary, #2a5934);color:var(--text-inverse, white);border:none;padding:var(--space-2, .5rem) var(--space-3, .75rem);border-radius:var(--radius-md, 4px);font-size:var(--font-size-sm, .875rem);cursor:pointer;white-space:nowrap;transition:background .2s ease}.popup-notification-item .acknowledge-btn:hover:not(:disabled){background:var(--color-primary-hover, #1e4027)}.popup-notification-item .acknowledge-btn:disabled{opacity:.6;cursor:not-allowed}.feed-notification-popup .popup-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4, 1rem) var(--space-6, 1.5rem);background:var(--bg-secondary);border-top:1px solid var(--border-light)}.popup-footer .notification-count{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary)}.popup-footer .acknowledge-all-btn{background:var(--color-primary, #2a5934);color:var(--text-inverse, white);border:none;padding:var(--space-3, .75rem) var(--space-6, 1.5rem);border-radius:var(--radius-md, 4px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:background .2s ease}.popup-footer .acknowledge-all-btn:hover:not(:disabled){background:var(--color-primary-hover, #1e4027)}.popup-footer .acknowledge-all-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.popup-notification-item{flex-direction:column;gap:var(--space-3, .75rem)}.popup-notification-item .acknowledge-btn{width:100%;text-align:center}.feed-notification-popup .popup-footer{flex-direction:column;gap:var(--space-3, .75rem)}.popup-footer .acknowledge-all-btn{width:100%;text-align:center}}.quote-alert-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.quote-alert-popup{background:var(--bg-card);border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:quotePopupSlide .3s ease-out}@keyframes quotePopupSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quote-alert-popup .popup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--color-info-bg);border-bottom:1px solid var(--color-info)}.quote-alert-popup .popup-icon{width:32px;height:32px;background:var(--color-info);color:var(--text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.quote-alert-popup .popup-header h2{margin:0;flex:1;font-size:1.25rem;color:var(--color-info-text)}.quote-alert-popup .popup-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-info-text);cursor:pointer;padding:0;line-height:1;opacity:.7}.quote-alert-popup .popup-header .close-btn:hover{opacity:1}.quote-alert-popup .popup-intro{padding:1rem 1.5rem 0;margin:0;color:var(--text-secondary);font-size:.95rem}.popup-quotes{padding:1rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.75rem}.popup-quote-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--color-info)}.quote-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.quote-content .service-name{color:var(--text-primary);font-size:1rem}.quote-content .horse-name{color:var(--color-primary, #2a5934);font-size:.9rem}.quote-content .quote-date{font-size:.85rem;color:var(--text-secondary)}.quote-content .quote-notes{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.quote-content .quote-price{font-size:1.25rem;font-weight:700;color:var(--color-success);margin-top:.5rem}.quote-actions{display:flex;flex-direction:column;gap:.5rem}.quote-actions .accept-btn{background:var(--color-success);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;white-space:nowrap}.quote-actions .accept-btn:hover{background:var(--color-success-hover)}.quote-actions .accept-btn:disabled{opacity:.6;cursor:not-allowed}.quote-actions .decline-btn{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger);padding:.5rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;white-space:nowrap}.quote-actions .decline-btn:hover{background:var(--color-danger);color:var(--text-inverse)}.quote-actions .decline-btn:disabled{opacity:.6;cursor:not-allowed}.quote-alert-popup .popup-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.quote-alert-popup .popup-footer .view-all-btn{background:var(--color-primary, #2a5934);color:var(--text-inverse);text-decoration:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500}.quote-alert-popup .popup-footer .view-all-btn:hover{background:var(--color-primary-dark, #1e4027)}.quote-alert-popup .popup-footer .dismiss-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.quote-alert-popup .popup-footer .dismiss-btn:hover{background:var(--bg-card-hover)}@media (max-width: 480px){.popup-quote-item{flex-direction:column}.quote-actions{flex-direction:row;width:100%}.quote-actions .accept-btn,.quote-actions .decline-btn{flex:1}.quote-alert-popup .popup-footer{flex-direction:column;gap:.75rem}.quote-alert-popup .popup-footer .view-all-btn,.quote-alert-popup .popup-footer .dismiss-btn{width:100%;text-align:center}}.vaccination-alert-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.vaccination-alert-popup{background:var(--bg-card);border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:popupSlide .3s ease-out}@keyframes popupSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vaccination-alert-popup .popup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--color-primary-light);border-bottom:1px solid var(--color-primary)}.vaccination-alert-popup .popup-header.has-overdue{background:var(--badge-maintenance-bg);border-bottom:1px solid var(--badge-maintenance-text)}.vaccination-alert-popup .popup-icon{width:32px;height:32px;background:var(--color-primary);color:var(--text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.vaccination-alert-popup .popup-header.has-overdue .popup-icon{background:var(--badge-maintenance-text)}.vaccination-alert-popup .popup-header h2{margin:0;flex:1;font-size:1.25rem;color:var(--color-primary)}.vaccination-alert-popup .popup-header.has-overdue h2{color:var(--badge-maintenance-text)}.vaccination-alert-popup .popup-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-primary);cursor:pointer;padding:0;line-height:1;opacity:.7}.vaccination-alert-popup .popup-header.has-overdue .close-btn{color:var(--badge-maintenance-text)}.vaccination-alert-popup .popup-header .close-btn:hover{opacity:1}.vaccination-alert-popup .popup-intro{padding:1rem 1.5rem 0;margin:0;color:var(--text-secondary);font-size:.95rem}.vaccination-alert-popup .popup-alerts{padding:1rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.vaccination-alert-popup .alert-section h3{margin:0 0 .5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.vaccination-alert-popup .alert-section.overdue h3{color:var(--badge-maintenance-text)}.vaccination-alert-popup .alert-section.upcoming h3{color:var(--color-warning)}.vaccination-alert-popup .popup-alert-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--color-primary)}.vaccination-alert-popup .popup-alert-item.overdue{border-left-color:var(--badge-maintenance-text);background:var(--badge-maintenance-bg)}.vaccination-alert-popup .alert-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.vaccination-alert-popup .alert-content .horse-name{color:var(--color-primary)}.vaccination-alert-popup .alert-content .vaccine-name{font-weight:500;color:var(--text-primary)}.vaccination-alert-popup .alert-content .due-text{font-size:.85rem;color:var(--text-secondary)}.vaccination-alert-popup .alert-content .due-text.overdue{color:var(--badge-maintenance-text);font-weight:500}.vaccination-alert-popup .popup-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.vaccination-alert-popup .popup-footer .view-all-btn{background:var(--color-primary);color:var(--text-inverse);text-decoration:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500}.vaccination-alert-popup .popup-footer .view-all-btn:hover{background:var(--color-primary-dark)}.vaccination-alert-popup .popup-footer .dismiss-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.vaccination-alert-popup .popup-footer .dismiss-btn:hover{background:var(--bg-card-hover)}@media (max-width: 480px){.vaccination-alert-popup .popup-footer{flex-direction:column;gap:.75rem}.vaccination-alert-popup .popup-footer .view-all-btn,.vaccination-alert-popup .popup-footer .dismiss-btn{width:100%;text-align:center}}@media (prefers-color-scheme: dark){.vaccination-alert-popup{background:#2d2d2d}.vaccination-alert-popup .popup-header{background:#2196f326}.vaccination-alert-popup .popup-header.has-overdue{background:#ef535026}.vaccination-alert-popup .popup-alert-item{background:#3a3a3a}.vaccination-alert-popup .popup-alert-item.overdue{background:#ef53501a}.vaccination-alert-popup .popup-footer{background:#3a3a3a;border-color:#555}.vaccination-alert-popup .popup-footer .dismiss-btn{border-color:#555;color:#e0e0e0}.vaccination-alert-popup .popup-footer .dismiss-btn:hover{background:#4a4a4a}}.flood-alert-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.flood-alert-popup{background:var(--bg-card);border-radius:12px;max-width:520px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;animation:floodPopupSlide .3s ease-out}@keyframes floodPopupSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.flood-alert-popup .popup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:2px solid}.flood-alert-popup .popup-header.warning{background:var(--color-warning-bg);border-bottom-color:var(--color-warning)}.flood-alert-popup .popup-header.severe{background:var(--color-error-bg);border-bottom-color:var(--color-error)}.flood-alert-popup .popup-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;flex-shrink:0;color:var(--text-inverse)}.flood-alert-popup .popup-header.warning .popup-icon{background:var(--color-warning)}.flood-alert-popup .popup-header.severe .popup-icon{background:var(--color-error)}.flood-alert-popup .popup-header h2{margin:0;flex:1;font-size:1.25rem}.flood-alert-popup .popup-header.warning h2{color:var(--color-warning-text)}.flood-alert-popup .popup-header.severe h2{color:var(--color-error)}.flood-alert-popup .popup-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.flood-alert-popup .popup-header.warning .close-btn{color:var(--color-warning-text)}.flood-alert-popup .popup-header.severe .close-btn{color:var(--color-error)}.flood-alert-popup .popup-header .close-btn:hover{opacity:1}.flood-alert-popup .popup-intro{padding:1rem 1.5rem 0;margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.flood-alert-popup .popup-alerts{padding:1rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.flood-alert-popup .alert-section h3{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.flood-alert-popup .alert-section.severe h3{color:var(--color-error)}.flood-alert-popup .alert-section.warning h3{color:var(--color-warning-text)}.flood-alert-popup .popup-alert-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;border-left:4px solid}.flood-alert-popup .popup-alert-item.severe{background:var(--color-error-bg);border-left-color:var(--color-error)}.flood-alert-popup .popup-alert-item.warning{background:var(--color-warning-bg);border-left-color:var(--color-warning)}.flood-alert-popup .alert-content{flex:1;display:flex;flex-direction:column;gap:.35rem}.flood-alert-popup .alert-content .field-name{font-size:1rem;color:var(--text-primary)}.flood-alert-popup .alert-content .station-info{font-size:.9rem;color:var(--text-secondary)}.flood-alert-popup .alert-content .level-info{display:flex;gap:1rem;align-items:center;font-size:.9rem;margin-top:.25rem}.flood-alert-popup .alert-content .current-level{font-weight:600}.flood-alert-popup .alert-content .current-level.severe{color:var(--color-error)}.flood-alert-popup .alert-content .current-level.warning{color:var(--color-warning-text)}.flood-alert-popup .alert-content .distance{color:var(--text-muted);font-size:.85rem}.flood-alert-popup .alert-content .evacuation-notes{margin:.5rem 0 0;padding:.5rem;background:#0000000d;border-radius:4px;font-size:.85rem;color:var(--text-secondary);font-style:italic}.flood-alert-popup .popup-meta{padding:.5rem 1.5rem;font-size:.8rem;color:var(--text-muted);text-align:right}.flood-alert-popup .popup-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-light);gap:1rem}.flood-alert-popup .popup-footer .view-details-btn{background:var(--color-primary);color:var(--text-inverse);text-decoration:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;transition:background .2s}.flood-alert-popup .popup-footer .view-details-btn:hover{background:var(--color-primary-hover)}.flood-alert-popup .popup-footer .dismiss-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s}.flood-alert-popup .popup-footer .dismiss-btn:hover{background:var(--bg-card-hover);border-color:var(--text-secondary)}@media (max-width: 480px){.flood-alert-popup .popup-footer{flex-direction:column}.flood-alert-popup .popup-footer .view-details-btn,.flood-alert-popup .popup-footer .dismiss-btn{width:100%;text-align:center}}@media (prefers-color-scheme: dark){.flood-alert-popup{background:#2d2d2d}.flood-alert-popup .popup-header.warning{background:#ff980026}.flood-alert-popup .popup-header.severe{background:#f4433626}.flood-alert-popup .popup-alert-item.severe{background:#f443361a}.flood-alert-popup .popup-alert-item.warning{background:#ff98001a}.flood-alert-popup .alert-content .evacuation-notes{background:#ffffff0d}.flood-alert-popup .popup-footer{background:#3a3a3a;border-color:#555}.flood-alert-popup .popup-footer .dismiss-btn{border-color:#555;color:#e0e0e0}.flood-alert-popup .popup-footer .dismiss-btn:hover{background:#4a4a4a}}.milestones-popup-overlay{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-modal);animation:slide-up .3s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.milestones-popup{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:380px;max-width:calc(100vw - var(--space-8));overflow:hidden}.milestones-popup .popup-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,var(--color-purple) 0%,var(--color-primary) 100%);color:var(--text-inverse)}.milestones-popup .popup-icon{font-size:var(--font-size-2xl)}.milestones-popup .popup-header h2{flex:1;margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.milestones-popup .close-btn{background:#fff3;border:none;border-radius:var(--radius-md);width:32px;height:32px;font-size:var(--font-size-xl);color:var(--text-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s}.milestones-popup .close-btn:hover{background:#ffffff4d}.milestones-popup .popup-intro{margin:0;padding:var(--space-4);padding-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.milestones-popup .milestones-list{padding:0 var(--space-4);max-height:300px;overflow-y:auto}.milestones-popup .milestone-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--bg-secondary)}.milestones-popup .milestone-item.birthday{border-left:3px solid var(--color-pink)}.milestones-popup .milestone-item.anniversary{border-left:3px solid var(--color-success)}.milestones-popup .milestone-item.today{background:var(--color-warning-bg);border-left-color:var(--color-warning)}.milestones-popup .milestone-icon{font-size:var(--font-size-xl)}.milestones-popup .milestone-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.milestones-popup .milestone-content strong{font-size:var(--font-size-sm);color:var(--text-primary)}.milestones-popup .milestone-type{font-size:var(--font-size-xs);color:var(--text-secondary)}.milestones-popup .milestone-when{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.milestones-popup .milestone-when.today{color:var(--color-warning-text);font-weight:var(--font-weight-semibold)}.milestones-popup .popup-footer{display:flex;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--border-light)}.milestones-popup .view-profiles-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--text-inverse);text-decoration:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background .2s}.milestones-popup .view-profiles-btn:hover{background:var(--color-primary-hover)}.milestones-popup .dismiss-btn{padding:var(--space-2) var(--space-4);background:var(--bg-secondary);color:var(--text-secondary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s}.milestones-popup .dismiss-btn:hover{background:var(--bg-card-hover)}@media (max-width: 480px){.milestones-popup-overlay{bottom:0;right:0;left:0;padding:var(--space-4)}.milestones-popup{width:100%;max-width:none}.milestones-popup .popup-footer{flex-direction:column}}.thanks-notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease-out}.thanks-notification-popup{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-6);max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.thanks-notification-popup .popup-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.thanks-notification-popup .popup-icon{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.thanks-notification-popup .popup-icon.thank-you{background:linear-gradient(135deg,var(--color-pink),var(--color-error))}.thanks-notification-popup .popup-header h2{flex:1;margin:0;font-size:var(--font-size-lg)}.thanks-notification-popup .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);line-height:1}.thanks-notification-popup .close-btn:hover{color:var(--text-primary)}.thanks-preview{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.sender-info{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.sender-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.sender-details{display:flex;flex-direction:column}.sender-details strong{color:var(--text-primary)}.thanks-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.thanks-message{margin:0;font-style:italic;color:var(--text-primary);line-height:var(--line-height-relaxed)}.tip-included{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-light)}.tip-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.tip-amount{font-weight:var(--font-weight-bold);color:var(--color-success-text);background:var(--color-success-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.more-thanks{text-align:center;margin:0 0 var(--space-4) 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.popup-actions{display:flex;gap:var(--space-3);justify-content:flex-end}@media (max-width: 480px){.thanks-notification-popup{padding:var(--space-4)}.popup-actions{flex-direction:column}.popup-actions .ds-btn{width:100%}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,var(--header-bg) 0%,var(--color-primary) 100%);color:var(--header-text);padding:.75rem 1rem;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.logo{text-decoration:none;color:var(--header-text);flex-shrink:0}.logo h1{margin:0;font-size:1.25rem}.logo-image{max-height:40px;width:auto;display:block}.header-user-info{flex:1;text-align:right;margin-right:.5rem}.header-user-info .user-name{font-weight:500;font-size:.9rem;opacity:.9}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:8px;cursor:pointer;padding:10px;gap:5px;transition:background-color .2s;flex-shrink:0}.hamburger-btn:hover{background:#fff3}.hamburger-line{display:block;width:22px;height:2px;background:var(--header-text);border-radius:2px;transition:transform .3s,opacity .3s}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998;animation:fadeIn .2s ease-out}.nav{position:fixed;top:0;right:-320px;width:300px;max-width:85vw;height:100vh;height:100dvh;background:var(--bg-card);box-shadow:var(--shadow-lg);z-index:999;display:flex;flex-direction:column;transition:right .3s ease-out;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.nav.nav-open{right:0}.nav-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--header-bg);color:var(--header-text);flex-shrink:0}.nav-title{font-size:1.1rem;font-weight:600}.nav-close-btn{background:#ffffff1a;border:none;color:var(--header-text);font-size:1.5rem;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.nav-close-btn:hover{background:#fff3}.nav-content{flex:1;overflow-y:auto;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.nav-content>a{display:block;color:var(--text-primary);text-decoration:none;padding:.875rem 1.25rem;font-size:.95rem;border-bottom:1px solid var(--border-light);transition:background-color .2s}.nav-content>a:hover{background-color:var(--bg-secondary)}.nav-content .nav-dropdown{display:block;border-bottom:1px solid var(--border-light)}.nav-content .nav-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1.25rem;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;background:transparent;border:none;text-align:left}.nav-content .nav-dropdown-trigger:hover{background-color:var(--bg-secondary)}.nav-content .nav-dropdown-trigger .dropdown-arrow{font-size:.7rem;transition:transform .2s ease;color:var(--text-secondary)}.nav-content .nav-dropdown-menu{display:none;position:static;box-shadow:none;background:var(--bg-secondary);padding:0;margin:0;border-radius:0;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-content .nav-dropdown.open .nav-dropdown-menu{display:block;max-height:2000px}.nav-content .nav-dropdown-menu a{display:block;padding:.75rem 1.25rem .75rem 2rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-light)}.nav-content .nav-dropdown-menu a:last-child{border-bottom:none}.nav-content .nav-dropdown-menu a:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.nav-content .nav-dropdown-menu .dropdown-divider{height:1px;margin:.5rem 1.25rem;background-color:var(--border-color)}.nav-content .nav-dropdown-menu a.dropdown-highlight{font-weight:600;color:var(--color-primary);border-left:3px solid var(--color-primary);padding-left:calc(1.25rem - 3px)}.nav-content .nav-sub-dropdown{display:block;border-bottom:1px solid var(--border-light)}.nav-content .nav-sub-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1.25rem .75rem 2rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;background:transparent;border:none;text-align:left}.nav-content .nav-sub-dropdown-trigger:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.nav-content .nav-sub-dropdown-trigger .dropdown-arrow{font-size:.6rem;transition:transform .2s ease;color:var(--text-muted)}.nav-content .nav-sub-dropdown-menu{display:none;background:var(--bg-body);max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-content .nav-sub-dropdown.open .nav-sub-dropdown-menu{display:block;max-height:500px}.nav-content .nav-sub-dropdown-menu a{display:block;padding:.625rem 1.25rem .625rem 3rem;font-size:.85rem;color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-light)}.nav-content .nav-sub-dropdown-menu a:last-child{border-bottom:none}.nav-content .nav-sub-dropdown-menu a:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.nav-divider{height:1px;margin:.5rem 0;background-color:var(--border-color)}.nav-logout-btn{display:block;width:100%;text-align:left;color:var(--color-error);background:transparent;border:none;padding:.875rem 1.25rem;font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background-color .2s}.nav-logout-btn:hover{background-color:var(--bg-secondary)}.user-menu.desktop-only{display:none}.main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.footer{background:var(--footer-bg);color:var(--footer-text);text-align:center;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));margin-top:auto}@media (max-width: 480px){.header{padding:.5rem .75rem}.logo h1{font-size:1.1rem}.logo-image{max-height:35px}.header-user-info .user-name{font-size:.8rem}.main{padding:1rem}.nav{width:280px}}@media (max-width: 480px){.header{padding:.5rem}.header-content{gap:.5rem}.logo h1{font-size:1rem}.logo-image{max-height:30px}.header-user-info{display:none}.hamburger-btn{width:40px;height:40px;padding:8px}.hamburger-line{width:20px}.main{padding:.75rem .5rem}.nav{width:100%;max-width:100vw;right:-100%}.nav.nav-open{right:0}.nav-header{padding:.75rem 1rem}.nav-title{font-size:1rem}.nav-content>a{padding:1rem;font-size:1rem}.nav-content .nav-dropdown-trigger{padding:1rem;font-size:1rem}.nav-content .nav-dropdown-menu a,.nav-content .nav-sub-dropdown-trigger{padding:.875rem 1rem .875rem 2rem;font-size:.95rem}.nav-content .nav-sub-dropdown-menu a{padding:.75rem 1rem .75rem 3rem;font-size:.9rem}.nav-logout-btn{padding:1rem;font-size:1rem}.footer{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));font-size:.8rem}}.public-layout{min-height:100vh;display:flex;flex-direction:column}.public-header{background:var(--bg-card);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.public-header .header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.public-header .logo{text-decoration:none}.public-header .logo h1{margin:0;font-size:1.5rem;color:var(--color-primary)}.public-header .logo-image{max-height:60px;width:auto;display:block}.public-header .hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:var(--color-primary);border:none;border-radius:8px;cursor:pointer;padding:10px;gap:5px;transition:background-color .2s;flex-shrink:0}.public-header .hamburger-btn:hover{background:var(--color-primary-hover)}.public-header .hamburger-line{display:block;width:22px;height:2px;background:var(--bg-card);border-radius:2px;transition:transform .3s,opacity .3s}.public-header .hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.public-header .hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.public-header .hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.public-header .nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.public-nav{position:fixed;top:0;right:-320px;width:300px;max-width:85vw;height:100vh;height:100dvh;background:var(--bg-card);box-shadow:var(--shadow-lg);z-index:999;display:flex;flex-direction:column;transition:right .3s ease-out;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.public-nav.nav-open{right:0}.public-nav .nav-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--color-primary);color:var(--text-inverse);flex-shrink:0}.public-nav .nav-title{font-size:1.1rem;font-weight:600}.public-nav .nav-close-btn{background:#ffffff1a;border:none;color:var(--text-inverse);font-size:1.5rem;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.public-nav .nav-close-btn:hover{background:#fff3}.public-nav .nav-content{flex:1;overflow-y:auto;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.public-nav .nav-content a{display:block;color:var(--text-primary);text-decoration:none;padding:.875rem 1.25rem;font-size:.95rem;font-weight:500;border-bottom:1px solid var(--border-light);transition:background-color .2s}.public-nav .nav-content a:hover{background-color:var(--bg-secondary);color:var(--color-primary)}.public-main{flex:1;padding:2rem;background:var(--bg-body)}.public-footer{background:var(--footer-bg);color:var(--footer-text);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));text-align:center}.public-footer p{margin:0;font-size:.875rem}@media (max-width: 768px){.public-header .header-content{padding:.75rem 1rem}.public-main{padding:1rem}.public-footer{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}}@media (max-width: 480px){.public-header .header-content{padding:.5rem;gap:.5rem}.public-header .logo h1{font-size:1.1rem}.public-header .logo-image{max-height:40px}.public-header .hamburger-btn{width:40px;height:40px}.public-nav{width:100%;max-width:100vw;right:-100%}.public-nav.nav-open{right:0}.public-nav .nav-content a{padding:1rem;font-size:1rem}.public-main{padding:.75rem .5rem}.public-footer{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));font-size:.8rem}}.auth-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--header-bg) 0%,var(--color-primary) 100%);padding:1rem;position:relative}.home-link{position:absolute;top:1rem;left:1rem;color:var(--text-inverse);padding:.75rem;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;transition:background-color .2s;text-decoration:none}.home-link:hover{background:#ffffff40}.home-link svg{display:block}.auth-container{width:100%;max-width:400px}.auth-header{text-align:center;color:var(--text-inverse);margin-bottom:2rem}.auth-header h1{margin:0 0 .5rem;font-size:1.75rem}.auth-header p{margin:0;opacity:.9}.auth-form{background:var(--bg-card);border-radius:8px;padding:2rem;box-shadow:var(--shadow-md)}.auth-form h2{margin:0 0 1.5rem;text-align:center;color:var(--text-primary)}.auth-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;text-align:center}.auth-form .form-group{margin-bottom:1rem}.auth-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.auth-form input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;box-sizing:border-box;background:var(--bg-input);color:var(--text-primary)}.auth-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.auth-button{width:100%;padding:.875rem;background:var(--color-primary);color:var(--text-inverse);border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){background:var(--color-primary-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-switch a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.first-login-hint{background:#ffffff1a;border-radius:8px;padding:1rem;margin-top:1.5rem;text-align:center;color:var(--text-inverse)}.first-login-hint p{margin:0 0 .5rem;font-size:.875rem}.first-login-hint code{display:block;background:#0003;padding:.5rem;border-radius:4px;font-family:monospace;font-size:.8rem;margin:.5rem 0}.use-defaults-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--text-inverse);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background .2s}.use-defaults-btn:hover{background:#ffffff4d}.change-password-required{background:var(--color-warning-bg, #fff3cd);color:var(--color-warning, #856404);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.change-password-required p{margin:0}.auth-success{background:var(--color-success-bg, #d4edda);color:var(--color-success, #155724);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;text-align:center}@media (max-width: 480px){.auth-page{padding:.75rem}.home-link{top:.75rem;left:.75rem;padding:.5rem}.auth-container{max-width:100%}.auth-header{margin-bottom:1.5rem}.auth-header h1{font-size:1.5rem}.auth-header p{font-size:.9rem}.auth-form{padding:1.25rem}.auth-form h2{font-size:1.25rem;margin-bottom:1rem}.auth-form input{font-size:16px;padding:.65rem}.auth-button{padding:.75rem}.auth-switch{font-size:.9rem}.first-login-hint{padding:.75rem;margin-top:1rem}.first-login-hint p{font-size:.8rem}.first-login-hint code{font-size:.75rem}.change-password-required{padding:.75rem;font-size:.9rem}}.weather-widget{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem;background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-sm)}.weather-main{display:flex;align-items:center;gap:1rem}.weather-loading{min-height:80px;justify-content:center}.weather-loading-spinner{width:24px;height:24px;border:3px solid var(--border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.weather-icon{width:48px;height:48px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center}.weather-sunny{background:radial-gradient(circle at center,#fbbf24 30%,transparent 31%)}.weather-clear-night{background:radial-gradient(circle at 60% 40%,#fbbf24 15%,transparent 16%),radial-gradient(circle at center,#1e3a5f 40%,transparent 41%)}.weather-partly-cloudy{background:radial-gradient(circle at 30% 30%,#fbbf24 20%,transparent 21%),radial-gradient(ellipse 50% 30% at 60% 60%,#94a3b8 100%,transparent)}.weather-partly-cloudy-night{background:radial-gradient(circle at 30% 30%,#94a3b8 15%,transparent 16%),radial-gradient(ellipse 50% 30% at 60% 60%,#64748b 100%,transparent)}.weather-cloudy{background:radial-gradient(ellipse 40% 25% at 35% 50%,#94a3b8 100%,transparent),radial-gradient(ellipse 50% 30% at 60% 55%,#64748b 100%,transparent)}.weather-foggy{background:linear-gradient(to right,transparent,#94a3b8 20%,#94a3b8 80%,transparent)}.weather-rainy{background:radial-gradient(ellipse 50% 25% at 50% 35%,#64748b 100%,transparent),linear-gradient(to bottom,transparent 50%,#60a5fa 55%,transparent 60%) 20% 0,linear-gradient(to bottom,transparent 50%,#60a5fa 55%,transparent 60%) 50% 0,linear-gradient(to bottom,transparent 50%,#60a5fa 55%,transparent 60%) 80% 0;background-size:100% 100%,8px 100%,8px 100%,8px 100%;background-repeat:no-repeat}.weather-snowy{background:radial-gradient(ellipse 50% 25% at 50% 35%,#94a3b8 100%,transparent),radial-gradient(circle at 25% 70%,#e2e8f0 8%,transparent 9%),radial-gradient(circle at 50% 80%,#e2e8f0 8%,transparent 9%),radial-gradient(circle at 75% 65%,#e2e8f0 8%,transparent 9%)}.weather-stormy{background:radial-gradient(ellipse 50% 25% at 50% 30%,#475569 100%,transparent),linear-gradient(135deg,#fbbf24 40%,transparent 41%) 45% 55%,linear-gradient(225deg,#fbbf24 40%,transparent 41%) 55% 55%;background-size:100% 100%,20px 25px,20px 25px;background-repeat:no-repeat}.weather-info{flex:1;min-width:0}.weather-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.weather-forecast{display:flex;gap:1.5rem}.forecast-period{display:flex;flex-direction:column;gap:.125rem}.period-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.period-temps{font-size:1rem;font-weight:600;color:var(--text-primary)}.rug-suggestions{border-top:1px solid var(--border-light);padding-top:1rem}.rug-suggestions h4{margin:0 0 .75rem;font-size:.875rem;color:var(--text-primary);font-weight:600}.rug-matrix{width:100%;border-collapse:collapse;font-size:.8rem}.rug-matrix th,.rug-matrix td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-light)}.rug-matrix th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-secondary)}.rug-matrix td{color:var(--text-primary)}.rug-matrix tbody tr:last-child td{border-bottom:none}.rug-matrix .period-cell{display:flex;flex-direction:column;gap:.125rem}.rug-matrix .period-cell strong{font-weight:600}.rug-matrix .temp-range{font-size:.7rem;color:var(--text-muted)}.rug-note{margin:.5rem 0 0;font-size:.7rem;color:var(--text-muted);font-style:italic}@media (max-width: 480px){.weather-widget{padding:.75rem 1rem;gap:.75rem}.weather-main{gap:.75rem}.weather-icon{width:40px;height:40px}.weather-forecast{flex-direction:column;gap:.5rem}.forecast-period{flex-direction:row;gap:.5rem;align-items:baseline}.period-label{min-width:70px}.rug-suggestions h4{font-size:.8rem}.rug-matrix{display:block}.rug-matrix thead{display:none}.rug-matrix tbody{display:flex;flex-direction:column;gap:.75rem}.rug-matrix tbody tr{display:block;background:var(--bg-secondary);border-radius:8px;padding:.75rem;border-bottom:none!important}.rug-matrix td{display:block;border-bottom:none;padding:.25rem 0}.rug-matrix td:before{content:attr(data-label);font-weight:600;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;display:block;margin-bottom:.125rem}.rug-matrix .period-cell{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.rug-matrix .period-cell strong{font-size:.9rem;color:var(--color-primary)}.rug-matrix .temp-range{font-size:.75rem}.rug-matrix tbody tr{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:.5rem}.rug-matrix .period-cell{grid-column:1 / -1;margin-bottom:.25rem}.rug-note{font-size:.65rem}}@media (max-width: 380px){.rug-matrix tbody tr{grid-template-columns:1fr}.rug-matrix td{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--border-light)}.rug-matrix td:last-child{border-bottom:none}.rug-matrix td:before{display:inline;margin-bottom:0}}.content-page{max-width:1200px;margin:0 auto}.content-hero{background:linear-gradient(135deg,var(--header-bg) 0%,var(--color-primary) 100%);color:var(--text-inverse);padding:3rem 2rem;border-radius:8px;text-align:center;margin-bottom:3rem}.content-hero h1{margin:0 0 .5rem;font-size:2.5rem}.content-hero p{margin:0;font-size:1.25rem;opacity:.9}.content-intro{text-align:center;max-width:800px;margin:0 auto 3rem;font-size:1.125rem;color:var(--text-secondary);line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:3rem;justify-content:center;max-width:1100px;margin-left:auto;margin-right:auto}.service-card{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.service-card.livery-link{display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.service-card.livery-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.service-card.livery-link .service-header{background:var(--color-primary);color:var(--text-inverse)}.service-card.livery-link .service-header h2{color:inherit}.service-card.featured{border:2px solid var(--color-primary)}.service-header{background:var(--bg-secondary);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.service-card.featured .service-header{background:var(--color-primary);color:var(--text-inverse)}.service-header h2{margin:0;font-size:1.25rem}.price{font-weight:700;font-size:1.125rem;color:var(--color-primary)}.service-card.featured .price{color:var(--text-inverse)}.service-content{padding:1.5rem}.service-content p{margin:0 0 1rem;color:var(--text-secondary)}.service-content ul{margin:0;padding-left:1.25rem}.service-content li{margin-bottom:.5rem;color:var(--text-primary)}.additional-note{font-size:.875rem;font-style:italic;color:var(--text-secondary)!important;margin-top:1rem!important}.facilities-section{background:var(--bg-card);border-radius:8px;padding:2rem;margin-bottom:3rem;box-shadow:var(--shadow-sm)}.facilities-section h2{text-align:center;margin:0 0 2rem;color:var(--text-primary)}.facilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.facility-item{text-align:center;padding:1rem}.facility-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.facility-item h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary)}.facility-item p{margin:0;font-size:.875rem;color:var(--text-secondary)}.cta-section{background:var(--bg-secondary);border-radius:8px;padding:3rem 2rem;text-align:center}.cta-section h2{margin:0 0 .5rem;color:var(--text-primary)}.cta-section p{margin:0 0 1.5rem;color:var(--text-secondary)}.cta-button{display:inline-block;background:var(--color-primary);color:var(--text-inverse);padding:.875rem 2rem;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .2s}.cta-button:hover{background:var(--color-primary-hover);color:var(--text-inverse)}.contact-container{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:3rem}.contact-container.contact-simple{grid-template-columns:1fr;max-width:800px;margin:0 auto 3rem}.contact-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.contact-simple .contact-card{text-align:center;padding:2rem}.contact-icon{color:var(--color-primary);margin-bottom:1rem}.contact-icon svg{display:block;margin:0 auto}.no-contact-info{color:var(--text-muted);font-style:italic;text-align:center}@media (max-width: 768px){.contact-container{grid-template-columns:1fr}}.contact-info h2,.contact-form-container h2{margin:0 0 1.5rem;color:var(--text-primary)}.contact-card{background:var(--bg-card);border-radius:8px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.contact-card h3{margin:0 0 .75rem;color:var(--color-primary);font-size:1rem}.contact-card address{font-style:normal;line-height:1.6;color:var(--text-primary)}.contact-card p{margin:0 0 .5rem}.contact-card a{color:var(--color-primary);text-decoration:none}.contact-card a:hover{text-decoration:underline}.social-links{display:flex;gap:1rem}.social-link{display:inline-block;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:4px;color:var(--text-primary)!important;font-size:.875rem}.social-link:hover{background:var(--border-light);text-decoration:none!important}.contact-form-container{background:var(--bg-card);border-radius:8px;padding:2rem;box-shadow:var(--shadow-sm)}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.contact-form .form-row{grid-template-columns:1fr}}.contact-form .form-group{margin-bottom:1rem}.contact-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;box-sizing:border-box;background:var(--bg-input);color:var(--text-primary)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.contact-form .btn-primary{width:100%;padding:.875rem;background:var(--color-primary);color:var(--text-inverse);border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.contact-form .btn-primary:hover{background:var(--color-primary-hover)}.form-success{text-align:center;padding:2rem}.form-success h3{color:var(--color-primary);margin:0 0 1rem}.form-success .btn-secondary{margin-top:1rem;padding:.75rem 1.5rem;background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:4px;cursor:pointer}.map-section{margin-bottom:2rem}.map-section h2{margin:0 0 .5rem;color:var(--text-primary)}.map-section>p{margin:0 0 1.5rem;color:var(--text-secondary)}.map-placeholder{background:var(--bg-secondary);border-radius:8px;overflow:hidden}.empty-state-card{background:var(--bg-card);border-radius:8px;padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-sm);grid-column:1 / -1}.empty-state-card p{margin:0;color:var(--text-secondary);font-size:1.125rem}.what3words-icon{font-size:1.5rem;font-weight:700;color:var(--color-error)}.what3words-icon span{display:block;margin:0 auto}.what3words-link{color:var(--color-error)!important;font-family:monospace;font-size:1.125rem}.home-page{max-width:1200px;margin:0 auto}.hero{background:linear-gradient(135deg,var(--header-bg) 0%,var(--color-primary) 100%);color:var(--text-inverse);padding:4rem 2rem;border-radius:8px;text-align:center;margin-bottom:3rem}.hero h1{margin:0 0 1rem;font-size:2.5rem}.hero p{font-size:1.25rem;opacity:.95;max-width:600px;margin:0 auto}.hero-weather{margin-top:2rem;display:flex;justify-content:center}.hero-weather .weather-widget{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-inverse)}.hero-weather .weather-temp,.hero-weather .weather-desc,.hero-weather .weather-details{color:var(--text-inverse)}.hero-weather .weather-details{opacity:.9}.intro-section{text-align:center;max-width:800px;margin:0 auto 3rem}.intro-section h2{color:var(--text-primary);margin:0 0 1rem}.intro-section p{color:var(--text-secondary);font-size:1.125rem;line-height:1.8;margin:0}.features-section{margin-bottom:3rem}.features-section h2{text-align:center;margin:0 0 2rem;color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.feature-card{background:var(--bg-card);border-radius:8px;padding:2rem;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s}.feature-card:hover{transform:translateY(-4px)}.feature-icon{font-size:3rem;display:block;margin-bottom:1rem}.feature-card h3{margin:0 0 .75rem;color:var(--text-primary)}.feature-card p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9375rem}.feature-link{color:var(--color-primary);font-weight:600;text-decoration:none}.feature-link:hover{text-decoration:underline}.weather-section{max-width:600px;margin:0 auto 3rem}.facilities-summary{text-align:center;max-width:600px;margin:0 auto 3rem}.facilities-summary p{color:var(--text-secondary);font-size:1.125rem;line-height:1.8;margin:0}.facilities-link{color:var(--color-primary);font-weight:600;text-decoration:none;white-space:nowrap}.facilities-link:hover{text-decoration:underline}@media (max-width: 768px){.home-page{padding:0 1rem}.hero{padding:2.5rem 1.5rem;margin-bottom:2rem}.hero h1{font-size:1.75rem}.hero p{font-size:1rem}.intro-section{margin-bottom:2rem}.intro-section p{font-size:1rem}.features-section{margin-bottom:2rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.5rem}.feature-icon{font-size:2.5rem}.facilities-summary{margin-bottom:2rem}.facilities-summary p{font-size:1rem}.cta-section{padding:1.5rem}}@media (max-width: 480px){.hero{padding:2rem 1rem}.hero h1{font-size:1.5rem}}.not-found-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--bg-body) 0%,var(--bg-secondary) 100%);padding:2rem}.not-found-content{text-align:center;max-width:500px}.horse-illustration{width:150px;height:150px;margin:0 auto 2rem;color:var(--color-primary)}.horse-illustration svg{width:100%;height:100%}.not-found-content h1{font-size:6rem;font-weight:700;margin:0;color:var(--color-primary);line-height:1}.not-found-content h2{font-size:2rem;margin:.5rem 0 1rem;color:var(--text-primary)}.not-found-content p{font-size:1.125rem;color:var(--text-secondary);margin:.5rem 0}.not-found-content .subtext{font-style:italic;font-size:1rem;margin-top:.5rem}.not-found-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.not-found-actions .btn-primary,.not-found-actions .btn-secondary{padding:.875rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s}.not-found-actions .btn-primary{background:var(--color-primary);color:var(--text-inverse)}.not-found-actions .btn-primary:hover{background:var(--color-primary-hover)}.not-found-actions .btn-secondary{background:var(--bg-card);color:var(--color-primary);border:1px solid var(--border-color)}.not-found-actions .btn-secondary:hover{background:var(--bg-card-hover)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.625rem 2.5rem .625rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background-color:var(--bg-input);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}select::-ms-expand{display:none}select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light, rgba(74, 124, 35, .15))}select:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.7}.ds-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ds-modal{background:var(--bg-card);border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:ds-modal-appear .2s ease-out}.ds-modal-sm{max-width:400px}.ds-modal-md{max-width:600px}.ds-modal-lg{max-width:800px}.ds-modal-xl{max-width:1000px}.ds-modal-full{max-width:95vw;max-height:95vh}@keyframes ds-modal-appear{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ds-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.ds-modal-header h2,.ds-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.ds-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:background-color .2s,color .2s}.ds-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.ds-modal-body{padding:1.5rem}.ds-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ds-modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-modal-tab{padding:.75rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.ds-modal-tab:hover{color:var(--text-primary)}.ds-modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (max-width: 480px){.ds-modal-overlay{padding:0;align-items:flex-end}.ds-modal{max-width:100%;max-height:90vh;max-height:90dvh;border-radius:16px 16px 0 0;animation:ds-modal-slide-up .3s ease-out;padding-bottom:env(safe-area-inset-bottom,0px)}.ds-modal-header,.ds-modal-body{padding:1rem}.ds-modal-footer{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));flex-wrap:wrap}.ds-modal-footer .ds-btn{flex:1;min-width:120px}}@keyframes ds-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.ds-form-group{margin-bottom:1rem}.ds-form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.875rem}.ds-form-group label.required:after{content:" *";color:var(--color-error)}.ds-input,.ds-select,.ds-textarea{width:100%;padding:.625rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.ds-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;cursor:pointer}.ds-select::-ms-expand{display:none}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.ds-input:disabled,.ds-select:disabled,.ds-textarea:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.ds-input.error,.ds-select.error,.ds-textarea.error{border-color:var(--color-error)}.ds-select-sm{padding:.375rem 2rem .375rem .625rem;font-size:.875rem}.ds-select-lg{padding:.75rem 2.75rem .75rem 1rem;font-size:1.125rem}.ds-textarea{min-height:100px;resize:vertical}.ds-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ds-form-row-3{grid-template-columns:repeat(3,1fr)}.ds-form-help{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.ds-form-error{font-size:.75rem;color:var(--color-error);margin-top:.25rem}.ds-checkbox,.ds-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer}.ds-checkbox input,.ds-radio input{width:1.125rem;height:1.125rem;cursor:pointer}@media (max-width: 480px){.ds-form-row,.ds-form-row-3{grid-template-columns:1fr}.ds-input,.ds-select,.ds-textarea{font-size:16px}}@media (max-width: 768px){.ds-form-row-3{grid-template-columns:repeat(2,1fr)}}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s;text-decoration:none;white-space:nowrap}.ds-btn:active{transform:scale(.98)}.ds-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ds-btn-primary{background:var(--color-primary);color:var(--text-inverse)}.ds-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.ds-btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.ds-btn-secondary:hover:not(:disabled){background:var(--bg-card-hover)}.ds-btn-success{background:var(--color-success);color:var(--text-inverse)}.ds-btn-success:hover:not(:disabled){filter:brightness(1.1)}.ds-btn-danger{background:var(--color-error);color:var(--text-inverse)}.ds-btn-danger:hover:not(:disabled){filter:brightness(1.1)}.ds-btn-warning{background:var(--color-warning);color:var(--text-inverse)}.ds-btn-warning:hover:not(:disabled){filter:brightness(1.1)}.ds-btn-ghost{background:transparent;color:var(--text-primary)}.ds-btn-ghost:hover:not(:disabled){background:var(--bg-secondary)}.ds-btn-link{background:transparent;color:var(--color-primary);padding:0}.ds-btn-link:hover:not(:disabled){text-decoration:underline}.ds-btn-sm{padding:.375rem .75rem;font-size:.75rem}.ds-btn-lg{padding:.875rem 1.75rem;font-size:1rem}.ds-btn-group{display:flex;gap:.5rem}.ds-btn-group-vertical{flex-direction:column}.ds-btn-icon{padding:.5rem;border-radius:50%}@media (max-width: 480px){.ds-btn{padding:.75rem 1rem;font-size:1rem}.ds-btn-group{flex-direction:column}.ds-btn-group .ds-btn{width:100%}}.ds-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.ds-card-clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.ds-card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ds-card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ds-card-header h3,.ds-card-header h4{margin:0}.ds-card-body{padding:1.25rem}.ds-card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ds-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}@media (max-width: 480px){.ds-card-grid{grid-template-columns:1fr}.ds-card-body{padding:1rem}}.ds-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px;white-space:nowrap}.ds-badge-success{background:var(--color-success-bg);color:var(--color-success)}.ds-badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.ds-badge-error{background:var(--color-error-bg);color:var(--color-error)}.ds-badge-info{background:var(--color-info-bg);color:var(--color-info)}.ds-badge-neutral{background:var(--bg-secondary);color:var(--text-secondary)}.ds-badge-public{background:var(--badge-public-bg);color:var(--badge-public-text)}.ds-badge-livery{background:var(--badge-livery-bg);color:var(--badge-livery-text)}.ds-badge-staff{background:var(--badge-staff-bg);color:var(--badge-staff-text)}.ds-badge-admin{background:var(--badge-admin-bg);color:var(--badge-admin-text)}.ds-badge-low{background:var(--color-info-bg);color:var(--color-info)}.ds-badge-medium{background:var(--color-warning-bg);color:var(--color-warning)}.ds-badge-high{background:var(--badge-high-bg);color:var(--badge-high-text)}.ds-badge-urgent{background:var(--color-error);color:var(--text-inverse)}.ds-badge-sm{padding:.125rem .5rem;font-size:.625rem}.ds-badge-lg{padding:.375rem .875rem;font-size:.875rem}.ds-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ds-tabs::-webkit-scrollbar{display:none}.ds-tab{padding:.75rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.ds-tab:hover{color:var(--text-primary)}.ds-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ds-tab-count{margin-left:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;background:var(--color-primary-bg);color:var(--color-primary);border-radius:9999px}.ds-tab.active .ds-tab-count{background:var(--color-primary);color:var(--text-inverse)}@media (max-width: 480px){.ds-tab{padding:.625rem .875rem;font-size:.8rem}}.ds-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-table{width:100%;border-collapse:collapse;font-size:.875rem}.ds-table th,.ds-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.ds-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.ds-table tbody tr:hover{background:var(--bg-card-hover)}.ds-table-striped tbody tr:nth-child(2n){background:var(--bg-secondary)}@media (max-width: 768px){.ds-table-responsive thead{display:none}.ds-table-responsive tbody tr{display:block;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:8px;padding:.5rem}.ds-table-responsive td{display:flex;justify-content:space-between;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--border-light)}.ds-table-responsive td:last-child{border-bottom:none}.ds-table-responsive td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);margin-right:1rem}}.ds-filters{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.ds-filter-group{display:flex;align-items:center;gap:.5rem}.ds-filter-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.ds-filter-group input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-input);color:var(--text-primary);min-width:150px}.ds-filter-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.ds-filter-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.5rem 2.25rem .5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-input);color:var(--text-primary);min-width:150px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;transition:border-color .2s,box-shadow .2s}.ds-filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.ds-filter-group select::-ms-expand{display:none}@media (max-width: 768px){.ds-filters{flex-direction:column}.ds-filter-group{width:100%}.ds-filter-group select,.ds-filter-group input{flex:1;width:100%}}.ds-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.ds-spinner{width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-card-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:ds-skeleton-pulse 1.5s ease-in-out infinite;border-radius:4px}@keyframes ds-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--text-secondary)}.ds-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.ds-empty-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.ds-empty-description{font-size:.875rem;max-width:300px}.ds-alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.75rem}.ds-alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.ds-alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.ds-alert-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error)}.ds-alert-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info)}.ds-page{padding:1.5rem;max-width:1400px;margin:0 auto}@media (max-width: 768px){.ds-page{padding:1rem}}@media (max-width: 480px){.ds-page{padding:.75rem}}.ds-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.ds-page-header h1{margin:0;font-size:1.5rem}@media (max-width: 480px){.ds-page-header{flex-direction:column;align-items:stretch}.ds-page-header h1{font-size:1.25rem}}.ds-flex{display:flex}.ds-flex-col{flex-direction:column}.ds-flex-wrap{flex-wrap:wrap}.ds-items-center{align-items:center}.ds-items-start{align-items:flex-start}.ds-items-end{align-items:flex-end}.ds-justify-center{justify-content:center}.ds-justify-between{justify-content:space-between}.ds-justify-end{justify-content:flex-end}.ds-gap-1{gap:.25rem}.ds-gap-2{gap:.5rem}.ds-gap-3{gap:.75rem}.ds-gap-4{gap:1rem}.ds-gap-5{gap:1.25rem}.ds-gap-6{gap:1.5rem}.ds-mt-1{margin-top:.25rem}.ds-mt-2{margin-top:.5rem}.ds-mt-3{margin-top:.75rem}.ds-mt-4{margin-top:1rem}.ds-mb-1{margin-bottom:.25rem}.ds-mb-2{margin-bottom:.5rem}.ds-mb-3{margin-bottom:.75rem}.ds-mb-4{margin-bottom:1rem}.ds-text-center{text-align:center}.ds-text-right{text-align:right}.ds-text-muted{color:var(--text-secondary)}.ds-text-sm{font-size:.875rem}.ds-text-xs{font-size:.75rem}.ds-font-medium{font-weight:500}.ds-font-semibold{font-weight:600}.ds-hide-mobile{display:block}.ds-show-mobile{display:none}@media (max-width: 768px){.ds-hide-mobile{display:none!important}.ds-show-mobile{display:block!important}}.ds-detail-panel{position:fixed;top:0;right:0;width:400px;max-width:100%;height:100vh;background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:999;display:flex;flex-direction:column;animation:ds-slide-in-right .3s ease-out}@keyframes ds-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.ds-detail-panel-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.ds-detail-panel-body{flex:1;overflow-y:auto;padding:1.25rem}.ds-detail-panel-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}@media (max-width: 480px){.ds-detail-panel{width:100%;animation:ds-modal-slide-up .3s ease-out;top:auto;bottom:0;height:85vh;border-radius:16px 16px 0 0;border-left:none;border-top:1px solid var(--border-color)}}.ds-list{list-style:none;padding:0;margin:0}.ds-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color);transition:background-color .2s}.ds-list-item:last-child{border-bottom:none}.ds-list-item-clickable{cursor:pointer}.ds-list-item-clickable:hover{background:var(--bg-card-hover)}.ds-list-item-content{flex:1;min-width:0}.ds-list-item-title{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.ds-list-item-subtitle{font-size:.875rem;color:var(--text-secondary)}.ds-list-item-actions{display:flex;gap:.5rem}@media (max-width: 480px){.ds-list-item{flex-direction:column;align-items:stretch;gap:.75rem}.ds-list-item-actions{justify-content:flex-end}}.ds-divider{height:1px;background:var(--border-color);margin:1rem 0}.ds-divider-vertical{width:1px;height:100%;background:var(--border-color);margin:0 1rem}.fc,.fc-theme-standard{--fc-border-color: var(--border-color);--fc-page-bg-color: var(--bg-card);--fc-neutral-bg-color: var(--bg-secondary);--fc-today-bg-color: var(--color-primary-light);--fc-highlight-color: rgba(74, 124, 35, .15);--fc-now-indicator-color: var(--color-primary);--fc-button-text-color: var(--text-inverse);--fc-button-bg-color: var(--color-primary);--fc-button-border-color: var(--color-primary);--fc-button-hover-bg-color: var(--color-primary-hover);--fc-button-hover-border-color: var(--color-primary-hover);--fc-button-active-bg-color: var(--header-bg);--fc-button-active-border-color: var(--header-bg)}.fc-theme-standard td,.fc-theme-standard th,.fc-theme-standard .fc-scrollgrid{border-color:var(--border-color)!important}.fc-timegrid-slot,.fc-timegrid-slot-lane,.fc-daygrid-day,.fc-daygrid-day-frame{background:var(--bg-card)!important}.fc-col-header-cell,.fc-timegrid-slot-label{background:var(--bg-secondary)!important}.fc-daygrid-day-number,.fc-col-header-cell-cushion,.fc-timegrid-slot-label-cushion{color:var(--text-primary)!important}.fc-day-today,.fc-day-today .fc-daygrid-day-frame,.fc-timegrid-col.fc-day-today{background:var(--color-primary-light)!important}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-wide: 1280px;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--color-primary: #4a7c23;--color-primary-hover: #3d6a1d;--color-primary-light: rgba(74, 124, 35, .2);--color-primary-dark: #2d5016;--color-primary-bg: #e8f5e9;--bg-body: #f5f5f5;--bg-card: #ffffff;--bg-card-hover: #fafafa;--bg-input: #ffffff;--bg-secondary: #f5f5f5;--bg-overlay: rgba(0, 0, 0, .5);--bg-muted: #e5e7eb;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--text-inverse: #ffffff;--border-color: #dddddd;--border-light: #eeeeee;--border-focus: rgba(74, 124, 35, .5);--color-success: #388e3c;--color-success-hover: #2e7d32;--color-success-light: #c8e6c9;--color-success-bg: #e8f5e9;--color-success-text: #1b5e20;--color-warning: #e65100;--color-warning-hover: #d84315;--color-warning-light: #ffe0b2;--color-warning-bg: #fff3e0;--color-warning-text: #bf360c;--color-error: #c00000;--color-error-hover: #a00000;--color-error-light: #ffcdd2;--color-error-bg: #ffeeee;--color-error-text: #b71c1c;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: #fecaca;--color-danger-bg: #fef2f2;--color-info: #1976d2;--color-info-hover: #1565c0;--color-info-light: #bbdefb;--color-info-bg: #e3f2fd;--color-info-text: #0d47a1;--color-purple: #7b1fa2;--color-purple-hover: #6a1b9a;--color-purple-light: #e1bee7;--color-purple-bg: #f3e5f5;--color-purple-text: #4a148c;--badge-public-bg: #e3f2fd;--badge-public-text: #1976d2;--badge-livery-bg: #e8f5e9;--badge-livery-text: #388e3c;--badge-staff-bg: #fff3e0;--badge-staff-text: #e65100;--badge-admin-bg: #fce4ec;--badge-admin-text: #c2185b;--badge-event-bg: #f3e5f5;--badge-event-text: #7b1fa2;--badge-maintenance-bg: #ffebee;--badge-maintenance-text: #c62828;--badge-high-bg: #ffebee;--badge-high-text: #c62828;--color-facebook: #1877f2;--color-facebook-bg: #e7f3ff;--color-twitter: #1da1f2;--color-twitter-bg: #e8f5fd;--color-whatsapp: #25d366;--color-whatsapp-bg: #e7ffe7;--color-calendar-event: #3788d8;--color-calendar-livery: #4a7c23;--color-calendar-maintenance: #f44336;--color-calendar-training: #00bcd4;--color-calendar-shared: #9c27b0;--color-indigo: #6366f1;--color-indigo-bg: rgba(99, 102, 241, .1);--color-teal: #10b981;--color-teal-bg: rgba(16, 185, 129, .1);--color-amber: #f59e0b;--color-amber-bg: rgba(245, 158, 11, .1);--color-pink: #ec4899;--color-pink-bg: rgba(236, 72, 153, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-focus: 0 0 0 3px rgba(74, 124, 35, .3);--header-bg: #2d5016;--header-text: #ffffff;--header-overlay: rgba(255, 255, 255, .1);--footer-bg: #333333;--footer-text: #ffffff}body.dark-mode{--color-primary: #6ba33a;--color-primary-hover: #7db84a;--color-primary-light: rgba(107, 163, 58, .3);--color-primary-dark: #4a7c23;--color-primary-bg: #1b3d1b;--bg-body: #1a1a1a;--bg-card: #2d2d2d;--bg-card-hover: #363636;--bg-input: #3a3a3a;--bg-secondary: #242424;--bg-overlay: rgba(0, 0, 0, .7);--bg-muted: #3a3a3a;--text-primary: #e8e8e8;--text-secondary: #b0b0b0;--text-muted: #808080;--text-inverse: #1a1a1a;--border-color: #444444;--border-light: #3a3a3a;--border-focus: rgba(107, 163, 58, .5);--color-success: #66bb6a;--color-success-hover: #81c784;--color-success-light: #2e5a2e;--color-success-bg: #1b3d1b;--color-success-text: #a5d6a7;--color-warning: #ffb74d;--color-warning-hover: #ffc86b;--color-warning-light: #5a4a2e;--color-warning-bg: #3d2e1b;--color-warning-text: #ffe0b2;--color-error: #ef5350;--color-error-hover: #f77574;--color-error-light: #5a2e2e;--color-error-bg: #3d1b1b;--color-error-text: #ef9a9a;--color-danger: #ef5350;--color-danger-hover: #f77574;--color-danger-light: #5a2e2e;--color-danger-bg: #3d1b1b;--color-info: #42a5f5;--color-info-hover: #64b5f6;--color-info-light: #2e3d5a;--color-info-bg: #1b2d3d;--color-info-text: #90caf9;--color-purple: #ce93d8;--color-purple-hover: #e1bee7;--color-purple-light: #3d2e4a;--color-purple-bg: #2d1b3d;--color-purple-text: #e1bee7;--badge-public-bg: #1b2d3d;--badge-public-text: #64b5f6;--badge-livery-bg: #1b3d1b;--badge-livery-text: #81c784;--badge-staff-bg: #3d2e1b;--badge-staff-text: #ffb74d;--badge-admin-bg: #3d1b2d;--badge-admin-text: #f48fb1;--badge-event-bg: #2d1b3d;--badge-event-text: #ce93d8;--badge-maintenance-bg: #3d1b1b;--badge-maintenance-text: #ef9a9a;--badge-high-bg: #3d1b1b;--badge-high-text: #ef9a9a;--color-facebook: #1877f2;--color-facebook-bg: #1b2d3d;--color-twitter: #1da1f2;--color-twitter-bg: #1b2d3d;--color-whatsapp: #25d366;--color-whatsapp-bg: #1b3d1b;--color-calendar-event: #64b5f6;--color-calendar-livery: #6ba33a;--color-calendar-maintenance: #ef5350;--color-calendar-training: #4dd0e1;--color-calendar-shared: #ce93d8;--color-indigo: #818cf8;--color-indigo-bg: rgba(129, 140, 248, .15);--color-teal: #34d399;--color-teal-bg: rgba(52, 211, 153, .15);--color-amber: #fbbf24;--color-amber-bg: rgba(251, 191, 36, .15);--color-pink: #f472b6;--color-pink-bg: rgba(244, 114, 182, .15);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px rgba(107, 163, 58, .3);--header-bg: #1e3a0f;--header-text: #e8e8e8;--header-overlay: rgba(255, 255, 255, .05);--footer-bg: #242424;--footer-text: #e8e8e8}body,body *{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}body.no-transitions,body.no-transitions *{transition:none!important}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-body);color:var(--text-primary);line-height:1.5}a{color:var(--color-primary)}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:.9375rem;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f626}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{box-shadow:0 0 0 3px #60a5fa40}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}select:focus-visible,select:-moz-focusring{outline:none}select option{background:var(--bg-card);color:var(--text-primary);padding:.5rem}select option:checked{background:var(--color-primary-bg)}body.dark-mode select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E")}textarea{min-height:80px;resize:vertical;line-height:1.5}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=date],input[type=time],input[type=datetime-local]{cursor:pointer}input[type=checkbox],input[type=radio]{width:auto;padding:0;border-radius:4px;cursor:pointer}input[type=radio]{border-radius:50%}input[type=color]{padding:.25rem;height:2.5rem;cursor:pointer}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.125rem;color:var(--text-secondary)}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:1rem;border-radius:4px;margin-bottom:1rem}
