:root{
  --bg:#f3f8f7;--surface:#fff;--surface-soft:#eef6f4;--line:#d9e5e8;--line-strong:#bfd5d8;
  --text:#062b3b;--muted:#5c7480;--primary:#00aaa8;--primary-soft:#e5f5f2;--teal:#1e9fa3;
  --green:#2a9d68;--yellow:#d99616;--orange:#dc7d2f;--red:#c84c52;--shadow:0 10px 28px rgba(6,43,59,.08);--radius:6px;--sidebar:236px
}
html,body{color:var(--text);background:var(--bg);background-image:none}
.app-shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{background:#062b3b;border-right:0;box-shadow:8px 0 26px rgba(6,43,59,.08)}
.brand{padding:19px 20px 17px;border-bottom:1px solid rgba(255,255,255,.15)}
.brand-mark{width:42px;height:42px;border-radius:0;background:url('../brand/logo-a-strict.png') center/contain no-repeat;box-shadow:none;color:transparent}
.brand-mark svg{display:none}
.brand-wordmark{display:grid;gap:5px;line-height:1.05}.brand-wordmark strong{font-size:17px;letter-spacing:.02em}.brand-wordmark span{font-size:11px;letter-spacing:.1em}
.brand strong{color:#fff}.brand span{color:rgba(255,255,255,.62)}
.nav{padding:15px 12px}.nav a{color:rgba(255,255,255,.7);border-radius:4px}.nav a:hover,.nav a.active{color:#c9eb55;background:rgba(0,183,176,.13);box-shadow:inset 3px 0 0 #00b7b0}
.sidebar-user{border-top-color:rgba(255,255,255,.14);color:#fff}.sidebar-user-label,.sidebar-user span{color:rgba(255,255,255,.55)}.sidebar-foot{color:rgba(255,255,255,.58);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.main{background:var(--bg)}
.topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(6,43,59,.02)}.topbar-inner{color:var(--text)}
.topbar h1{font-weight:500;letter-spacing:-.02em}.topbar p{color:var(--muted)}
.content{padding:30px 34px;max-width:1500px}.page-head h2{font-weight:500}.page-head p,.panel-note{color:var(--muted)}
.card,.metric-card,.status-card,.report-card,.risk-card,.monitor-card,.monitor-feed,.base-summary-card,.cage-card,.hatchery-env-card,.hatchery-parent-card,.nursery-card,.chart-box,.table-wrap,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card:hover,.metric-card:hover,.cage-card:hover,.risk-card:hover{border-color:rgba(0,170,168,.6);box-shadow:0 0 0 1px rgba(0,170,168,.08),var(--shadow)}
.metric-card{padding:19px}.metric-top,.metric-foot{color:var(--muted)}.metric-value{color:var(--text);font-weight:500}.metric-icon,.tag,.status-pill.info{color:var(--primary);background:var(--primary-soft)}
.panel-head{border-bottom-color:var(--line)}
.btn{color:var(--text);border-color:var(--line-strong);background:#fff;border-radius:4px}.btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.btn.primary{color:#073747;background:#c9eb55;border-color:transparent}.btn.primary:hover{background:#e2ff7b}.btn.danger{color:#fff;background:var(--red);border-color:var(--red)}.btn.danger:hover{color:#fff;background:#b94048;border-color:#b94048}.harvest-btn{min-width:68px}
input,select,textarea{color:var(--text);background:#fbfdfc;border-color:var(--line-strong);border-radius:4px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,170,168,.1)}
table{color:var(--text)}table tr,table td,table th{border-color:var(--line)}table th{background:var(--surface-soft);color:var(--muted)}table tbody tr:hover{background:var(--primary-soft)}
.status-pill.done{color:var(--green);background:#e9f7ef}.status-pill.warn{color:var(--yellow);background:#fff6df}.status-pill.danger{color:var(--red);background:#fff0f0}
.chart-grid{stroke:rgba(6,43,59,.13)}.chart-line,.chart-dot,.chart-bar.alt{stroke:var(--primary);fill:var(--primary)}.chart-area{fill:rgba(0,170,168,.12)}
.monitor-feed,.monitor-card .monitor-preview{background:linear-gradient(180deg,#2f9da4 0%,#126579 48%,#062b3b 100%)}
.dashboard-tabs{border-bottom-color:var(--line)}.dashboard-tab{color:var(--muted)}.dashboard-tab.active{color:var(--text);border-bottom-color:var(--primary)}
.modal-backdrop{background:rgba(6,43,59,.58)}.modal{background:#fff;border-color:var(--line);box-shadow:0 24px 60px rgba(6,43,59,.2)}
.login-shell{background:linear-gradient(135deg,#e9f4f1,#fff 55%,#dff2ee)}.login-panel{background:#fff;border-color:var(--line);box-shadow:0 24px 70px rgba(6,43,59,.12)}.login-side{background:#062b3b}.login-brand .brand-mark{background-color:transparent}.login-brand .brand-wordmark strong{color:var(--text)}.login-brand .brand-wordmark span{color:var(--muted)}.login-copy h1{font-weight:500}.login-hint{color:var(--muted)}
@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.main{width:100%;min-width:0}.content{width:100%;padding:22px 18px}.sidebar{box-shadow:none}.topbar{width:100%;padding:0}}
