:root{--bg:#06111f;--panel:rgba(13,31,50,.88);--panel2:rgba(19,43,67,.72);--line:rgba(135,204,234,.16);--text:#edf9ff;--muted:#93afc0;--blue:#21a9e8;--cyan:#45d5dc;--green:#4ed39b;--amber:#f4bd5f;--red:#ff7183;--shadow:0 24px 70px rgba(0,0,0,.33)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 78% 0%,rgba(20,145,198,.23),transparent 35%),radial-gradient(circle at 8% 30%,rgba(16,99,153,.18),transparent 38%),linear-gradient(180deg,#071624 0%,#05101c 100%);min-height:100vh}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.hidden{display:none!important}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(4,14,25,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand img{width:45px;height:45px;object-fit:contain}.brand span{display:grid;line-height:1.05}.brand strong{font-size:19px;letter-spacing:.02em}.brand small{font-size:10px;letter-spacing:.22em;color:var(--cyan);margin-top:5px}.top-actions{display:flex;align-items:center;gap:10px}.account-label{font-size:12px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button{border:1px solid transparent;border-radius:12px;background:linear-gradient(135deg,var(--blue),#1678cf);color:#fff;padding:11px 16px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 8px 24px rgba(17,133,202,.18)}.button:hover{transform:translateY(-1px)}.button.secondary{background:rgba(36,79,109,.55);border-color:var(--line);box-shadow:none}.button.ghost{background:transparent;border-color:var(--line);box-shadow:none}.button.danger{background:rgba(178,45,67,.24);border-color:rgba(255,113,131,.35);box-shadow:none}.text-button{border:0;background:transparent;color:var(--cyan);font-weight:700;cursor:pointer}.icon-button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:rgba(35,84,116,.46);color:#fff;font-size:23px;cursor:pointer}.welcome-panel{max-width:1180px;margin:28px auto 0;padding:34px;border-radius:24px;border:1px solid rgba(85,196,233,.22);background:linear-gradient(120deg,rgba(13,88,132,.58),rgba(10,35,57,.78));box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:24px}.welcome-copy h1{margin:7px 0 10px;font-size:clamp(30px,5vw,52px);line-height:1}.welcome-copy p{margin:0;color:#c2d8e5;max-width:720px;line-height:1.6}.eyebrow{color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.workspace{display:grid;grid-template-columns:255px minmax(0,1fr);max-width:1480px;margin:0 auto;min-height:calc(100vh - 76px)}.sidebar{padding:26px 18px;border-right:1px solid var(--line);position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto;background:rgba(5,17,29,.38)}.aquarium-picker label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}.picker-row{display:flex;gap:8px;margin-top:8px}.picker-row select{min-width:0;flex:1}.journal-nav{display:grid;gap:6px;margin-top:24px}.journal-nav button{border:1px solid transparent;background:transparent;color:#a9c1d0;border-radius:13px;padding:12px 13px;text-align:left;font-weight:700;display:flex;gap:11px;align-items:center;cursor:pointer}.journal-nav button span{width:20px;color:#70cde9;text-align:center}.journal-nav button.active,.journal-nav button:hover{background:rgba(35,101,141,.28);border-color:var(--line);color:#fff}.sidebar-note{margin-top:28px;padding:16px;border-radius:16px;border:1px solid var(--line);background:rgba(18,43,65,.45);display:grid;gap:8px}.sidebar-note b{font-size:13px}.sidebar-note span{font-size:12px;color:var(--muted);line-height:1.5}.content{padding:30px;min-width:0}.page{display:none}.page.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:clamp(28px,4vw,45px);line-height:1.05;margin:6px 0 4px}.page-heading p{color:var(--muted);margin:0;line-height:1.5}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.summary-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;margin-bottom:18px}.score-card,.metric-card,.panel,.calculator-card{border:1px solid var(--line);background:linear-gradient(160deg,rgba(19,46,70,.82),rgba(8,24,39,.9));border-radius:20px;box-shadow:0 14px 42px rgba(0,0,0,.15)}.score-card,.metric-card{padding:22px;display:grid;gap:5px;min-height:170px}.score-card>span,.metric-card>span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.score-card strong,.metric-card strong{font-size:48px;line-height:1;color:#fff;margin-top:10px}.score-card b{color:var(--cyan);font-size:17px}.metric-card b{font-size:16px}.score-card small,.metric-card small{color:var(--muted);line-height:1.4;margin-top:auto}.panel{padding:22px;margin-bottom:18px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h2,.calculator-card h2{font-size:19px;margin:0 0 5px}.panel-heading p,.calculator-card p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}.reading-card{padding:16px;border-radius:15px;border:1px solid var(--line);background:rgba(5,20,34,.54);display:grid;gap:5px}.reading-card span{color:var(--muted);font-size:12px}.reading-card strong{font-size:25px}.reading-card small{color:var(--muted)}.reading-card.good{border-color:rgba(78,211,155,.28)}.reading-card.watch{border-color:rgba(244,189,95,.4)}.observation-list,.compact-list,.task-list,.table-list{display:grid;gap:10px}.observation{border-left:3px solid var(--amber);padding:10px 12px;background:rgba(244,189,95,.07);border-radius:0 12px 12px 0;color:#dceaf1;font-size:13px;line-height:1.5}.empty-state{padding:24px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);text-align:center}.compact-row,.task-row,.table-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);background:rgba(4,18,31,.46);border-radius:14px}.compact-row>div,.task-row>div,.table-row>div{min-width:0}.compact-row b,.task-row b,.table-row b{display:block}.compact-row small,.task-row small,.table-row small{color:var(--muted);display:block;margin-top:4px}.due-badge,.status-badge{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(69,213,220,.12);color:var(--cyan);white-space:nowrap}.due-badge.overdue{background:rgba(255,113,131,.13);color:var(--red)}.global-status{position:fixed;right:22px;top:92px;z-index:60;padding:13px 17px;border-radius:13px;background:#0e2c42;border:1px solid var(--line);box-shadow:var(--shadow);max-width:380px}.global-status.error{background:#4b1d2b;border-color:rgba(255,113,131,.4)}select,input,textarea{width:100%;border:1px solid var(--line);background:rgba(3,15,27,.72);color:#fff;border-radius:11px;padding:11px 12px;outline:none}select:focus,input:focus,textarea:focus{border-color:rgba(69,213,220,.55);box-shadow:0 0 0 3px rgba(69,213,220,.08)}textarea{min-height:110px;resize:vertical}label{display:grid;gap:6px;color:#b9cfdb;font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}.modal{position:fixed;inset:0;z-index:100;background:rgba(0,7,13,.76);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal-card{width:min(720px,100%);max-height:92vh;overflow:auto;border:1px solid var(--line);background:linear-gradient(160deg,#102c42,#081725);border-radius:22px;padding:25px;box-shadow:var(--shadow);position:relative}.modal-card h2{font-size:28px;margin:6px 0 18px}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#b8cfda;font-size:29px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.chart-controls{display:flex;gap:14px;margin-bottom:16px}.chart-controls label{min-width:170px}.trend-chart{min-height:330px;border-radius:16px;border:1px solid var(--line);background:rgba(3,15,27,.48);overflow:hidden}.trend-chart svg{display:block;width:100%;height:330px}.trend-legend{display:flex;gap:18px;color:var(--muted);font-size:12px;margin-top:10px}.legend-line{display:inline-block;width:22px;height:2px;vertical-align:middle;margin-right:7px;background:var(--cyan)}.legend-line.target{background:var(--green);opacity:.55}.row-actions{display:flex;gap:8px;align-items:center}.small-button{border:1px solid var(--line);background:rgba(25,72,101,.45);color:#fff;border-radius:9px;padding:8px 10px;font-weight:700;cursor:pointer}.small-button.danger{color:var(--red);background:rgba(120,31,51,.18)}.mini-summary{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.mini-summary span{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(19,49,73,.55);font-size:12px;color:#cfe1ea}.livestock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.livestock-card{border:1px solid var(--line);background:linear-gradient(160deg,rgba(18,47,71,.82),rgba(8,23,38,.9));border-radius:18px;overflow:hidden}.livestock-photo{height:170px;background:linear-gradient(135deg,rgba(34,98,134,.35),rgba(6,21,36,.6));display:grid;place-items:center;color:#6d9db6;font-size:38px}.livestock-photo img{width:100%;height:100%;object-fit:cover}.livestock-body{padding:17px}.livestock-body h3{margin:5px 0;font-size:19px}.livestock-body p{color:var(--muted);font-size:13px;line-height:1.5;min-height:40px}.livestock-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.filter-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:8px 12px;cursor:pointer}.filter-chip.active{background:rgba(33,169,232,.16);color:#fff;border-color:rgba(33,169,232,.35)}.timeline{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:16px;border-radius:16px;border:1px solid var(--line);background:rgba(8,25,40,.67)}.timeline-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(33,169,232,.13);color:var(--cyan);font-weight:900}.timeline-content h3{font-size:15px;margin:0 0 4px}.timeline-content small{color:var(--muted)}.timeline-content p{white-space:pre-wrap;color:#c5d8e2;font-size:13px;line-height:1.55;margin:9px 0 0}.timeline-content img{width:min(100%,480px);max-height:320px;object-fit:cover;border-radius:13px;margin-top:12px;border:1px solid var(--line)}.timeline.compact .timeline-item{padding:12px}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.calculator-card{padding:21px}.calculator-card .button{margin-top:15px}.calculator-result{margin-top:14px;padding:16px;border-radius:14px;background:rgba(69,213,220,.08);border:1px solid rgba(69,213,220,.16);font-size:20px;font-weight:800;color:#dffcff}.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.target-card{padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(4,18,31,.46)}.target-card b{display:block;margin-bottom:10px}.target-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.danger-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(255,113,131,.2)}.danger-panel h2{margin:0 0 4px}.danger-panel p{margin:0;color:var(--muted);font-size:13px}.status-select{width:auto;min-width:118px}.currency:before{content:'£'}@media(max-width:980px){.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px}.journal-nav{display:flex;overflow-x:auto;margin-top:14px;padding-bottom:3px}.journal-nav button{white-space:nowrap}.sidebar-note{display:none}.summary-grid{grid-template-columns:1fr 1fr}.score-card{grid-row:span 2}.two-column{grid-template-columns:1fr}.content{padding:22px}.calculator-grid{grid-template-columns:1fr}}@media(max-width:680px){.topbar{height:auto;min-height:70px;padding:10px 14px}.top-actions .account-label,.top-actions .button:first-of-type{display:none}.brand img{width:38px;height:38px}.content{padding:18px 12px}.page-heading{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr}.score-card{grid-row:auto}.form-grid,.form-grid.three{grid-template-columns:1fr}.calculator-grid{grid-template-columns:1fr}.chart-controls{flex-direction:column}.chart-controls label{min-width:0}.panel{padding:16px}.compact-row,.task-row,.table-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:flex-end}.danger-panel{align-items:flex-start;flex-direction:column}.welcome-panel{margin:16px 12px 0;padding:24px;align-items:flex-start;flex-direction:column}}

/* TerraAqua Reef Journal offline-first 1.1.0 */
.offline-banner{position:sticky;top:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 22px;background:rgba(12,92,70,.94);border-bottom:1px solid rgba(126,255,213,.35);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.offline-banner>div{display:flex;align-items:baseline;gap:12px;min-width:0}.offline-banner b{color:#eafff8}.offline-banner span{color:#bce8dc;font-size:.86rem}.offline-banner.offline{background:rgba(94,57,15,.96);border-bottom-color:rgba(255,196,92,.42)}.offline-banner.offline b{color:#fff2cf}.offline-banner.offline span{color:#f1d9a7}.offline-banner.syncing{background:rgba(16,76,111,.96)}.offline-banner.hidden{display:none}.pending-label{display:inline-block;margin-top:7px;color:#ffd585!important;font-weight:700}.offline-storage-panel{border-color:rgba(69,213,220,.24)}
@media(max-width:720px){.offline-banner{align-items:flex-start;padding:10px 14px}.offline-banner>div{display:block}.offline-banner span{display:block;margin-top:3px}.offline-banner .button{padding:9px 12px;white-space:nowrap}}


/* TerraAqua shared bottom navigation v1.1.1 */
body{padding-bottom:88px}
.ta-journal-bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;width:min(760px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px;border:1px solid rgba(109,222,241,.25);border-radius:22px;background:linear-gradient(145deg,rgba(11,55,80,.92),rgba(4,26,42,.94));box-shadow:inset 0 1px rgba(255,255,255,.09),0 16px 44px rgba(0,0,0,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ta-journal-bottom-nav a{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border:1px solid rgba(109,222,241,.16);border-radius:14px;background:rgba(255,255,255,.035);color:#cfe3ed;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}
.ta-journal-bottom-nav a:hover,.ta-journal-bottom-nav a:focus-visible{border-color:rgba(109,222,241,.5);background:rgba(69,213,220,.1);outline:none}
.ta-journal-bottom-nav a.active{border-color:#56ddef;background:linear-gradient(145deg,rgba(34,132,164,.42),rgba(12,67,91,.58));color:#fff;box-shadow:0 0 0 2px rgba(86,221,239,.1)}
.ta-journal-bottom-nav a span{font-size:16px;line-height:1}
@media(max-width:560px){body{padding-bottom:82px}.ta-journal-bottom-nav{bottom:max(6px,env(safe-area-inset-bottom));width:calc(100% - 12px);gap:4px;padding:6px;border-radius:18px}.ta-journal-bottom-nav a{display:grid;gap:2px;padding:8px 3px;font-size:9px;border-radius:11px}.ta-journal-bottom-nav a span{font-size:15px}}


/* TerraAqua shared bottom navigation v1.1.2 */
body{padding-bottom:102px}
.ta-journal-bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;width:min(760px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px;border:1px solid rgba(109,222,241,.25);border-radius:22px;background:linear-gradient(145deg,rgba(11,55,80,.92),rgba(4,26,42,.94));box-shadow:inset 0 1px rgba(255,255,255,.09),0 16px 44px rgba(0,0,0,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ta-journal-bottom-nav a{min-width:0;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:13px 5px;border:1px solid rgba(109,222,241,.16);border-radius:14px;background:rgba(255,255,255,.035);color:#cfe3ed;text-decoration:none;font-size:11px;line-height:1.1;font-weight:800;white-space:nowrap}
.ta-journal-bottom-nav a:hover,.ta-journal-bottom-nav a:focus-visible{border-color:rgba(109,222,241,.5);background:rgba(69,213,220,.1);outline:none}
.ta-journal-bottom-nav a.active{border-color:#56ddef;background:linear-gradient(145deg,rgba(34,132,164,.42),rgba(12,67,91,.58));color:#fff;box-shadow:0 0 0 2px rgba(86,221,239,.1)}
.ta-journal-bottom-nav a span{font-size:18px;line-height:1}
@media(max-width:560px){body{padding-bottom:92px}.ta-journal-bottom-nav{bottom:max(6px,env(safe-area-inset-bottom));width:calc(100% - 12px);gap:4px;padding:6px;border-radius:18px}.ta-journal-bottom-nav a{min-height:46px;display:grid;gap:2px;padding:8px 3px;font-size:9px;border-radius:11px}.ta-journal-bottom-nav a span{font-size:15px}}
