.calendar-page{background:#f8f9fa;min-height:100vh}.page-header h1{color:#333;font-weight:600}.page-header h1 i{font-size:.9em}.page-header .lead{font-size:1.1rem}.calendar-toolbar{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:1.5rem}.calendar-toolbar h2{color:#333;font-size:1.5rem;font-weight:600}.calendar-grid{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);overflow:hidden}.calendar-header{background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header .calendar-day-name{border-right:1px solid hsla(0,0%,100%,.2);font-size:.95rem;font-weight:600;padding:1rem;text-align:center}.calendar-header .calendar-day-name:last-child{border-right:none}.calendar-body{background:#e0e0e0;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;min-height:120px;padding:.75rem;position:relative;transition:all .2s}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day.today{background:#fff9f0;box-shadow:inset 0 0 0 2px #ffc107}.calendar-day.today .day-number{align-items:center;background:#ffc107;border-radius:50%;color:#fff;display:inline-flex;font-weight:600;height:32px;justify-content:center;width:32px}.calendar-day.has-tasks{border-top:3px solid #4caf50}.calendar-day:hover:not(.empty){background:#f5f5f5;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.calendar-day .day-number{color:#333;font-size:1rem;font-weight:600;margin-bottom:.5rem}.day-tasks{flex-direction:column;margin-top:.5rem}.day-tasks,.task-item{display:flex;gap:.375rem}.task-item{align-items:center;border-left:3px solid transparent;border-radius:6px;cursor:pointer;font-size:.8rem;padding:.375rem .5rem;transition:all .2s}.task-item:hover{box-shadow:0 2px 6px rgba(0,0,0,.15);transform:translateX(3px)}.task-item.completed{background:#9e9e9e!important;border-left-color:#6b6b6b;opacity:.6;text-decoration:line-through}.task-item.task-sowing{background:#c7e7c8;border-left-color:#4caf50}.task-item.task-sowing:hover{background:#b5dfb7}.task-item.task-seedling{background:#edf6e3;border-left-color:#8bc34a}.task-item.task-seedling:hover{background:#e1efd0}.task-item.task-quilting{background:#c5ecfe;border-left-color:#03a9f4}.task-item.task-quilting:hover{background:#ace4fe}.task-item.task-watering{background:#bbf7ff;border-left-color:#00bcd4}.task-item.task-watering:hover{background:#a1f4ff}.task-item.task-fertilizing{background:#ffeacc;border-left-color:#ff9800}.task-item.task-fertilizing:hover{background:#ffe0b3}.task-item.task-harvesting{background:#fde1df;border-left-color:#f44336}.task-item.task-harvesting:hover{background:#fccbc7}.task-item.task-field_operation{background:#fff8e1;border-left-color:#795548}.task-item.task-field_operation:hover{background:#ffecb3}.task-item .task-icon{flex-shrink:0;font-size:1.1rem}.task-item .task-plant-icon{border:1px solid rgba(0,0,0,.1);border-radius:50%;flex-shrink:0;height:20px;object-fit:cover;width:20px}.task-item .task-name{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-view{display:none}.calendar-view.active{display:block}.list-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:2rem}.list-day-section{border-bottom:1px solid #e0e0e0;padding-bottom:1.5rem}.list-day-section:last-child{border-bottom:none}.list-day-header{color:#4caf50;font-weight:600;margin-bottom:1rem}.list-day-header i{margin-right:.5rem}.list-tasks{display:grid;gap:1rem}.task-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:1.25rem;transition:all .3s}.task-card:hover{border-color:#4caf50;box-shadow:0 4px 16px rgba(76,175,80,.15);transform:translateY(-2px)}.task-card.completed{border-color:#9e9e9e;opacity:.7}.task-card.completed .task-title{text-decoration:line-through}.task-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.task-card-header .task-emoji{flex-shrink:0;font-size:2rem}.task-card-header .task-info{flex-grow:1}.task-card-header .task-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.task-card-header .task-plant{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.task-card-header .task-plant i{color:#4caf50}.task-card-header .task-plant .task-card-plant-icon{border:1px solid rgba(0,0,0,.1);border-radius:50%;height:24px;object-fit:cover;width:24px}.task-card-header .task-status{font-size:.85rem;padding:.375rem .75rem}.task-card-body{margin-bottom:1rem}.task-card-body .task-description{color:#666;font-size:.95rem;line-height:1.6;margin:0}.task-card-footer{display:flex;justify-content:flex-end}.task-details .task-header{border-bottom:2px solid #e0e0e0;padding-bottom:1rem;text-align:center}.task-details .task-emoji-large{display:block;font-size:3rem;margin-bottom:.5rem}.task-details h4{color:#333;font-weight:600}.task-info-grid{display:grid;gap:1rem;margin-top:1.5rem}.task-info-grid .info-item{align-items:flex-start;background:#f5f5f5;border-radius:8px;display:flex;gap:1rem;padding:1rem}.task-info-grid .info-item i{font-size:1.5rem;margin-top:.25rem}.task-info-grid .info-item .task-detail-plant-icon{border:2px solid #4caf50;border-radius:50%;flex-shrink:0;height:32px;margin-top:.25rem;object-fit:cover;width:32px}.task-info-grid .info-item strong{color:#333;display:block;margin-bottom:.25rem}.task-info-grid .info-item p{color:#666;font-size:.95rem}.task-description,.task-notes{background:#f5f5f5;border-left:4px solid #4caf50;border-radius:8px;padding:1rem}.task-description h6,.task-notes h6{color:#333;font-weight:600;margin-bottom:.75rem}.task-description h6 i,.task-notes h6 i{color:#4caf50;margin-right:.5rem}.task-description p,.task-notes p{color:#666;line-height:1.6;margin:0}.task-notes{border-left-color:#ffc107}.task-notes h6 i{color:#ffc107}.calendar-legend h5{color:#333;font-weight:600}.calendar-legend h5 i{color:#4caf50}.calendar-legend .badge{border-radius:8px;font-size:.95rem;font-weight:500;padding:.625rem 1rem}.calendar-legend .badge-activity-sowing{background:#4caf50}.calendar-legend .badge-activity-seedling{background:#8bc34a}.calendar-legend .badge-activity-quilting{background:#03a9f4}.calendar-legend .badge-activity-watering{background:#00bcd4}.calendar-legend .badge-activity-fertilizing{background:#ff9800}.calendar-legend .badge-activity-harvesting{background:#f44336}.calendar-legend .badge-activity-field_operation{background:#795548}.loading-spinner{align-items:center;background:rgba(0,0,0,.3);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-spinner .spinner-border{height:4rem;width:4rem}@media (max-width:1200px){.calendar-day{min-height:100px}}@media (max-width:992px){.calendar-day{min-height:90px;padding:.5rem}.calendar-day .day-number{font-size:.9rem}.task-item{font-size:.75rem;padding:.25rem .375rem}}@media (max-width:768px){.calendar-toolbar .d-flex{align-items:stretch!important;flex-direction:column}.calendar-toolbar .d-flex .btn-group{width:100%}.calendar-toolbar .d-flex .btn-group .btn{flex:1}.calendar-toolbar .d-flex h2{margin-bottom:1rem;order:-1;text-align:center}.calendar-day{min-height:70px;padding:.375rem}.calendar-day .day-number{font-size:.8rem}.calendar-day.today .day-number{font-size:.75rem;height:24px;width:24px}.task-item{font-size:.7rem;gap:.25rem;padding:.2rem .3rem}.task-item .task-icon{font-size:.9rem}.task-card{padding:1rem}.task-card-header{flex-wrap:wrap}.task-card-header .task-status{margin-top:.5rem;text-align:center;width:100%}}@media (max-width:576px){.calendar-day-name{font-size:.75rem!important;padding:.75rem .25rem!important}.calendar-day{min-height:60px}.day-tasks{gap:.2rem}.task-item .task-name{font-size:.65rem}}