:root{--bg: #04101f;--surface: #081b31;--surface-2: #0c2644;--line: #174d79;--cyan: #29d7ff;--blue: #258cff;--text: #e4f5ff;--muted: #86a7bf;--green: #35d58b;--yellow: #ffc857;--red: #ff5c6c;--shadow: 0 12px 34px rgba(0, 8, 20, .28)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;background:linear-gradient(rgba(16,63,102,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(16,63,102,.08) 1px,transparent 1px),var(--bg);background-size:32px 32px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;overflow:hidden;background:radial-gradient(ellipse at 50% 104%,rgba(18,130,255,.22),transparent 42%),radial-gradient(circle at 18% 36%,rgba(18,117,223,.12),transparent 34%),radial-gradient(circle at 76% 44%,rgba(0,209,255,.1),transparent 30%),linear-gradient(180deg,#020b19,#031326 48%,#010813);position:relative}.login-page:before{content:"";position:absolute;inset:auto -12vw -20vh;height:52vh;background:radial-gradient(ellipse at 50% 18%,rgba(42,181,255,.22),transparent 36%),repeating-linear-gradient(172deg,transparent 0 40px,rgba(41,215,255,.08) 41px 42px);transform:perspective(900px) rotateX(62deg);transform-origin:bottom;filter:blur(.2px);opacity:.82;pointer-events:none}.login-layout{width:min(1280px,100%);min-height:min(680px,calc(100vh - 64px));display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.78fr);border:1px solid rgba(79,176,255,.7);border-radius:20px;background:linear-gradient(115deg,#0824479e,#010e22eb);box-shadow:0 0 0 1px #1897ff24,0 0 48px #1c92ff47,inset 0 1px #7ed3ff42;overflow:hidden;position:relative;z-index:1}.login-visual{min-height:640px;padding:66px 34px 26px 70px;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:end;border-right:1px solid rgba(79,176,255,.4);background:radial-gradient(circle at 56% 58%,rgba(0,194,255,.18),transparent 36%),linear-gradient(145deg,#072346a8,#010c1e85);position:relative}.login-visual:before{content:"";position:absolute;inset:auto 0 0;height:34%;background:radial-gradient(ellipse at 50% 65%,rgba(0,213,255,.28),transparent 52%),linear-gradient(180deg,transparent,rgba(0,110,255,.12));pointer-events:none}.login-brand{align-self:start;color:#27f2ff;font-size:clamp(38px,4.3vw,55px);font-weight:900;line-height:1.2;letter-spacing:0;text-shadow:0 0 20px rgba(39,242,255,.45),0 6px 0 rgba(0,0,0,.08);position:relative;z-index:2}.login-device-stage{min-height:420px;display:grid;place-items:end center;position:relative;z-index:1}.login-device-stage img{width:min(760px,112%);max-height:470px;object-fit:contain;filter:drop-shadow(0 34px 42px rgba(0,0,0,.44)) drop-shadow(0 0 24px rgba(0,194,255,.42));position:relative;z-index:2}.login-wave{position:absolute;left:50%;bottom:4%;width:74%;height:110px;border:1px solid rgba(33,201,255,.45);border-radius:50%;transform:translate(-50%) rotate(-2deg);box-shadow:0 0 26px #21c9ff52,inset 0 0 28px #21c9ff33;opacity:.72}.login-wave-b{bottom:-2%;width:92%;height:142px;border-color:#0073ff47;opacity:.5}.login-form{width:min(420px,100%);justify-self:center;align-self:center;padding:46px 0;flex-direction:column}.login-form h1{margin:0 0 36px;color:#fff;font-size:34px;font-weight:800}.login-field{gap:12px;margin-bottom:28px}.login-field label{color:#d7e6f9;font-size:15px;font-weight:700}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-wrap input{min-height:64px;padding:0 58px;border:1px solid rgba(57,147,242,.8);border-radius:7px;color:#edf8ff;font-size:18px;background:#020d1e8f;box-shadow:inset 0 0 0 1px #258cff1a}.login-input-wrap input::placeholder{color:#dee8f794}.login-input-wrap input:focus{border-color:#20d8ff;box-shadow:0 0 18px #20d8ff42,inset 0 0 16px #20d8ff14}.login-input-icon,.login-eye-btn{position:absolute;z-index:1;display:grid;place-items:center;color:#dbe5f5d1}.login-input-icon{left:22px;width:24px;height:24px}.login-input-icon svg,.login-eye-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-eye-btn{right:16px;width:38px;height:38px;padding:0;border:0;background:transparent}.login-eye-btn:hover{color:#27e7ff}.login-form .full-btn{min-height:68px;margin-top:22px;border:0;border-radius:7px;font-size:24px;font-weight:800;background:linear-gradient(90deg,#1cbcff,#096dff);box-shadow:0 0 20px #1aaaff6b,inset 0 1px #ffffff47}.login-form .full-btn:hover{background:linear-gradient(90deg,#28cfff,#167aff)}.field{display:grid;gap:8px;margin-bottom:18px}.field label{color:#acd0e8;font-size:13px}input,select{width:100%;min-height:42px;padding:9px 12px;color:var(--text);border:1px solid var(--line);border-radius:3px;outline:none;background:#07192d}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #29d7ff1a}.primary-btn,.secondary-btn,.danger-btn{min-height:38px;padding:8px 16px;border:1px solid var(--blue);border-radius:3px;color:#fff;background:#146fc1}.primary-btn:hover{background:#1986e8}.secondary-btn{border-color:var(--line);color:#b8dcf2;background:#0b2845}.danger-btn{border-color:var(--red);background:#ff5c6c26;color:#ff9ba6}.full-btn{width:100%}.form-error{min-height:24px;color:var(--red);font-size:13px}.auth-switch{margin:14px 0 0;color:var(--muted);font-size:14px}.auth-switch a{color:var(--cyan);font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.demo-account{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}.app-layout{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .2s ease}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:260px;height:100vh;display:flex;flex-direction:column;padding:22px 16px;border-right:1px solid rgba(41,133,255,.22);background:linear-gradient(180deg,#041226fc,#020b19fc),radial-gradient(circle at 90% 8%,rgba(37,140,255,.22),transparent 28%);box-shadow:inset -1px 0 #29d7ff1a,18px 0 38px #0000002e}.side-brand{flex:0 0 auto;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:0 8px 28px;color:#eef8ff;font-size:16px;font-weight:700;line-height:1.34}.brand-mark{display:grid;place-items:center;width:44px;height:44px;color:#2e9dff;filter:drop-shadow(0 0 12px rgba(46,157,255,.42))}.brand-mark svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.side-brand small{display:block;margin-top:3px;color:#7595b3;font-size:12px;font-weight:400}.nav-list{min-height:0;display:grid;gap:7px;overflow-y:auto;padding:0 2px 14px 0;scrollbar-width:thin;scrollbar-color:rgba(60,136,212,.5) transparent}.nav-link{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 16px;border:1px solid transparent;border-radius:7px;color:#8faacd;font-size:15px;font-weight:700;position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;inset:11px auto 11px -18px;width:5px;border-radius:999px;background:transparent;box-shadow:none}.nav-icon{display:grid;place-items:center;width:24px;height:24px;color:currentColor}.nav-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.nav-link:hover,.nav-link.router-link-active{color:#eaf8ff;border-color:#219fff40;background:linear-gradient(90deg,#1378e86b,#09386c9e);box-shadow:inset 0 0 18px #248fff2e,0 0 28px #0080ff26}.nav-link:hover:before,.nav-link.router-link-active:before{background:#21ccff;box-shadow:0 0 16px #21ccff}.nav-group{display:grid;gap:4px}.nav-parent{width:100%;border:1px solid transparent;color:#8faacd;background:#061d3694;font:inherit;text-align:left;cursor:pointer}.nav-parent:hover,.nav-parent.active{color:#eaf8ff;border-color:#219fff47;background:linear-gradient(90deg,#1378e86b,#09386c9e);box-shadow:inset 0 0 18px #248fff2e,0 0 28px #0080ff1a}.nav-group-arrow{width:18px;height:18px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.nav-group-arrow.open{transform:rotate(180deg)}.nav-submenu{display:grid;gap:4px;padding:0 0 4px 22px}.nav-sublink{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 13px;border:1px solid transparent;border-radius:6px;color:#89a6c8;font-size:13px;font-weight:700;text-decoration:none}.nav-sublink .nav-icon{width:20px;height:20px}.nav-sublink .nav-icon svg{width:20px;height:20px}.nav-sublink:hover,.nav-sublink.router-link-active{color:#eaf8ff;border-color:#219fff33;background:#135ba659}.sidebar-foot{flex:0 0 auto;display:grid;gap:12px;margin-top:auto;padding:16px 8px 2px;border-top:1px solid rgba(41,133,255,.16);color:var(--muted);font-size:12px}.sidebar-service-status{width:max-content;padding:4px 0;font-size:13px;font-weight:800}.main-shell{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:10;min-height:78px;padding:14px 30px;display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(41,133,255,.16);background:#030e1fe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-title{font-size:20px;font-weight:800;color:#eaf7ff}.topbar-spacer{flex:1}.top-metric{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:#b7cdea;white-space:nowrap}.top-metric strong{display:block;color:#eff9ff;font-size:14px;line-height:1.1}.top-metric small{display:block;margin-top:2px;color:#7c96b6;font-size:11px}.top-icon{display:grid;place-items:center;width:30px;height:30px;color:#72c8ff;border-radius:50%;background:#258cff17;box-shadow:inset 0 0 12px #5ebeff1a}.top-icon svg,.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.alert-nav{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid transparent;border-radius:5px;color:#91aacc;font-size:14px;font-weight:800;text-decoration:none;transition:.2s ease}.alert-nav:hover,.alert-nav.router-link-active{color:#eaf7ff;border-color:#2985ff52;background:#0a2f58a3}.alert-nav-icon{position:relative;display:grid;place-items:center;width:26px;height:26px;color:#3f91e8}.alert-nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.alert-nav-icon b{position:absolute;top:0;right:-3px;min-width:13px;height:13px;padding:0 3px;border:1px solid #0b2443;border-radius:999px;color:#fff;background:#ef476f;box-shadow:0 0 10px #ef476fad;font-size:9px;line-height:11px;text-align:center}.farm-select{width:min(240px,26vw);min-height:38px;border-color:#3c87d073;background:#061d39cc}.user-block{text-align:right}.user-block strong{display:block;font-size:14px}.user-block span{color:var(--muted);font-size:12px}.icon-btn{min-width:40px;min-height:40px;border:1px solid rgba(82,149,220,.35);border-radius:4px;color:#c2def4;background:#071f39c2;box-shadow:inset 0 1px #29d7ff14}.icon-btn:hover{color:#fff;border-color:#29d7ff85;background:#0c3660db}.sidebar-toggle{display:inline-grid;place-items:center;transition:transform .2s ease}@media(min-width:761px){.app-layout.sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar-collapsed .sidebar{width:80px;padding:16px 10px;box-shadow:inset -1px 0 #29d7ff1f,10px 0 28px #0003}.sidebar-collapsed .side-brand{grid-template-columns:1fr;justify-items:center;min-height:68px;padding:0 0 16px;border-bottom:1px solid rgba(41,133,255,.16)}.sidebar-collapsed .brand-mark,.sidebar-collapsed .brand-mark svg{width:40px;height:40px}.sidebar-collapsed .side-brand>span:last-child,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-group-arrow,.sidebar-collapsed .sidebar-foot{display:none}.sidebar-collapsed .nav-list{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;overflow:visible}.sidebar-collapsed .nav-group{position:relative;display:block;width:100%}.sidebar-collapsed .nav-link{width:52px;min-height:52px;margin-inline:auto;justify-content:center;gap:0;padding:0;border-radius:7px;overflow:visible}.sidebar-collapsed .nav-parent{background:transparent}.sidebar-collapsed .nav-submenu{position:absolute;z-index:30;top:0;left:60px;width:188px;display:grid!important;gap:4px;padding:7px;border:1px solid rgba(40,147,235,.38);border-radius:7px;background:#04162bfa;box-shadow:12px 16px 34px #00000052,inset 0 1px #59beff1a;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.sidebar-collapsed .nav-group:hover .nav-submenu,.sidebar-collapsed .nav-group:focus-within .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.sidebar-collapsed .nav-submenu .nav-sublink{min-height:40px;padding:0 11px;gap:10px}.sidebar-collapsed .nav-submenu .nav-label{display:inline}.sidebar-collapsed .nav-link:before{inset:13px auto 13px -6px;width:3px;border-radius:0 999px 999px 0}.sidebar-collapsed .nav-icon,.sidebar-collapsed .nav-icon svg{width:24px;height:24px}.sidebar-collapsed .nav-link:hover,.sidebar-collapsed .nav-link.router-link-active,.sidebar-collapsed .nav-parent.active{border-color:#2aa5ff57;background:linear-gradient(145deg,#126fcbb8,#073363db);box-shadow:inset 0 0 16px #2da9ff29,0 5px 18px #0066cd2e}}.page-content{padding:24px 30px 42px}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.toolbar .field{margin:0;min-width:180px}.toolbar-actions{margin-left:auto;display:flex;gap:8px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-subtitle{margin:7px 0 0;color:#819cbe;font-size:13px}.farm-management{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.farm-list-panel{min-width:0}.farm-table{min-width:1280px}.farm-table td{vertical-align:middle}.farm-plc-codes{min-width:150px;color:#8fdcff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.farm-remark{max-width:180px;overflow:hidden;text-overflow:ellipsis}.farm-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:#0008138f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.farm-editor-panel{width:min(560px,92vw);min-height:100vh;display:grid;align-content:start;gap:18px;padding:26px;border-left:1px solid rgba(43,152,255,.42);background:linear-gradient(180deg,#082446fc,#04152bfc);box-shadow:-20px 0 46px #00000057,inset 0 1px #3ad4ff1c;overflow-y:auto}.farm-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid rgba(47,126,200,.26)}.farm-editor-head h2{margin:4px 0 0;color:#eef9ff;font-size:20px}.farm-editor-eyebrow{color:#37caff;font-size:12px;font-weight:800;letter-spacing:.08em}.farm-editor-form{display:grid;gap:2px}.farm-editor-form textarea{width:100%;min-height:98px;padding:11px 12px;border:1px solid rgba(62,136,207,.45);border-radius:5px;color:#eaf7ff;background:#04162dd1;font:inherit;line-height:1.5;resize:vertical}.farm-editor-form textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px #29d7ff1f}.farm-editor-meta{display:grid;gap:5px;padding:12px;border:1px solid rgba(64,137,201,.2);border-radius:5px;color:#829fbe;background:#041830a8;font-size:12px;line-height:1.6}.base-device-content{display:grid;gap:22px}.base-device-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid rgba(55,145,224,.24);background:#051b3675}.base-device-summary>div{min-width:0;display:grid;gap:3px;padding:14px 10px;text-align:center}.base-device-summary>div+div{border-left:1px solid rgba(55,145,224,.2)}.base-device-summary strong{color:#f3fbff;font-size:24px;line-height:1}.base-device-summary span{color:#829fbe;font-size:12px}.base-device-message{margin:18px 0;color:#9cb5d1;text-align:center}.base-device-section{display:grid;gap:11px}.base-device-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.base-device-section-head h3{margin:0;color:#eaf7ff;font-size:15px}.base-device-section-head>span{color:#69bce9;font-size:12px}.base-device-list{display:grid;gap:9px}.base-device-item{display:grid;gap:12px;padding:14px 15px;border:1px solid rgba(55,133,201,.26);border-radius:6px;background:#05193294}.base-device-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.base-device-item header>div:first-child{min-width:0;display:grid;gap:4px}.base-device-item header strong{color:#eaf7ff;font-size:14px;overflow-wrap:anywhere}.base-device-item header span{color:#7897b9;font-size:12px;overflow-wrap:anywhere}.base-device-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.base-device-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;padding-top:10px;border-top:1px solid rgba(62,130,190,.18);font-size:12px}.base-device-meta-wide{grid-template-columns:auto minmax(0,1fr)}.base-device-meta span{color:#7897b9}.base-device-meta strong{color:#bcd2e8;font-weight:600;overflow-wrap:anywhere}.base-sensor-readings{display:grid;gap:7px;padding-top:10px;border-top:1px solid rgba(62,130,190,.18)}.base-sensor-reading{display:grid;grid-template-columns:minmax(90px,1fr) minmax(92px,auto) auto minmax(128px,auto);align-items:center;gap:10px;font-size:12px}.base-sensor-reading>span{color:#91abc7}.base-sensor-reading>strong{color:#eef9ff;font-size:13px;text-align:right}.base-sensor-reading>time{color:#6f8dac;text-align:right;white-space:nowrap}.base-sensor-no-data{margin:0;padding-top:10px;border-top:1px solid rgba(62,130,190,.18);color:#718dab;font-size:12px}.base-device-empty{margin:0;padding:18px 12px;border:1px dashed rgba(64,137,201,.24);border-radius:6px;color:#718dab;text-align:center;font-size:13px}.drawer-enter-active,.drawer-leave-active{transition:opacity .2s ease}.drawer-enter-active .farm-editor-panel,.drawer-leave-active .farm-editor-panel{transition:transform .24s ease}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .farm-editor-panel,.drawer-leave-to .farm-editor-panel{transform:translate(100%)}.side-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:#0008138f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.side-drawer-panel{width:min(560px,92vw);min-height:100vh;display:grid;align-content:start;gap:18px;padding:26px;border-left:1px solid rgba(43,152,255,.42);background:linear-gradient(180deg,#082446fc,#04152bfc);box-shadow:-20px 0 46px #00000057,inset 0 1px #3ad4ff1c;overflow-y:auto}.side-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid rgba(47,126,200,.26)}.side-drawer-head h2{margin:4px 0 0;color:#eef9ff;font-size:20px}.side-drawer-eyebrow{color:#37caff;font-size:12px;font-weight:800;letter-spacing:.08em}.side-drawer-form{display:grid;gap:2px}.side-drawer-form textarea{width:100%;min-height:98px;padding:11px 12px;border:1px solid rgba(62,136,207,.45);border-radius:5px;color:#eaf7ff;background:#04162dd1;font:inherit;line-height:1.5;resize:vertical}.side-drawer-form textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px #29d7ff1f}.drawer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.side-drawer-enter-active,.side-drawer-leave-active{transition:opacity .2s ease}.side-drawer-enter-active .side-drawer-panel,.side-drawer-leave-active .side-drawer-panel{transition:transform .24s ease}.side-drawer-enter-from,.side-drawer-leave-to{opacity:0}.side-drawer-enter-from .side-drawer-panel,.side-drawer-leave-to .side-drawer-panel{transform:translate(100%)}.dashboard-page{display:grid;gap:24px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.dashboard-stats .stat-card{position:relative;min-height:142px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:15px;align-items:center;overflow:hidden}.dashboard-stats .stat-card{border-color:color-mix(in srgb,currentColor 25%,rgba(41,133,255,.24));background:linear-gradient(135deg,color-mix(in srgb,currentColor 16%,transparent),transparent 60%),linear-gradient(155deg,#072243f5,#05142bf0);box-shadow:inset 0 1px color-mix(in srgb,currentColor 19%,transparent),0 10px 24px #00000024}.dashboard-stats .stat-card:after{display:none}.stat-card-blue{color:#2ea3ff}.stat-card-purple{color:#8f5dff}.stat-card-cyan{color:#21d6d4}.stat-card-orange{color:#ff9f31}.dashboard-stats .stat-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:currentColor;background:radial-gradient(circle at 45% 35%,color-mix(in srgb,currentColor 34%,transparent),transparent 44%),radial-gradient(circle,color-mix(in srgb,currentColor 16%,transparent),#071c3ad6 68%);box-shadow:0 0 34px color-mix(in srgb,currentColor 24%,transparent),inset 0 0 22px color-mix(in srgb,currentColor 18%,transparent),inset 0 0 0 1px color-mix(in srgb,currentColor 26%,transparent);position:relative}.dashboard-stats .stat-icon:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:inherit;border:1px solid color-mix(in srgb,currentColor 26%,transparent);opacity:.65}.dashboard-stats .stat-icon:after{content:"";position:absolute;inset:auto 16px 12px;height:4px;border-radius:999px;background:currentColor;filter:blur(5px);opacity:.56}.dashboard-stats .stat-icon svg{position:relative;z-index:1;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.45;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in srgb,currentColor 55%,transparent))}.stat-pill{position:absolute;right:18px;top:18px;display:inline-flex;align-items:center;gap:6px;min-width:54px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#072542d1}.stat-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}.stat-pill.good{color:#13e096}.stat-pill.warn,.stat-pill.danger{color:#ff9f31}.dashboard-stats .stat-label{color:#a8c3df;font-size:14px;font-weight:700}.dashboard-stats .stat-value{margin-top:5px;color:#f1f9ff;font-size:31px;font-weight:800;line-height:1}.dashboard-stats .stat-value small{margin-left:4px;color:#b9d2e9;font-size:15px;font-weight:700}.dashboard-stats .stat-foot{max-width:calc(100% - 118px);margin-top:12px;color:#91acd0;font-size:13px;white-space:nowrap}.stat-sparkline{position:absolute;right:18px;bottom:18px;width:104px;height:32px;color:currentColor;opacity:.95;overflow:visible}.stat-sparkline-fill{fill:color-mix(in srgb,currentColor 18%,transparent)}.stat-sparkline polyline{fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px color-mix(in srgb,currentColor 65%,transparent))}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(430px,.98fr);gap:18px}.panel-head,.trend-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.trend-head .panel-title{flex:0 0 auto;white-space:nowrap}.trend-toolbar{display:flex;align-items:center;justify-content:flex-start;margin-bottom:8px}.trend-indicator-select{position:relative;display:inline-flex;min-width:174px}.trend-indicator-select:after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid #739bc5;border-bottom:2px solid #739bc5;pointer-events:none;transform:translateY(-70%) rotate(45deg)}.trend-indicator-select select{width:100%;min-height:40px;padding:8px 42px 8px 16px;border:1px solid rgba(41,133,255,.25);border-radius:7px;color:#a9c5e7;background:#05152bb3;font-weight:800;-webkit-appearance:none;-moz-appearance:none;appearance:none}.trend-indicator-select select:focus{outline:none;border-color:#35e6ff8c;box-shadow:0 0 0 3px #35e6ff1a}.trend-actions{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:4px;border:1px solid rgba(41,133,255,.18);border-radius:7px;background:#05152bb3}.trend-actions button{min-height:32px;padding:4px 14px;border:1px solid transparent;border-radius:5px;color:#8da8c9;background:transparent;white-space:nowrap}.trend-actions button.active{color:#dff8ff;border-color:#268bffb3;background:linear-gradient(180deg,#1b6ed4d1,#0c448cd1);box-shadow:0 0 18px #1b76e738}.dashboard-pond-stack{display:grid;gap:14px}.pond-operation-card{container-type:inline-size;min-width:0;padding:0}.pond-monitor-section{min-width:0}.pond-operation-head,.pond-operation-title-row,.pond-plc-head,.pond-output-title,.pond-output-body,.pond-output-duration,.pond-output-actions{display:flex;align-items:center}.pond-operation-head{justify-content:space-between;gap:14px}.pond-operation-title-row{gap:12px}.pond-operation-title-row h3{margin:0;color:#edf9ff;font-size:20px}.pond-operation-head p{margin:5px 0 0;color:#7697ba;font-size:12px}.pond-connection{display:grid;place-items:center;width:34px;height:34px;color:#09dc95;border:1px solid color-mix(in srgb,currentColor 32%,transparent);border-radius:50%;background:color-mix(in srgb,currentColor 9%,transparent)}.pond-connection.alarm{color:#ff9f31}.pond-connection.offline{color:var(--red)}.pond-connection svg{width:19px;height:19px;stroke-width:1.9;filter:drop-shadow(0 0 6px currentColor)}.pond-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:13px;border:1px solid rgba(37,133,224,.28);border-radius:7px;background:#04162d9e}.pond-quality-item{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:13px 12px}.pond-quality-item+.pond-quality-item{border-left:1px solid rgba(50,123,190,.22)}.pond-quality-item:nth-child(4){border-left:0}.pond-quality-item:nth-child(n+4){border-top:1px solid rgba(50,123,190,.22)}.pond-quality-icon{display:grid;place-items:center;width:38px;height:38px;color:#35b8ff;border-radius:50%;background:#1d84e81a;box-shadow:inset 0 0 14px #2496ff1f,0 0 14px #23a4ff14}.pond-quality-icon svg{width:26px;height:26px;stroke-width:1.9}.pond-quality-item.metric-temp .pond-quality-icon{color:#ff725d}.pond-quality-item.metric-ph .pond-quality-icon{color:#2d9bff}.pond-quality-item.metric-orp .pond-quality-icon{color:#447eff}.pond-quality-item>div>span{display:block;color:#a9c3df;font-size:12px;font-weight:700}.pond-quality-item strong{display:block;margin-top:4px;color:#e7f4ff;font-size:24px;line-height:1;white-space:nowrap}.pond-quality-item.warning strong{color:#ffd166}.pond-quality-item.abnormal strong{color:#ffab39;text-shadow:0 0 10px rgba(255,171,57,.2)}.pond-quality-item.danger strong{color:#ff5b68;text-shadow:0 0 10px rgba(255,91,104,.24)}.pond-quality-item.warning .pond-quality-icon{color:#ffd166}.pond-quality-item.abnormal .pond-quality-icon{color:#ffab39}.pond-quality-item.danger .pond-quality-icon{color:#ff5b68}.pond-quality-item strong small{margin-left:5px;color:#91acd0;font-size:11px;font-weight:700}.pond-plc-section{margin-top:16px;padding:12px;border:1px solid rgba(37,133,224,.28);border-radius:7px;background:#03132757}.pond-plc-head{justify-content:space-between;gap:14px;margin-bottom:12px}.pond-plc-head h4{margin:0;color:#eaf8ff;font-size:15px}.pond-output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pond-output-card{min-width:0;display:flex;flex-direction:column;min-height:190px;padding:13px;border:1px solid rgba(37,132,220,.34);border-radius:7px;background:linear-gradient(150deg,#09264bd6,#041831eb)}.pond-output-card.active{border-color:#17da9a70;box-shadow:inset 0 0 18px #17da9a0f}.pond-output-title{align-items:flex-start;justify-content:space-between;gap:10px}.pond-output-title>div{min-width:0}.pond-output-title strong{display:block;color:#edf8ff;font-size:15px}.pond-output-title>div>span{display:block;margin-top:3px;color:#9fb9d4;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.pond-output-mode-switch{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid rgba(47,148,235,.42);border-radius:5px;background:#021327b3}.pond-output-mode-switch button{min-width:36px;padding:4px 7px;border:0;border-radius:3px;color:#7895b4;background:transparent;font-size:10px;line-height:1.35}.pond-output-mode-switch button:hover:not(:disabled){color:#dff5ff;background:#1e74c54d}.pond-output-mode-switch button.active{color:#fff;background:#1c78c8;box-shadow:0 0 10px #2191ef38}.pond-output-mode-switch button:disabled{cursor:not-allowed}.pond-output-signal{flex:0 0 auto;width:7px;height:7px;margin-top:5px;border-radius:50%;color:#6d8dab;background:currentColor;box-shadow:0 0 9px currentColor}.pond-output-signal.running{color:#1ed99b}.pond-output-signal.standby{color:#35aef5}.pond-output-signal.disabled{color:#8170ff}.pond-output-signal.offline{color:#ff5c6c}.pond-output-signal.disconnected{color:#6888a8}.pond-output-visual{flex:1;display:grid;place-items:center;padding:10px 0 8px}.pond-output-icon{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;color:#3aaaff;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:50%;background:color-mix(in srgb,currentColor 8%,transparent)}.pond-output-visual .pond-output-icon{width:70px;height:70px}.pond-output-icon svg{width:36px;height:36px;stroke-width:1.85}.output-alarm_output .pond-output-icon{color:#ff5463}.output-buzzer_output .pond-output-icon,.output-temp_low_output .pond-output-icon{color:#ffae32}.output-do_low_output .pond-output-icon,.output-level_low_output .pond-output-icon{color:#35db9a}.output-level_high_output .pond-output-icon{color:#8170ff}.pond-output-inline-control{flex:1;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0 8px}.pond-output-inline-control .pond-output-icon{width:62px;height:62px}.pond-output-inline-control .pond-output-actions{align-self:end}.pond-output-control-stack{flex:1;display:grid;align-content:center;gap:10px;padding:10px 0 8px}.pond-output-duration{display:grid;grid-template-columns:auto minmax(52px,1fr) auto;align-items:center;gap:6px;color:#7f9fbe;font-size:10px}.pond-output-duration input{width:100%;min-width:0;min-height:28px;padding:3px 7px}.pond-output-actions{gap:7px}.pond-output-actions button{flex:1;min-width:0;min-height:30px;padding:4px 8px;font-size:11px}.pond-output-footer{display:flex;align-items:center;gap:7px;padding-top:8px;color:#8ba8c5;font-size:12px}.pond-output-footer strong{color:#abc3da;font-size:13px}.pond-output-footer strong.running{color:#1ed99b}.pond-output-footer strong.standby{color:#35aef5}.pond-output-footer strong.disabled{color:#8170ff}.pond-output-footer strong.offline{color:#ff5c6c}.pond-output-footer strong.disconnected{color:#7895b4}.pond-output-card button:disabled,.pond-output-card input:disabled{opacity:.45;cursor:not-allowed}@container (max-width: 620px){.pond-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pond-quality-item:nth-child(odd){border-left:0}.pond-quality-item:nth-child(2n){border-left:1px solid rgba(50,123,190,.22)}.pond-quality-item:nth-child(n+3){border-top:1px solid rgba(50,123,190,.22)}.pond-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 360px){.pond-quality-item{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:10px 8px}.pond-quality-icon{width:32px;height:32px}.pond-quality-icon svg{width:24px;height:24px}.pond-quality-item strong{font-size:20px}.pond-quality-item strong small{margin-left:3px;font-size:9px}}.trend-panel{min-height:540px;display:flex;flex-direction:column}.trend-panel .chart{flex:1 1 auto;width:100%;min-height:508px;height:auto}.trend-foot{display:flex;justify-content:space-between;gap:14px;color:#7697ba;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat-card,.panel,.metric-card{border:1px solid var(--line);border-radius:4px;background:linear-gradient(180deg,#0c2644eb,#07192df0);box-shadow:var(--shadow),inset 0 1px #29d7ff12}.stat-card{min-height:112px;padding:18px}.stat-label{color:var(--muted);font-size:13px}.stat-value{margin-top:14px;color:#fff;font-size:30px;font-weight:700}.stat-value small{margin-left:5px;color:var(--muted);font-size:12px;font-weight:400}.panel{padding:18px;min-width:0;border-radius:8px;border-color:#1f77cf73;background:linear-gradient(180deg,#061e3deb,#04162ef5)}.panel-title{margin:0;color:#eaf8ff;font-size:18px}.no-margin{margin:0}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.95fr);gap:16px}.stack{display:grid;gap:16px}.page-gap{margin-top:16px}.top-gap{margin-top:14px}.pond-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.pond-card,.metric-card{min-width:0;padding:14px;border:1px solid #18517e;background:#07223dbd}.pond-card-head,.line-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-name,.card-meta{color:var(--muted);font-size:12px;line-height:1.8}.metric-value{margin:10px 0 6px;font-size:25px;font-weight:700}.metric-value small{color:var(--muted);font-size:12px;font-weight:400}.plc-row{margin-top:12px;padding-top:10px;border-top:1px solid rgba(23,77,121,.45);color:var(--muted);font-size:12px}.plc-panel{margin-top:14px;display:grid;gap:10px;padding:12px;border:1px dashed rgba(41,215,255,.35);color:#b8d9ed;background:#04101f6b}.output-panel{display:grid;gap:22px}.control-page-head{margin:0;padding:0}.control-page-head .panel-title{color:#f1f8ff;font-size:25px}.control-device{min-width:0;display:grid;gap:16px}.control-device-head{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid rgba(25,145,232,.58);border-radius:7px;background:linear-gradient(100deg,#082c4eb8,#04182f80)}.control-device-identity{min-width:0;display:flex;align-items:center;gap:18px}.control-device-mark{flex:0 0 auto;display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(45,173,255,.62);border-radius:7px;color:#4ebcff;background:#0c4a822e;font-size:18px;font-weight:900}.control-device-identity strong{display:block;color:#f1f8ff;font-size:22px}.control-device-identity div>span{display:block;margin-top:7px;color:#91abc7;font-size:14px}.control-device-stats{min-width:min(650px,58%);display:grid;grid-template-columns:repeat(3,minmax(90px,1fr)) auto;align-items:center;gap:28px}.control-device-stats>div{display:grid;justify-items:center;gap:5px;color:#8da7c2;font-size:13px}.control-device-stats>div b{color:#f0f7ff;font-size:24px;line-height:1}.control-device-stats>.status{justify-self:end;color:#21dfa0;font-size:14px;white-space:nowrap}.control-output-toolbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border-radius:7px;background:linear-gradient(90deg,#082a4bb8,#051c35b8)}.control-mode-filter{display:inline-flex;align-items:stretch;border:1px solid rgba(42,139,216,.42);border-radius:5px;overflow:hidden}.control-mode-filter button{min-width:112px;min-height:42px;padding:7px 18px;border:0;border-right:1px solid rgba(42,139,216,.42);color:#c1d6e8;background:#041a3294;font-size:13px}.control-mode-filter button:last-child{border-right:0}.control-mode-filter button b{margin-left:6px;color:#f3c324;font-size:14px}.control-mode-filter button.mode-disabled b{color:#ff5268}.control-mode-filter button.active{color:#50bfff;background:#1064b16b;box-shadow:inset 0 0 0 1px #278edf}.control-filter-fields{display:flex;align-items:center;gap:12px}.control-filter-fields select{width:150px;min-height:42px}.control-search{position:relative;display:block;width:min(320px,28vw)}.control-search svg{position:absolute;z-index:1;left:13px;top:50%;width:18px;height:18px;color:#7898b8;transform:translateY(-50%)}.control-search input{min-height:42px;padding-left:40px}.control-output-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.control-output-card{min-width:0;display:grid;grid-template-rows:auto auto auto auto auto;border:1px solid rgba(29,139,222,.62);border-radius:6px;background:linear-gradient(150deg,#082b4cc2,#04182eeb);overflow:hidden}.control-output-card:hover{border-color:#33b1ffd1;box-shadow:0 10px 25px #000f2333}.control-output-card.running{border-color:#1ed599ad}.control-output-card-head{min-height:78px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 13px 10px}.control-output-name{min-width:0;display:flex;align-items:center;gap:11px}.control-output-point{flex:0 0 54px;padding:8px 5px;border:1px solid rgba(44,159,239,.56);border-radius:5px;color:#58c4ff;background:#08447742;font-family:Consolas,Courier New,monospace;font-size:14px;font-weight:800;text-align:center}.control-output-name strong{display:block;color:#edf7ff;font-size:15px;line-height:1.3}.control-output-name small{display:block;margin-top:4px;color:#8fa9c5;font-size:10px}.control-output-state{flex:0 0 auto;display:grid;justify-items:end;gap:5px}.control-output-state>span{min-width:58px;padding:5px 9px;border:1px solid #2b6a9e;border-radius:3px;color:#b9cee2;font-size:11px;text-align:center}.control-output-state>span.running{border-color:#20d79b;color:#20d79b}.control-output-state>span.offline{border-color:#ff5368;color:#ff5368}.control-output-state small{color:#7897b5;font-size:10px;white-space:nowrap}.control-output-state small:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#ff5368;box-shadow:0 0 7px currentColor}.control-output-state small.online:before{background:#20d79b}.control-card-row{min-height:42px;display:grid;grid-template-columns:auto minmax(76px,1fr) auto;align-items:center;gap:9px;padding:8px 13px;border-top:1px solid rgba(35,108,169,.28);color:#91abc6;font-size:11px}.control-card-row>b,.control-card-row>time{justify-self:end;color:#b8cce0;font-style:normal;white-space:nowrap}.control-card-row>em{color:#7896b4;font-style:normal}.control-mode-badge{min-width:58px;padding:4px 8px;border:1px solid currentColor;border-radius:3px;color:#f4bf24!important;text-align:center}.control-mode-badge.mode-disabled{color:#ff5268!important}.control-mode-badge.mode-manual,.control-mode-badge.mode-remote{color:#f4bf24!important}.control-card-duration{grid-template-columns:auto minmax(120px,1fr)}.duration-input{justify-self:end;display:flex;align-items:center;gap:8px}.duration-input input{width:120px;min-height:34px;padding:5px 8px}.duration-input small{color:#91abc6;font-size:11px}.control-output-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 13px;border-top:1px solid rgba(35,108,169,.28)}.control-output-actions button{min-height:36px;padding:6px 10px;font-size:12px}.control-output-card button:disabled,.control-output-card input:disabled{opacity:.45;cursor:not-allowed}.control-filter-empty{grid-column:1 / -1;border:1px dashed rgba(42,139,216,.38)}.control-records{padding-top:18px;border-top:1px solid rgba(41,133,255,.18)}.bigscreen .stat-card{min-height:118px}.status{display:inline-flex;align-items:center;gap:5px;font-size:12px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.status.normal,.status.online,.status.running,.status.handled{color:var(--green)}.status.warning,.status.pending,.status.reserved{color:var(--yellow)}.status.abnormal,.status.danger,.status.offline{color:var(--red)}.badge{display:inline-block;min-width:48px;padding:3px 8px;border:1px solid currentColor;text-align:center;font-size:11px}.badge.warning{color:var(--yellow)}.badge.danger{color:var(--red)}.badge.normal{color:var(--green)}.chart{width:100%;height:360px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid rgba(23,77,121,.55);text-align:left;white-space:nowrap}th{color:#8db5cf;font-weight:500;background:#081f37cc}tbody tr:hover{background:#18517e21}.empty{padding:36px 12px;color:var(--muted);text-align:center}.hint{color:var(--muted);font-size:12px;line-height:1.7}.notice{padding:12px;border-left:3px solid var(--cyan);color:#abd0e7;background:#11466e40;font-size:13px}@media(max-width:1500px){.control-output-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.control-output-toolbar{align-items:stretch;flex-direction:column}.control-filter-fields{justify-content:flex-end}}@media(max-width:1200px){.control-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-device-head{align-items:flex-start;flex-direction:column}.control-device-stats{width:100%;min-width:0}}@media(max-width:1100px){.login-layout{grid-template-columns:1fr;max-width:720px}.login-visual{min-height:430px;padding:42px 34px 0;border-right:0;border-bottom:1px solid rgba(79,176,255,.4)}.login-brand{font-size:34px}.login-device-stage{min-height:300px}.login-device-stage img{max-height:330px}.login-form{padding:38px 0 46px}.stats-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.pond-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.login-page{padding:16px;overflow-y:auto}.login-layout{min-height:auto;border-radius:14px}.login-visual{min-height:300px;padding:28px 18px 0}.login-brand{font-size:27px}.login-device-stage{min-height:210px}.login-device-stage img{width:112%;max-height:250px}.login-wave{height:70px}.login-form{width:100%;padding:28px 20px 34px}.login-form h1{margin-bottom:24px;font-size:26px}.login-field{margin-bottom:20px}.login-input-wrap input{min-height:54px;padding-inline:50px;font-size:16px}.login-input-icon{left:18px}.login-eye-btn{right:10px}.login-form .full-btn{min-height:56px;font-size:20px}.app-layout{display:block}.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.main-shell{width:100%}.sidebar-toggle{display:inline-grid;place-items:center}.topbar{min-height:64px;padding:10px 14px;gap:9px}.page-title{font-size:16px}.top-metric,.fullscreen-btn{display:none}.alert-nav{min-width:34px;padding:0 4px;justify-content:center}.alert-nav>span:last-child{display:none}.farm-select{width:132px}.user-block{display:none}.page-content{padding:14px}.control-device-head{gap:15px}.control-device-stats{grid-template-columns:repeat(3,1fr);gap:16px}.control-device-stats>.status{grid-column:1 / -1;justify-self:start}.control-mode-filter{width:100%}.control-mode-filter button{flex:1;min-width:0;padding-inline:8px}.control-filter-fields{width:100%;align-items:stretch;flex-direction:column}.control-filter-fields select,.control-search{width:100%}.control-output-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.dashboard-stats{grid-template-columns:1fr;gap:12px}.dashboard-stats .stat-card{min-height:118px;grid-template-columns:56px minmax(0,1fr)}.dashboard-stats .stat-card:after{display:none}.stat-icon{width:54px;height:54px}.stat-icon svg{width:30px;height:30px}.panel-head{align-items:flex-start;flex-direction:column}.trend-head{align-items:center;flex-direction:row;flex-wrap:nowrap}.trend-actions{flex:1 1 auto;width:auto;overflow-x:auto}.trend-actions button{flex:1 0 auto;padding-inline:10px}.pond-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pond-quality-item:nth-child(3){border-left:0;border-top:1px solid rgba(50,123,190,.22)}.pond-quality-item:nth-child(4){border-top:1px solid rgba(50,123,190,.22)}.pond-output-grid{grid-template-columns:1fr}.trend-panel{min-height:0}.trend-panel .chart{flex:none;min-height:0;height:320px}.trend-foot{flex-direction:column;gap:6px}.stat-card{min-height:96px;padding:14px}.stat-value{font-size:24px}.toolbar-actions{width:100%;margin-left:0}.chart{height:300px}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manage-form{margin:0 0 18px;padding:14px;border:1px solid rgba(41,215,255,.22);background:#04101f61}.full-field{grid-column:1 / -1}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions .primary-btn,.actions .secondary-btn,.actions .danger-btn{min-height:30px;padding:5px 9px;font-size:12px}.check-row{display:flex;align-items:center;gap:8px;color:#b8d9ed}.check-row input{width:16px;min-height:16px}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.farm-editor-panel,.side-drawer-panel{width:100%;padding:20px}.drawer-form-grid{grid-template-columns:1fr}}
