@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:221.2 83.2% 53.3%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:221.2 83.2% 53.3%;--radius:0.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:217.2 91.2% 59.8%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:224.3 76.3% 48%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:0 0% 98%;--sidebar-primary-foreground:240 5.9% 10%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{@apply border-border}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;@apply bg-background text-foreground}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.layout{background-color:var(--secondary-color);display:flex;min-height:100vh}.sidebar-nav a.active{background-color:var(--primary-color);color:#fff}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);display:flex;height:32px;justify-content:center;width:32px}.sidebar-toggle:hover{background-color:var(--secondary-color)}.header-actions{gap:1rem;margin-left:auto}.plant-selector{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.page-content{flex:1 1;overflow-y:auto;padding:1.5rem}.button{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;outline:none;transition:all .2s ease}.button:focus{box-shadow:0 0 0 2px #3b82f680}.button:disabled{cursor:not-allowed;opacity:.5}.button-default{background-color:var(--primary-color);color:#fff}.button-default:hover{background-color:var(--primary-dark)}.button-outline{background-color:initial;border:1px solid var(--border-color);color:var(--text-primary)}.button-outline:hover{background-color:var(--secondary-color)}.button-ghost{background-color:initial;color:var(--text-primary)}.button-ghost:hover{background-color:var(--secondary-color)}.button-icon{background-color:initial;border-radius:var(--radius-md);color:var(--text-primary);padding:.5rem}.button-icon:hover{background-color:var(--secondary-color)}.button-default{height:2.5rem;padding:0 1rem}.button-sm{font-size:.75rem;height:2rem;padding:0 .75rem}.button-lg{font-size:1rem;height:3rem;padding:0 1.5rem}.button-icon{height:2.25rem;padding:0;width:2.25rem}.button svg{height:1rem;width:1rem}.button-default svg,.button-lg svg,.button-sm svg{margin-right:.5rem}.card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:1.25rem}.progress{background-color:var(--secondary-color);border-radius:9999px;height:.5rem;overflow:hidden;width:100%}.progress-bar{background-color:var(--primary-color);border-radius:9999px;height:100%;transition:width .3s ease}.tabs-container{width:100%}.tabs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tabs-list{background-color:var(--secondary-color);border-radius:var(--radius-md);display:inline-flex;padding:.25rem}.tab{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active{background-color:var(--background-color);box-shadow:var(--shadow-sm)}.tabs-actions{display:flex;gap:.5rem}@media (max-width:640px){.tabs-header{align-items:flex-start;flex-direction:column;gap:1rem}.tabs-list{display:flex;width:100%}.tab{flex:1 1;text-align:center}}.dashboard{background-color:var(--secondary-color);display:flex;min-height:100vh}.sidebar{background-color:var(--sidebar-background);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-speed) ease;width:var(--sidebar-width);z-index:10}.sidebar.closed{width:var(--sidebar-collapsed-width)}.sidebar-header{border-bottom:1px solid var(--border-color);height:var(--header-height);padding:0 1.5rem}.logo,.sidebar-header{align-items:center;display:flex}.logo{gap:.75rem}.logo-icon{color:var(--warning-color);flex-shrink:0;height:24px;width:24px}.logo-text{font-size:1.125rem;font-weight:600;transition:opacity var(--transition-speed) ease;white-space:nowrap}.sidebar.closed .logo-text{opacity:0;width:0}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:.25rem}.sidebar-nav a{align-items:center;border-radius:.25rem;color:var(--text-secondary);display:flex;gap:.75rem;margin:0 .5rem;padding:.75rem 1.5rem;transition:all .2s ease}.sidebar-nav a:hover{background-color:#0000000d;color:var(--text-primary)}.sidebar-nav li.active a{background-color:var(--primary-color);color:#fff}.sidebar-nav a span{transition:opacity var(--transition-speed) ease;white-space:nowrap}.sidebar.closed .sidebar-nav a span{opacity:0;width:0}.sidebar-footer{border-top:1px solid var(--border-color);padding:1rem 1.5rem}.plant-status{gap:.75rem}.plant-icon,.plant-status{align-items:center;display:flex}.plant-icon{background-color:#3b82f61a;border-radius:50%;color:var(--primary-color);flex-shrink:0;height:36px;justify-content:center;width:36px}.plant-info{transition:opacity var(--transition-speed) ease}.sidebar.closed .plant-info{opacity:0;width:0}.plant-name{font-size:.875rem;font-weight:500}.plant-status-text{color:var(--text-secondary);font-size:.75rem}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.main-header{align-items:center;background-color:var(--background-color);border-bottom:1px solid var(--border-color);display:flex;height:var(--header-height);padding:0 1.5rem;position:sticky;top:0;z-index:5}.main-header h1{flex:1 1;font-size:1.25rem;font-weight:600;margin:0 1rem}.dashboard-content{flex:1 1;overflow-y:auto;padding:1.5rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr);margin-bottom:1.5rem}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{height:100%}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.card-header h3{color:var(--text-secondary);font-size:.875rem;font-weight:500}.card-icon{height:16px;width:16px}.card-icon.sun{color:var(--warning-color)}.card-icon.energy{color:var(--success-color)}.card-icon.efficiency{color:var(--warning-color)}.card-icon.weather{color:var(--primary-color)}.stat-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-change{color:var(--text-secondary);font-size:.75rem;margin-bottom:1rem}.progress-container{margin-top:1rem}.progress-bar{background-color:var(--secondary-color);border-radius:2px;height:4px;overflow:hidden}.progress-fill{border-radius:2px;height:100%}.progress-fill.sun{background-color:var(--warning-color)}.progress-text{margin-top:.5rem}.progress-labels,.progress-text{color:var(--text-secondary);font-size:.75rem}.progress-labels{display:flex;justify-content:space-between;margin-bottom:.25rem}.efficiency-progress{--progress-color:var(--warning-color)}.weather-info{align-items:center;display:flex;margin-bottom:.5rem}.weather-icon{color:var(--primary-color);height:24px;margin-right:.5rem;width:24px}.weather-condition{font-size:1.5rem;font-weight:700}.weather-details{color:var(--text-secondary);font-size:.75rem;margin-bottom:1rem}.weather-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);text-align:center}.weather-stat-label{color:var(--text-secondary);display:block;font-size:.75rem}.weather-stat-value{display:block;font-size:.875rem}.charts-section{margin-top:1.5rem}.tab-content{margin-top:1rem}.chart-card{margin-bottom:1rem}.card-description{margin-top:.25rem}.chart-container{height:400px}.detail-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:768px){.detail-cards{grid-template-columns:repeat(2,1fr)}}.energy-balance{display:flex;justify-content:space-between;margin-bottom:1.5rem;text-align:center}.balance-value{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.balance-value.production{color:var(--warning-color)}.balance-value.consumption{color:var(--primary-color)}.balance-value.net{color:var(--success-color)}.balance-label{color:var(--text-secondary);font-size:.75rem}.grid-export,.weekly-target{margin-top:1.5rem}.export-header,.target-header{display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:.5rem}.export-text,.target-text{color:var(--text-secondary);font-size:.75rem;margin-top:.5rem}.performance-metrics,.summary-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.metric{margin-bottom:.5rem}.metric-label,.summary-label,.weather-impact-label{color:var(--text-secondary);font-size:.75rem;margin-bottom:.25rem}.metric-value,.summary-value,.weather-impact-value{font-size:1.125rem;font-weight:600}.metric-detail,.summary-detail,.weather-impact-detail{color:var(--text-secondary);font-size:.75rem}.weather-impact{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.weather-day{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.weather-day-icon{height:32px;width:32px}.weather-day-icon.sun{color:var(--warning-color)}.weather-day-icon.partly-cloudy{color:var(--primary-light)}.weather-day-icon.cloudy{color:var(--primary-color)}.weather-day-type{font-size:.875rem;font-weight:500}.weather-day-count{font-size:1.125rem;font-weight:600}.annual-summary>div:first-child{margin-bottom:1.5rem}.system-status{justify-content:space-between;margin-bottom:1.5rem}.status-value,.system-status{align-items:center;display:flex}.status-indicator{border-radius:50%;height:8px;margin-right:.5rem;width:8px}.status-indicator.optimal{background-color:var(--success-color)}.health-metrics{display:flex;flex-direction:column;gap:1rem}.health-metric,.metric-header{margin-bottom:.5rem}.metric-header{display:flex;font-size:.875rem;justify-content:space-between}@media (max-width:768px){.sidebar{height:100%;position:fixed;transform:translateX(0);transition:transform var(--transition-speed) ease}.sidebar.closed{transform:translateX(-100%);width:var(--sidebar-width)}.sidebar.closed .logo-text,.sidebar.closed .plant-info,.sidebar.closed .sidebar-nav a span{opacity:1;width:auto}}@media (min-width:769px) and (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.analytics-page{width:100%}.header-actions{flex-wrap:wrap}.time-range-selector{background-color:var(--secondary-color);border-radius:var(--radius-md);display:flex;overflow:hidden}.time-range-btn{background:none;border:none;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.time-range-btn:hover{background-color:#0000000d}.time-range-btn.active{background-color:var(--primary-color);color:#fff}.year-selector{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem}.current-year{font-size:1.25rem;font-weight:600;margin:0 1rem}.year-nav-btn{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.year-nav-btn:hover:not(:disabled){background-color:var(--secondary-color)}.year-nav-btn:disabled{cursor:not-allowed;opacity:.5}.analytics-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr);margin-bottom:1.5rem}@media (min-width:640px){.analytics-summary{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.analytics-summary{grid-template-columns:repeat(4,1fr)}}.summary-card{height:100%}.summary-header h3{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin:0 0 .5rem}.summary-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.summary-change{color:var(--text-secondary);font-size:.75rem}.summary-change.positive{color:var(--success-color)}.summary-change.negative{color:var(--danger-color)}.analytics-charts{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr);margin-bottom:1.5rem}@media (min-width:768px){.analytics-charts{grid-template-columns:repeat(2,1fr)}}.chart-card{height:100%}.chart-container{min-height:300px}.analytics-details{margin-top:1.5rem}.detail-card.full-width{grid-column:1/-1}.storage-page{width:100%}.battery-status-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr);margin-bottom:1.5rem}@media (min-width:640px){.battery-status-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.battery-status-cards{grid-template-columns:repeat(4,1fr)}}.battery-status-card{align-items:center;display:flex;gap:1rem}.battery-icon-container{align-items:center;background-color:#3b82f61a;border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.battery-icon{color:var(--primary-color)}.battery-icon.charging{color:var(--success-color)}.battery-info{flex:1 1}.battery-info h2{font-size:1rem;font-weight:600;margin:0 0 .5rem}.battery-level{align-items:baseline;display:flex;gap:.5rem;margin-bottom:.5rem}.level-value{font-size:1.5rem;font-weight:700}.level-status{color:var(--text-secondary);font-size:.875rem}.battery-progress-bar{height:.5rem}.battery-details-card h2,.battery-health-card h2,.power-flow-card h2{font-size:1rem;font-weight:600;margin:0 0 1rem}.power-flow-diagram{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.power-source{flex-direction:column;text-align:center}.power-source,.source-icon{align-items:center;display:flex}.source-icon{border-radius:50%;height:40px;justify-content:center;margin-bottom:.5rem;position:relative;width:40px}.source-icon:before{background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";height:24px;position:absolute;width:24px}.source-icon.solar{background-color:#f59e0b1a}.source-icon.solar:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E")}.source-icon.grid{background-color:#6b72801a}.source-icon.grid:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M14 2h-4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E")}.source-icon.battery{background-color:#10b9811a}.source-icon.battery:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='18' height='12' rx='2' ry='2'/%3E%3Cpath d='M23 13v-2'/%3E%3C/svg%3E")}.source-icon.home{background-color:#3b82f61a}.source-icon.home:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%233b82f6%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z%27%3E  stroke-linejoin=%27round%27%3E%3Cpath d=%27m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z%27%3E%3C/path%3E%3Cpolyline points=%279 22 9 12 15 12 15 22%27%3E%3C/polyline%3E%3C/svg%3E")}.source-label{color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem}.source-value{font-size:1.125rem;font-weight:600}.battery-details{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.detail-item{display:flex;flex-direction:column}.detail-label{color:var(--text-secondary);font-size:.75rem;margin-bottom:.25rem}.detail-value{font-size:1rem;font-weight:500}.health-indicator{align-items:center;display:flex;flex-direction:column;margin-bottom:1rem}.health-value{color:var(--success-color);font-size:1.5rem;font-weight:700}.health-label{color:var(--success-color);font-size:.875rem}.health-details{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.storage-charts{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr);margin-bottom:1.5rem}@media (min-width:768px){.storage-charts{grid-template-columns:repeat(2,1fr)}}.chart-card.full-width{grid-column:1/-1}.card-header{margin-bottom:1rem}.card-header h3{font-size:1rem;font-weight:600;margin:0}.card-description{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}.chart-container{height:100%;min-height:250px}.alerts-section{margin-top:1.5rem}.alerts-list{display:flex;flex-direction:column;gap:.75rem}.alert-time{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;width:150px}.alert-message{flex:1 1}.alert-status{background-color:var(--danger-color);border-radius:var(--radius-sm);color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.alert-status.resolved{background-color:var(--success-color)}.schedule-page{position:relative;width:100%}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.header-actions{display:flex;gap:.5rem}.schedule-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:1024px){.schedule-content{grid-template-columns:2fr 1fr}.maintenance-alerts-card{grid-column:1/-1}}.calendar-card{overflow:hidden;padding:0}.calendar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.calendar-header h2{font-size:1.25rem;font-weight:600;margin:0}.month-nav-btn{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.month-nav-btn:hover{background-color:var(--secondary-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header,.calendar-grid{border-bottom:1px solid var(--border-color)}.calendar-day-header{background-color:var(--secondary-color);font-size:.875rem;font-weight:500;padding:.75rem;text-align:center}.calendar-day{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);min-height:100px;padding:.5rem;position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty{background-color:var(--secondary-color);opacity:.5}.calendar-day.has-events{background-color:#3b82f60d}.calendar-event{background-color:var(--primary-color);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.75rem;margin-top:.5rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;white-space:nowrap}.events-card h2{font-size:1.125rem;font-weight:600;margin:0 0 1rem}.events-list{display:flex;flex-direction:column;gap:.75rem}.no-events{color:var(--text-secondary);padding:1rem;text-align:center}.event-item,.no-events{background-color:var(--secondary-color);border-radius:var(--radius-md)}.event-item{grid-gap:1rem;align-items:center;border-left:3px solid var(--primary-color);display:grid;gap:1rem;grid-template-columns:auto auto 1fr auto auto;padding:.75rem}.event-item.completed{border-left-color:var(--success-color);opacity:.8}.event-date,.event-time{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.event-title{font-weight:500}.event-technician{color:var(--text-secondary);font-size:.875rem}.event-status{background-color:var(--success-color);border-radius:var(--radius-sm);color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.event-actions{display:flex;gap:.5rem}.event-action-btn{align-items:center;background-color:var(--background-color);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.event-action-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.event-action-btn.edit:hover{color:var(--primary-color)}.event-action-btn.delete:hover{color:var(--danger-color)}.card-header.with-icon{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.alert-icon{color:var(--warning-color);height:20px;width:20px}.alert-item{align-items:center;background-color:var(--secondary-color);border-radius:var(--radius-md);display:flex;gap:1rem;padding:.75rem}.alert-icon-container{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.alert-icon-container.warning{background-color:#f59e0b1a;color:var(--warning-color)}.alert-content{flex:1 1}.alert-title{font-weight:500;margin-bottom:.25rem}.alert-message{color:var(--text-secondary);font-size:.875rem}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.event-form-modal{background-color:var(--background-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem}.modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem}.close-btn:hover{color:var(--text-primary)}form{padding:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}input,textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;padding:.5rem;width:100%}input:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f64d;outline:none}.form-actions{gap:.5rem}.settings-page{width:100%}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600;margin:0}.settings-container{display:flex;flex-direction:column;gap:1.5rem}@media (min-width:768px){.settings-container{flex-direction:row}}.settings-sidebar{display:flex;flex-direction:column;gap:.5rem;width:100%}@media (min-width:768px){.settings-sidebar{flex-shrink:0;width:250px}}.settings-tab{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease}.settings-tab:hover{background-color:var(--secondary-color);color:var(--text-primary)}.settings-tab.active{background-color:var(--primary-color);color:#fff}.settings-content{flex:1 1}.settings-card{height:100%}.settings-card h2{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.settings-section{margin-bottom:2rem}.settings-section h3{border-bottom:1px solid var(--border-color);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.setting-item{align-items:flex-start;background-color:var(--secondary-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.setting-label{flex:1 1}.setting-label label{display:block;font-weight:500;margin-bottom:.25rem}.setting-description{color:var(--text-secondary);font-size:.75rem;margin:0}.setting-control{align-items:center;display:flex}.toggle{display:inline-block;height:24px;position:relative;width:48px}.toggle input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--border-color);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.4s;width:18px}input:checked+.toggle-slider{background-color:var(--primary-color)}input:focus+.toggle-slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.toggle-slider:before{transform:translateX(24px)}.form-group{margin-bottom:1rem}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.select-input,input,textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;padding:.5rem;width:100%}.select-input:focus,input:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f64d;outline:none}.form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.setting-control.checkboxes{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{font-size:.875rem;gap:.5rem}.about-logo,.checkbox-label{align-items:center;display:flex}.about-logo{gap:1rem;margin-bottom:1rem}.logo-icon-large{align-items:center;background-color:#3b82f61a;border-radius:12px;display:flex;height:64px;justify-content:center;width:64px}.sun-icon{color:var(--warning-color)}.about-version{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.about-description{line-height:1.6}.system-info-list{display:flex;flex-direction:column;gap:.75rem}.info-item{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.5rem 0}.info-item:last-child{border-bottom:none}.info-label{color:var(--text-secondary);font-size:.875rem}.info-value{font-weight:500}.legal-links{display:flex;flex-wrap:wrap;gap:1rem}.legal-link{color:var(--primary-color);text-decoration:none}.legal-link:hover{text-decoration:underline}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background-color:var(--secondary-color);border-radius:var(--radius-md);padding:1rem}.faq-item h4{font-size:1rem;font-weight:600;margin:0 0 .5rem}.faq-item p{font-size:.875rem;line-height:1.6;margin:0}.contact-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.ml-2{margin-left:.5rem}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#3b82f6;--primary-light:#93c5fd;--primary-dark:#1d4ed8;--secondary-color:#f3f4f6;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--text-primary:#111827;--text-secondary:#6b7280;--text-light:#9ca3af;--background-color:#fff;--card-background:#fff;--border-color:#e5e7eb;--sidebar-background:#f9fafb;--sidebar-width:250px;--sidebar-collapsed-width:64px;--header-height:60px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--transition-speed:0.3s}body{background-color:#f3f4f6;background-color:var(--secondary-color);color:#111827;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}a{color:#3b82f6;color:var(--primary-color);text-decoration:none}button{cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-primary{color:#3b82f6;color:var(--primary-color)}.text-secondary{color:#6b7280;color:var(--text-secondary)}.text-success{color:#10b981;color:var(--success-color)}.text-warning{color:#f59e0b;color:var(--warning-color)}.text-danger{color:#ef4444;color:var(--danger-color)}.bg-primary{background-color:#3b82f6;background-color:var(--primary-color)}.bg-secondary{background-color:#f3f4f6;background-color:var(--secondary-color)}.bg-success{background-color:#10b981;background-color:var(--success-color)}.bg-warning{background-color:#f59e0b;background-color:var(--warning-color)}.bg-danger{background-color:#ef4444;background-color:var(--danger-color)}.rounded-sm{border-radius:.125rem;border-radius:var(--radius-sm)}.rounded-md{border-radius:.375rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.5rem;border-radius:var(--radius-lg)}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mt-2{margin-top:.5rem}.mb-4{margin-bottom:1rem}.w-full{width:100%}.h-full{height:100%}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/*# sourceMappingURL=main.a4e76bcd.css.map*/