:root{--primary-color: #1976D2;--primary-dark: #1565C0;--secondary-color: #f5f5f5;--text-color: #333;--background-color: #f4f6f8;--card-background: #fff;--border-radius: 12px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--font-family: "Roboto", sans-serif;--healthy-color: #4CAF50;--monitor-color: #FFC107;--isolate-color: #F44336;--trough-alert-color: #607D8B}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6}header{background-color:var(--primary-color);color:#fff;padding:1rem;text-align:center;box-shadow:0 2px 4px #0000001a}h1{font-weight:500}#cost-details-bar{background-color:#e3f2fd;color:var(--primary-dark);padding:.5rem 2rem;text-align:center;font-size:.9rem;display:flex;justify-content:center;gap:2rem;border-bottom:1px solid #bbdefb}#cost-details-bar span{font-weight:500}main{padding:1rem 2rem;max-width:1600px;margin:0 auto}.hidden{display:none!important}nav{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;margin-top:1rem}.nav-tab{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border:2px solid transparent;border-radius:var(--border-radius);background-color:var(--card-background);color:var(--primary-dark);cursor:pointer;transition:all .3s ease;box-shadow:var(--box-shadow)}.nav-tab:hover{background-color:#e3f2fd}.nav-tab.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-dark)}.dashboard-container{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.main-content,.view-container section:not(:last-child){margin-bottom:2rem}.sidebar{display:flex;flex-direction:column;gap:2rem}.dashboard-panel{background-color:var(--card-background);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--box-shadow)}.dashboard-panel h2{color:var(--primary-dark);margin-bottom:1rem;font-size:1.5rem;border-bottom:2px solid var(--secondary-color);padding-bottom:.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h2{margin-bottom:0;border-bottom:none;padding-bottom:0}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.status-card{background-color:var(--card-background);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--box-shadow);text-align:center;border-top:5px solid}.status-card .count{font-size:2.5rem;font-weight:700;line-height:1.2}.status-card .label{font-size:1rem;color:#666}.status-card.healthy{border-color:var(--healthy-color);color:var(--healthy-color)}.status-card.monitor{border-color:var(--monitor-color);color:var(--monitor-color)}.status-card.isolate{border-color:var(--isolate-color);color:var(--isolate-color)}.status-card.total{border-color:var(--primary-color);color:var(--primary-color)}.live-feeds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.feed-card{border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow);position:relative;background:#000;aspect-ratio:16 / 9}.feed-card img,.feed-card video{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .3s ease}.feed-card:hover img,.feed-card:hover video{transform:scale(1.05)}.feed-label{position:absolute;bottom:0;left:0;width:100%;background:#0009;color:#fff;padding:.5rem;text-align:center;font-weight:500}.trough-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.trough-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border-radius:var(--border-radius);background:var(--secondary-color)}.trough-card .icon{font-size:3rem;margin-bottom:.5rem}.trough-card .label{font-size:1.2rem;font-weight:500;color:var(--primary-dark)}.trough-card .status{font-size:1.5rem;font-weight:700}.trough-card .status.Full{color:var(--healthy-color)}.trough-card .status.Partial{color:var(--monitor-color)}.trough-card .status.Empty{color:var(--isolate-color)}#alerts-panel{max-height:50vh;overflow-y:auto}#alerts-panel .no-alerts{color:#777;text-align:center;padding:2rem;font-style:italic}.alert-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;border-left:6px solid;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.alert-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.alert-card-monitor{background-color:#fff8e1;border-color:var(--monitor-color)}.alert-card-isolate{background-color:#ffebee;border-color:var(--isolate-color)}.alert-card-trough{background-color:#eceff1;border-color:var(--trough-alert-color)}.alert-info strong{display:block;font-size:1.2rem}.alert-timestamp{font-size:.9rem;color:#555}.panel-controls{display:flex;align-items:center;gap:.5rem}.panel-controls label{font-size:.9rem;font-weight:500;color:#555}.panel-controls select{padding:.5rem;border-radius:8px;border:1px solid #ccc;font-family:var(--font-family);font-size:.9rem}.roster-controls{display:flex;gap:1rem;margin-bottom:1rem}.roster-controls input,.roster-controls select{padding:.75rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;font-family:var(--font-family)}.roster-controls input{flex-grow:1}.add-goat-form{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}.add-goat-form input{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}.add-goat-form button{padding:.75rem;border:none;border-radius:8px;background-color:var(--primary-color);color:#fff;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background-color .3s}.add-goat-form button:hover{background-color:var(--primary-dark)}.table-container{max-height:60vh;overflow-y:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:1rem;border-bottom:1px solid #eee}thead{background-color:var(--secondary-color);position:sticky;top:0}th{font-weight:500;color:var(--primary-dark)}tbody tr:hover{background-color:#f9f9f9}.status-badge{padding:.25rem .6rem;border-radius:12px;color:#fff;font-size:.9rem;font-weight:500;text-transform:capitalize}.status-badge-healthy{background-color:var(--healthy-color)}.status-badge-monitor{background-color:var(--monitor-color)}.status-badge-isolate{background-color:var(--isolate-color)}.status-badge-Normal{background-color:#2196f3}.status-badge-Thin{background-color:#ff9800}.status-badge-Overweight{background-color:#9c27b0}.action-button{padding:.5rem 1rem;border:none;border-radius:8px;background-color:var(--primary-dark);color:#fff;font-size:.9rem;cursor:pointer;transition:background-color .2s;white-space:nowrap}.action-button:hover{background-color:var(--primary-color)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s}.modal-content{background:#fff;padding:2rem;border-radius:var(--border-radius);max-width:600px;width:90%;position:relative;box-shadow:0 10px 30px #0003;animation:slideIn .4s ease-out}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#888;line-height:1}#modal-body h2{margin-top:0}#modal-body p{margin-bottom:.5rem}#modal-body strong{color:var(--primary-dark)}.modal-isolate{color:var(--isolate-color)}.modal-monitor{color:var(--monitor-color)}.modal-trough{color:var(--trough-alert-color)}#loading-spinner{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffe6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.spinner{border:8px solid var(--secondary-color);border-top:8px solid var(--primary-color);border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}#loading-spinner p{margin-top:1rem;font-size:1.2rem;font-weight:500;color:var(--primary-dark)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#ai-assistant-button{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background-color:var(--primary-color);color:#fff;border:none;font-size:2rem;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 4px 15px #0003;transition:all .3s ease;z-index:1001}#ai-assistant-button:hover{background-color:var(--primary-dark);transform:scale(1.1)}#ai-assistant-modal{position:fixed;bottom:90px;right:2rem;z-index:1000}.chat-window{width:400px;max-width:90vw;height:60vh;background:var(--card-background);border-radius:var(--border-radius);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .4s ease-out}.chat-header{background:var(--primary-color);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.chat-header h3{margin:0;font-weight:500}.chat-header button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1}.chat-messages{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.message{padding:.75rem 1rem;border-radius:18px;max-width:80%;line-height:1.4}.message-user{background-color:var(--primary-color);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.message-ai{background-color:var(--secondary-color);color:var(--text-color);border-bottom-left-radius:4px;align-self:flex-start}.message-ai.thinking{font-style:italic;color:#777}.chat-input-area{display:flex;padding:1rem;border-top:1px solid #eee}.chat-input-area input{flex-grow:1;border:1px solid #ccc;border-radius:18px;padding:.75rem 1rem;font-size:1rem;margin-right:.5rem}.chat-input-area button{background:var(--primary-color);color:#fff;border:none;border-radius:18px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.chat-input-area button:hover{background:var(--primary-dark)}@media print{body>*{display:none!important}#print-area,#print-area *{display:block!important}#print-area{text-align:center;margin-top:2rem}#print-area h2{font-size:2rem;margin-bottom:.5rem}#print-area h3{font-size:1.5rem;margin-bottom:2rem}#print-area canvas{width:300px!important;height:300px!important}}
