@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@600;700&display=swap";.modal-overlay[data-v-5b50ec51]{z-index:300;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-5b50ec51]{background:#fff;border-radius:16px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-5b50ec51]{align-items:center;gap:12px;padding:20px 24px 0;display:flex}.modal-icon[data-v-5b50ec51]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.modal-icon svg[data-v-5b50ec51]{width:24px;height:24px}.modal-icon.success[data-v-5b50ec51]{color:#16a34a;background:#dcfce7}.modal-icon.error[data-v-5b50ec51]{color:#dc2626;background:#fee2e2}.modal-icon.warning[data-v-5b50ec51]{color:#d97706;background:#fef3c7}.modal-icon.info[data-v-5b50ec51]{color:#0284c7;background:#e0f2fe}.modal-header h3[data-v-5b50ec51]{color:var(--gray-900);flex:1;margin:0;font-size:18px;font-weight:600}.modal-close[data-v-5b50ec51]{background:var(--gray-100);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-5b50ec51]:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body[data-v-5b50ec51]{padding:16px 24px 24px}.modal-body p[data-v-5b50ec51]{color:var(--gray-600);margin:0;font-size:14px;line-height:1.6}.modal-footer[data-v-5b50ec51]{justify-content:flex-end;gap:12px;padding:0 24px 20px;display:flex}.btn[data-v-5b50ec51]{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary[data-v-5b50ec51]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-5b50ec51]:hover{background:var(--gray-200)}.btn-primary[data-v-5b50ec51]{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.btn-primary[data-v-5b50ec51]:hover{transform:translateY(-1px)}.btn-primary.error[data-v-5b50ec51]{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-primary.warning[data-v-5b50ec51]{background:linear-gradient(135deg,#d97706,#b45309)}.fade-enter-active[data-v-5b50ec51],.fade-leave-active[data-v-5b50ec51]{transition:opacity .2s}.fade-enter-from[data-v-5b50ec51],.fade-leave-to[data-v-5b50ec51]{opacity:0}.scale-enter-active[data-v-5b50ec51],.scale-leave-active[data-v-5b50ec51]{transition:all .2s}.scale-enter-from[data-v-5b50ec51],.scale-leave-to[data-v-5b50ec51]{opacity:0;transform:scale(.95)}.app-footer[data-v-fae8f3df]{border-top:1px solid var(--gray-200);background:var(--gray-50);padding:8px 16px 10px}.app-footer-inner[data-v-fae8f3df]{max-width:1400px;color:var(--gray-500);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin:0 auto;font-size:11px;line-height:1.4;display:flex}.app-footer-meta[data-v-fae8f3df]{white-space:nowrap}.app-footer-dot[data-v-fae8f3df]{color:var(--gray-300);-webkit-user-select:none;user-select:none}.app-footer-nav[data-v-fae8f3df]{align-items:center;gap:10px;display:inline-flex}.app-footer-nav a[data-v-fae8f3df]{color:var(--gray-500);text-decoration:none}.app-footer-nav a[data-v-fae8f3df]:hover{color:var(--primary-600)}:root{--primary-50:#f0fdf4;--primary-100:#dcfce7;--primary-200:#bbf7d0;--primary-300:#86efac;--primary-400:#4ade80;--primary-500:#22c55e;--primary-600:#16a34a;--primary-700:#15803d;--primary-800:#166534;--primary-900:#14532d;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--danger-500:#ef4444;--warning-500:#f59e0b;--info-500:#3b82f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:6px;--radius:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text-base);color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}#app{min-height:100vh}.navbar{border-bottom:1px solid var(--gray-200);height:64px;box-shadow:var(--shadow-sm);z-index:100;background:#fff;position:fixed;top:0;left:0;right:0}.nav-container{align-items:center;gap:32px;max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex}.nav-brand{flex-shrink:0}.brand-link{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-icon{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 8px #22c55e4d}.icon-leaf{color:#fff;width:22px;height:22px}.brand-text{font-size:var(--text-xl);color:var(--gray-900);letter-spacing:-.5px;font-weight:700}.nav-main{flex:1;align-items:center;gap:4px;display:flex}.nav-item{border-radius:var(--radius);color:var(--gray-600);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--gray-900);background:var(--gray-100)}.nav-item.active{color:var(--primary-700);background:var(--primary-50)}.nav-icon{width:18px;height:18px}.admin-trigger{color:var(--warning-500)}.admin-trigger:hover{color:var(--warning-500);background:#fffbeb}.nav-dropdown{position:relative}.dropdown-arrow{width:14px;height:14px;margin-left:2px;transition:transform .2s}.dropdown-arrow.rotated{transform:rotate(180deg)}.dropdown-menu{border:1px solid var(--gray-200);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-lg);z-index:101;background:#fff;margin-top:8px;padding:6px;position:absolute;top:100%;left:0}.dropdown-item{border-radius:var(--radius-sm);color:var(--gray-700);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;text-decoration:none;transition:all .15s;display:flex}.dropdown-item:hover{background:var(--gray-100);color:var(--gray-900)}.dropdown-item.logout{color:var(--danger-500)}.dropdown-item.logout:hover{background:#fef2f2}.dropdown-icon{flex-shrink:0;width:16px;height:16px}.dropdown-divider{background:var(--gray-200);height:1px;margin:6px 0}.nav-actions{flex-shrink:0}.user-menu{position:relative}.user-trigger{border-radius:var(--radius-full);background:var(--gray-100);border:1px solid var(--gray-200);cursor:pointer;align-items:center;gap:10px;padding:6px 12px 6px 6px;transition:all .2s;display:flex}.user-trigger:hover{background:var(--gray-200);border-color:var(--gray-300)}.user-avatar{background:linear-gradient(135deg, var(--primary-400), var(--primary-600));border-radius:var(--radius-full);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.avatar-icon{color:#fff;width:18px;height:18px}.user-name{font-size:var(--text-sm);color:var(--gray-700);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-weight:500;overflow:hidden}.user-menu .dropdown-menu{left:auto;right:0}.btn-login{background:var(--primary-600);color:#fff;font-size:var(--text-sm);border-radius:var(--radius);align-items:center;gap:8px;padding:10px 20px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-login:hover{background:var(--primary-700);box-shadow:0 4px 12px #22c55e66}.btn-icon{width:18px;height:18px}.main-content{min-height:100vh}.main-content.with-nav{padding-top:64px}.main-content.no-nav{max-width:none}.btn{font-size:var(--text-sm);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary-600);color:#fff}.btn-primary:hover{background:var(--primary-700);box-shadow:0 4px 12px #22c55e59}.btn-secondary{color:var(--gray-700);border:1px solid var(--gray-300);background:#fff}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-danger{background:var(--danger-500);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{font-size:var(--text-xs);padding:6px 12px}.btn-lg{font-size:var(--text-base);padding:14px 28px}.card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.card-header{border-bottom:1px solid var(--gray-100);padding:20px 24px}.card-title{font-size:var(--text-lg);color:var(--gray-900);font-weight:600}.card-body{padding:24px}@media (width<=1024px){.nav-main{display:none}.nav-container{justify-content:space-between}}@media (width<=640px){.nav-container{padding:0 16px}.brand-text,.user-name{display:none}}.header[data-v-f1ad072b]{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #22c55e1a;justify-content:space-between;align-items:center;padding:16px 48px;display:flex;position:fixed;top:0;left:0;right:0}.logo[data-v-f1ad072b]{color:var(--primary-700);align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.logo-icon[data-v-f1ad072b]{width:40px;height:40px}.nav-links[data-v-f1ad072b]{gap:32px;display:flex}.nav-links a[data-v-f1ad072b]{color:#4b5563;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a[data-v-f1ad072b]:hover{color:var(--primary-600)}.header-actions[data-v-f1ad072b]{align-items:center;gap:12px;display:flex}.btn[data-v-f1ad072b]{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary[data-v-f1ad072b]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-f1ad072b]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-outline[data-v-f1ad072b]{color:var(--primary-600);border:1.5px solid var(--primary-200);background:#fff}.btn-outline[data-v-f1ad072b]:hover{background:var(--primary-50);border-color:var(--primary-300)}.btn-dashboard[data-v-f1ad072b]{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.btn-dashboard[data-v-f1ad072b]:hover{background:var(--primary-100)}.user-dropdown[data-v-f1ad072b]{position:relative}.user-trigger[data-v-f1ad072b]{background:var(--gray-100);border:1px solid var(--gray-200);cursor:pointer;border-radius:9999px;align-items:center;gap:10px;padding:6px 12px 6px 6px;transition:all .2s;display:flex}.user-trigger[data-v-f1ad072b]:hover{background:var(--gray-200)}.user-avatar[data-v-f1ad072b]{background:linear-gradient(135deg, var(--primary-400), var(--primary-600));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.user-name[data-v-f1ad072b]{color:var(--gray-700);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:14px;font-weight:500;overflow:hidden}.dropdown-arrow[data-v-f1ad072b]{color:var(--gray-500);transition:transform .2s}.dropdown-arrow.rotated[data-v-f1ad072b]{transform:rotate(180deg)}.dropdown-menu[data-v-f1ad072b]{border:1px solid var(--gray-200);z-index:101;background:#fff;border-radius:12px;min-width:160px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000001f}.dropdown-item[data-v-f1ad072b]{color:var(--gray-700);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;text-decoration:none;transition:all .15s;display:flex}.dropdown-item[data-v-f1ad072b]:hover{background:var(--gray-100);color:var(--gray-900)}.dropdown-item.logout[data-v-f1ad072b]{color:var(--danger-500)}.dropdown-item.logout[data-v-f1ad072b]:hover{background:#fef2f2}.dropdown-divider[data-v-f1ad072b]{background:var(--gray-200);height:1px;margin:6px 0}@media (width<=1024px){.nav-links[data-v-f1ad072b]{display:none}}@media (width<=640px){.header[data-v-f1ad072b]{padding:16px 24px}.user-name[data-v-f1ad072b]{display:none}}.hero[data-v-f8477eb1]{align-items:center;gap:80px;min-height:100vh;padding:120px 48px 80px;display:flex;position:relative}.hero-bg[data-v-f8477eb1]{pointer-events:none;background:linear-gradient(#f0fdf4 0%,#dcfce7 30% 70%,#f0fdf4 100%);position:absolute;inset:0;overflow:hidden}.bg-circle[data-v-f8477eb1]{filter:blur(80px);opacity:.5;border-radius:50%;position:absolute}.bg-circle-1[data-v-f8477eb1]{background:radial-gradient(circle,#86efac 0%,#0000 70%);width:800px;height:800px;top:-300px;right:-200px}.bg-circle-2[data-v-f8477eb1]{background:radial-gradient(circle,#4ade80 0%,#0000 70%);width:600px;height:600px;bottom:-200px;left:-200px}.bg-circle-3[data-v-f8477eb1]{background:radial-gradient(circle,#22c55e 0%,#0000 70%);width:500px;height:500px;top:40%;left:25%}.hero-content[data-v-f8477eb1]{z-index:2;flex:1;position:relative}.hero-badge[data-v-f8477eb1]{color:var(--primary-700);background:#22c55e1a;border:1px solid #22c55e33;border-radius:9999px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.badge-dot[data-v-f8477eb1]{background:var(--primary-500);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-f8477eb1}@keyframes pulse-f8477eb1{0%,to{opacity:1}50%{opacity:.5}}.hero-content h1[data-v-f8477eb1]{color:#111827;margin-bottom:24px;font-family:Noto Serif SC,serif;font-size:64px;font-weight:700;line-height:1.15}.highlight[data-v-f8477eb1]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle[data-v-f8477eb1]{color:#4b5563;max-width:520px;margin-bottom:32px;font-size:20px;line-height:1.7}.hero-stats[data-v-f8477eb1]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:1px solid #fffc;border-radius:16px;align-items:center;gap:24px;margin-bottom:40px;padding:20px 28px;display:flex}.stat-item[data-v-f8477eb1]{flex-direction:column;gap:4px;display:flex}.stat-value[data-v-f8477eb1]{color:var(--primary-700);font-size:28px;font-weight:700}.stat-label[data-v-f8477eb1]{color:#6b7280;font-size:13px}.stat-divider[data-v-f8477eb1]{background:#22c55e33;width:1px;height:40px}.hero-actions[data-v-f8477eb1]{gap:16px;display:flex}.btn[data-v-f8477eb1]{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary[data-v-f8477eb1]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 16px #22c55e59}.btn-primary[data-v-f8477eb1]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #22c55e73}.btn-ghost[data-v-f8477eb1]{color:var(--primary-700);background:0 0}.btn-ghost[data-v-f8477eb1]:hover{background:#22c55e14}.btn-lg[data-v-f8477eb1]{padding:16px 32px;font-size:16px}.hero-visual[data-v-f8477eb1]{z-index:2;flex:1;justify-content:center;display:flex;position:relative}.plant-showcase[data-v-f8477eb1]{width:420px;height:420px;position:relative}.plant-glow[data-v-f8477eb1]{filter:blur(40px);background:radial-gradient(circle,#22c55e4d 0%,#0000 70%);width:300px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.plant-main[data-v-f8477eb1]{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.plant-svg[data-v-f8477eb1]{filter:drop-shadow(0 20px 40px #22c55e4d);width:200px;height:280px;animation:4s ease-in-out infinite float-f8477eb1}@keyframes float-f8477eb1{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.plant-card[data-v-f8477eb1]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:3;background:#ffffffe6;border:1px solid #fffc;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;animation:4s ease-in-out infinite float-f8477eb1;display:flex;position:absolute;box-shadow:0 8px 32px #00000014}.plant-card-1[data-v-f8477eb1]{animation-delay:.5s;top:30px;left:-20px}.plant-card-2[data-v-f8477eb1]{animation-delay:1s;top:60px;right:-30px}.plant-card-3[data-v-f8477eb1]{animation-delay:1.5s;bottom:80px;left:-40px}.card-icon[data-v-f8477eb1]{background:var(--primary-50);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.card-icon svg[data-v-f8477eb1]{width:22px;height:22px;color:var(--primary-600)}.card-content[data-v-f8477eb1]{flex-direction:column;gap:2px;display:flex}.card-label[data-v-f8477eb1]{color:#6b7280;font-size:12px}.card-value[data-v-f8477eb1]{color:#111827;font-size:18px;font-weight:700}.card-status[data-v-f8477eb1]{border-radius:9999px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600}.card-status.good[data-v-f8477eb1]{color:#15803d;background:#dcfce7}.card-status.warning[data-v-f8477eb1]{color:#b45309;background:#fef3c7}.ai-badge[data-v-f8477eb1]{z-index:4;background:#fff;border-radius:9999px;align-items:center;gap:10px;padding:12px 18px;display:flex;position:absolute;bottom:20px;right:-20px;box-shadow:0 8px 32px #22c55e40}.ai-avatar[data-v-f8477eb1]{background:linear-gradient(135deg, var(--primary-400), var(--primary-600));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ai-badge span[data-v-f8477eb1]{color:var(--primary-700);font-size:13px;font-weight:600}.ai-dots[data-v-f8477eb1]{gap:4px;display:flex}.ai-dots span[data-v-f8477eb1]{background:var(--primary-400);border-radius:50%;width:6px;height:6px;animation:1.4s infinite bounce-f8477eb1}.ai-dots span[data-v-f8477eb1]:nth-child(2){animation-delay:.2s}.ai-dots span[data-v-f8477eb1]:nth-child(3){animation-delay:.4s}@keyframes bounce-f8477eb1{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}@media (width<=1024px){.hero[data-v-f8477eb1]{text-align:center;flex-direction:column;padding:100px 24px 60px}.hero-content h1[data-v-f8477eb1]{font-size:42px}.hero-stats[data-v-f8477eb1]{justify-content:center}.subtitle[data-v-f8477eb1]{max-width:none}.hero-actions[data-v-f8477eb1]{justify-content:center}.plant-showcase[data-v-f8477eb1]{width:320px;height:320px}.plant-main[data-v-f8477eb1]{display:none}}@media (width<=640px){.hero-content h1[data-v-f8477eb1]{font-size:32px}.hero-stats[data-v-f8477eb1]{flex-direction:column;gap:16px}.stat-divider[data-v-f8477eb1]{width:60px;height:1px}}.features[data-v-e0c3c2bf]{background:#fff;padding:100px 48px}.section-header[data-v-e0c3c2bf]{text-align:center;margin-bottom:60px}.section-header h2[data-v-e0c3c2bf]{color:#111827;margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:42px;font-weight:700}.section-header p[data-v-e0c3c2bf]{color:#6b7280;font-size:18px}.features-grid[data-v-e0c3c2bf]{grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}.feature-card[data-v-e0c3c2bf]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:20px;padding:32px 28px;transition:all .3s;position:relative}.feature-card[data-v-e0c3c2bf]:hover{border-color:var(--primary-200);transform:translateY(-6px);box-shadow:0 20px 40px #00000014}.feature-card.featured[data-v-e0c3c2bf]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);color:#fff;border:none}.feature-card.featured h3[data-v-e0c3c2bf],.feature-card.featured p[data-v-e0c3c2bf]{color:#fff}.feature-badge[data-v-e0c3c2bf]{color:var(--primary-600);background:#fff;border-radius:9999px;padding:6px 16px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #22c55e33}.feature-icon[data-v-e0c3c2bf]{background:var(--primary-100);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:flex}.feature-icon svg[data-v-e0c3c2bf]{width:28px;height:28px;color:var(--primary-600)}.feature-icon.accent[data-v-e0c3c2bf]{background:#fff3}.feature-icon.accent svg[data-v-e0c3c2bf]{color:#fff}.feature-card h3[data-v-e0c3c2bf]{color:#111827;margin-bottom:12px;font-size:20px;font-weight:700}.feature-card p[data-v-e0c3c2bf]{color:#4b5563;margin-bottom:20px;font-size:14px;line-height:1.7}.feature-tags[data-v-e0c3c2bf]{flex-wrap:wrap;gap:8px;display:flex}.tag[data-v-e0c3c2bf]{color:#4b5563;background:#e5e7eb;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500}.tag.accent[data-v-e0c3c2bf]{color:#fff;background:#fff3}@media (width<=1024px){.features-grid[data-v-e0c3c2bf]{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.features[data-v-e0c3c2bf]{padding:60px 24px}.features-grid[data-v-e0c3c2bf]{grid-template-columns:1fr}.section-header h2[data-v-e0c3c2bf]{font-size:32px}}.products-section[data-v-00943d7e]{background:linear-gradient(#fff 0%,#f0fdf4 100%);padding:100px 48px}.products-section .section-header[data-v-00943d7e]{text-align:center;margin-bottom:60px}.products-section .section-header h2[data-v-00943d7e]{color:#111827;margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:42px;font-weight:700}.products-section .section-header p[data-v-00943d7e]{color:#6b7280;font-size:18px}.products-grid[data-v-00943d7e]{grid-template-columns:1.4fr 1fr 1fr;gap:28px;max-width:1200px;margin:0 auto;display:grid}.product-card[data-v-00943d7e]{background:#fff;border:1px solid #e5e7eb;border-radius:24px;transition:all .35s;position:relative;overflow:hidden}.product-card[data-v-00943d7e]:hover{border-color:var(--primary-200);transform:translateY(-8px);box-shadow:0 24px 48px #0000001a}.product-card.product-main[data-v-00943d7e]{flex-direction:column;grid-row:span 2;display:flex}.product-badge[data-v-00943d7e]{color:#92400e;z-index:2;background:#fef3c7;border:1px solid #fde68a;border-radius:9999px;padding:6px 14px;font-size:12px;font-weight:700;position:absolute;top:20px;right:20px}.product-visual[data-v-00943d7e]{background:linear-gradient(#f0fdf4 0%,#dcfce7 100%);justify-content:center;align-items:center;padding:32px;display:flex}.product-visual.small[data-v-00943d7e]{padding:24px}.product-visual .product-svg[data-v-00943d7e]{width:100%;max-width:280px;height:auto}.product-card.product-main .product-visual .product-svg[data-v-00943d7e]{max-width:260px}.product-info[data-v-00943d7e]{flex:1;padding:28px 32px 32px}.product-card.product-main .product-info[data-v-00943d7e]{padding:32px 36px 36px}.product-info h3[data-v-00943d7e]{color:#111827;margin-bottom:12px;font-size:22px;font-weight:700}.product-card.product-main .product-info h3[data-v-00943d7e]{font-size:26px}.product-desc[data-v-00943d7e]{color:#4b5563;margin-bottom:20px;font-size:14px;line-height:1.7}.product-features[data-v-00943d7e]{flex-direction:column;gap:10px;margin-bottom:24px;list-style:none;display:flex}.product-features li[data-v-00943d7e]{color:#374151;align-items:center;gap:10px;font-size:14px;display:flex}.product-features svg[data-v-00943d7e]{width:18px;height:18px;color:var(--primary-500);flex-shrink:0}.product-soon[data-v-00943d7e]{align-items:center;margin-top:4px;display:flex}.soon-tag[data-v-00943d7e]{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}@media (width<=1024px){.products-grid[data-v-00943d7e]{grid-template-columns:1fr}.product-card.product-main[data-v-00943d7e]{grid-row:span 1}}@media (width<=640px){.products-section[data-v-00943d7e]{padding:60px 24px}.products-section .section-header h2[data-v-00943d7e]{font-size:32px}}.download-section[data-v-ba57b491]{background:#fff;padding:100px 48px}.section-header[data-v-ba57b491]{text-align:center;margin-bottom:60px}.section-header h2[data-v-ba57b491]{color:#111827;margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:42px;font-weight:700}.section-header p[data-v-ba57b491]{color:#6b7280;font-size:18px}.download-grid[data-v-ba57b491]{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}.download-card[data-v-ba57b491]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:20px;flex-direction:column;padding:28px;transition:all .3s;display:flex}.download-card[data-v-ba57b491]:hover{border-color:var(--primary-200);transform:translateY(-4px);box-shadow:0 16px 32px #00000014}.download-card.web-management[data-v-ba57b491]{border-color:var(--primary-200);background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);flex-direction:row;grid-column:span 3;align-items:center}.card-icon[data-v-ba57b491]{width:72px;height:72px;margin-bottom:20px}.card-icon.large[data-v-ba57b491]{flex-shrink:0;width:100px;height:100px}.card-icon svg[data-v-ba57b491]{width:100%;height:100%}.card-content[data-v-ba57b491]{flex:1;margin-bottom:20px}.card-content h3[data-v-ba57b491]{color:#111827;margin-bottom:8px;font-size:20px;font-weight:700}.card-content p[data-v-ba57b491]{color:#4b5563;margin-bottom:12px;font-size:14px;line-height:1.6}.release-notes[data-v-ba57b491]{color:#6b7280;white-space:pre-wrap;font-size:13px}.card-meta[data-v-ba57b491]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.card-meta .version[data-v-ba57b491]{color:var(--primary-600);background:var(--primary-50);border-radius:4px;padding:3px 10px;font-size:12px;font-weight:600}.card-meta .size[data-v-ba57b491]{color:#9ca3af;font-size:12px}.card-meta .tag[data-v-ba57b491]{color:var(--primary-700);border:1px solid var(--primary-200);background:#ffffffb3;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:500}.card-actions[data-v-ba57b491]{flex-direction:column;gap:10px;display:flex}.btn[data-v-ba57b491]{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-download[data-v-ba57b491]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-download[data-v-ba57b491]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-qr[data-v-ba57b491]{color:var(--primary-600);border:1.5px solid var(--primary-200);background:#fff}.btn-qr[data-v-ba57b491]:hover{background:var(--primary-50);border-color:var(--primary-300)}.btn-primary[data-v-ba57b491]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-ba57b491]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.web-hint[data-v-ba57b491]{color:#6b7280;text-align:center;font-size:12px}.qr-overlay[data-v-ba57b491]{z-index:10000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qr-panel[data-v-ba57b491]{text-align:center;background:#fff;border-radius:16px;max-width:320px;padding:24px 28px;box-shadow:0 25px 50px #00000026}.qr-panel h4[data-v-ba57b491]{color:#111827;margin:0 0 8px;font-size:17px}.qr-hint[data-v-ba57b491]{color:#6b7280;margin:0 0 16px;font-size:13px}.qr-img[data-v-ba57b491]{border-radius:8px;margin:0 auto 16px;display:block}.btn-close[data-v-ba57b491]{color:#374151;background:#f3f4f6}.btn-close[data-v-ba57b491]:hover{background:#e5e7eb}@media (width<=1024px){.download-grid[data-v-ba57b491]{grid-template-columns:repeat(2,1fr)}.download-card.web-management[data-v-ba57b491]{text-align:center;flex-direction:column;grid-column:span 2}.card-actions[data-v-ba57b491]{width:100%}}@media (width<=640px){.download-section[data-v-ba57b491]{padding:60px 24px}.download-grid[data-v-ba57b491]{grid-template-columns:1fr}.download-card.web-management[data-v-ba57b491]{grid-column:span 1}.section-header h2[data-v-ba57b491]{font-size:32px}}.stats-section[data-v-fbd024d8]{padding:100px 48px;position:relative;overflow:hidden}.stats-bg[data-v-fbd024d8]{background:linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 100%);position:absolute;inset:0}.stats-content[data-v-fbd024d8]{align-items:center;gap:80px;max-width:1200px;margin:0 auto;display:flex;position:relative}.stats-text[data-v-fbd024d8]{color:#fff;flex:1}.stats-text h2[data-v-fbd024d8]{margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:40px;font-weight:700}.stats-text p[data-v-fbd024d8]{opacity:.9;font-size:17px;line-height:1.7}.stats-grid[data-v-fbd024d8]{flex:1.2;grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.stats-card[data-v-fbd024d8]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;padding:28px;transition:all .3s}.stats-card[data-v-fbd024d8]:hover{background:#ffffff26;transform:translateY(-4px)}.stats-icon[data-v-fbd024d8]{background:#ffffff26;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.stats-icon svg[data-v-fbd024d8]{color:#fff;width:24px;height:24px}.stats-value[data-v-fbd024d8]{color:#fff;margin-bottom:4px;font-size:36px;font-weight:700}.stats-label[data-v-fbd024d8]{color:#ffffffbf;font-size:14px}@media (width<=1024px){.stats-content[data-v-fbd024d8]{flex-direction:column;gap:48px}}@media (width<=640px){.stats-section[data-v-fbd024d8]{padding:60px 24px}.stats-text h2[data-v-fbd024d8]{font-size:32px}.stats-grid[data-v-fbd024d8]{grid-template-columns:1fr}}.agent-section[data-v-70f93936]{background:#f0fdf4;padding:100px 48px}.agent-content[data-v-70f93936]{align-items:center;gap:80px;max-width:1200px;margin:0 auto;display:flex}.agent-visual[data-v-70f93936]{flex:1;position:relative}.agent-avatar[data-v-70f93936]{width:120px;margin:0 auto 40px;position:relative}.avatar-ring[data-v-70f93936]{border:2px solid var(--primary-300);border-radius:50%;animation:8s linear infinite rotate-70f93936;position:absolute;inset:-10px}@keyframes rotate-70f93936{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-ring[data-v-70f93936]:before{content:"";background:var(--primary-500);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.avatar-core svg[data-v-70f93936]{width:120px;height:120px}.agent-messages[data-v-70f93936]{flex-direction:column;gap:16px;max-width:360px;margin:0 auto;display:flex}.message[data-v-70f93936]{flex-direction:column;gap:6px;display:flex}.message-left[data-v-70f93936]{align-items:flex-start}.message-right[data-v-70f93936]{align-items:flex-end}.message-bubble[data-v-70f93936]{border-radius:16px;max-width:280px;padding:14px 18px;font-size:14px;line-height:1.6}.message-left .message-bubble[data-v-70f93936]{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.message-right .message-bubble[data-v-70f93936]{background:var(--primary-500);color:#fff;border-bottom-right-radius:4px}.message-time[data-v-70f93936]{color:#9ca3af;font-size:11px}.agent-text[data-v-70f93936]{flex:1}.section-tag[data-v-70f93936]{background:var(--primary-100);color:var(--primary-700);border-radius:9999px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.section-tag svg[data-v-70f93936]{width:16px;height:16px}.agent-text h2[data-v-70f93936]{color:#111827;margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:42px;font-weight:700}.agent-text>p[data-v-70f93936]{color:#4b5563;margin-bottom:28px;font-size:17px;line-height:1.7}.agent-features[data-v-70f93936]{flex-direction:column;gap:16px;margin-bottom:36px;list-style:none;display:flex}.agent-features li[data-v-70f93936]{color:#374151;align-items:center;gap:14px;font-size:16px;display:flex}.agent-features svg[data-v-70f93936]{width:22px;height:22px;color:var(--primary-500);flex-shrink:0}.btn[data-v-70f93936]{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary[data-v-70f93936]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 16px #22c55e59}.btn-primary[data-v-70f93936]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #22c55e73}.btn-lg[data-v-70f93936]{padding:16px 32px;font-size:16px}@media (width<=1024px){.agent-content[data-v-70f93936]{flex-direction:column;gap:48px}}@media (width<=640px){.agent-section[data-v-70f93936]{padding:60px 24px}.agent-text h2[data-v-70f93936]{font-size:32px}}.cta-section[data-v-f2ef2384]{background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);text-align:center;padding:100px 48px}.cta-content[data-v-f2ef2384]{max-width:640px;margin:0 auto}.cta-content h2[data-v-f2ef2384]{color:#fff;margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:40px;font-weight:700}.cta-content p[data-v-f2ef2384]{color:#ffffffe6;margin-bottom:36px;font-size:18px}.cta-actions[data-v-f2ef2384]{justify-content:center;gap:16px;display:flex}.btn[data-v-f2ef2384]{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-white[data-v-f2ef2384]{color:var(--primary-700);background:#fff;font-weight:700}.btn-white[data-v-f2ef2384]:hover{background:#f0fdf4;transform:translateY(-2px)}.btn-ghost-white[data-v-f2ef2384]{color:#fff;background:0 0;border:2px solid #fff6}.btn-ghost-white[data-v-f2ef2384]:hover{background:#ffffff1a;border-color:#fff9}.btn-lg[data-v-f2ef2384]{padding:16px 32px;font-size:16px}@media (width<=640px){.cta-section[data-v-f2ef2384]{padding:60px 24px}.cta-content h2[data-v-f2ef2384]{font-size:32px}.cta-actions[data-v-f2ef2384]{flex-direction:column}}.footer[data-v-d8d5cb2d]{color:#fff;background:#111827;padding:60px 48px}.footer-content[data-v-d8d5cb2d]{text-align:center;max-width:1200px;margin:0 auto}.footer-brand[data-v-d8d5cb2d]{color:#fff;align-items:center;gap:12px;margin-bottom:12px;font-size:20px;font-weight:700;display:inline-flex}.footer-logo[data-v-d8d5cb2d]{width:36px;height:36px}.footer-tagline[data-v-d8d5cb2d]{color:#9ca3af;margin-bottom:24px;font-size:14px}.footer-copy[data-v-d8d5cb2d]{color:#6b7280;font-size:13px}@media (width<=640px){.footer[data-v-d8d5cb2d]{padding:60px 24px}}:root{--primary-50:#f0fdf4;--primary-100:#dcfce7;--primary-200:#bbf7d0;--primary-300:#86efac;--primary-400:#4ade80;--primary-500:#22c55e;--primary-600:#16a34a;--primary-700:#15803d;--primary-800:#166534;--primary-900:#14532d}.landing{color:#1f2937;background:linear-gradient(#f0fdf4 0%,#dcfce7 30% 70%,#f0fdf4 100%);min-height:100vh;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.dashboard[data-v-c567ae2c]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-c567ae2c]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title[data-v-c567ae2c]{font-size:var(--text-2xl);color:var(--gray-900);align-items:center;gap:12px;font-weight:700;display:flex}.title-icon[data-v-c567ae2c]{width:32px;height:32px;color:var(--primary-600)}.page-subtitle[data-v-c567ae2c]{font-size:var(--text-base);color:var(--gray-500);margin-top:4px}.header-actions[data-v-c567ae2c]{gap:12px;display:flex}.summary-strip[data-v-c567ae2c]{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-item[data-v-c567ae2c]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:16px;padding:18px 20px;display:flex}.summary-icon-wrap[data-v-c567ae2c]{border-radius:var(--radius-md);background:var(--primary-50);width:48px;height:48px;color:var(--primary-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-icon-wrap.online[data-v-c567ae2c]{color:#059669;background:#ecfdf5}.summary-icon-wrap.alert[data-v-c567ae2c]{color:#d97706;background:#fffbeb}.summary-icon[data-v-c567ae2c]{width:24px;height:24px}.summary-text[data-v-c567ae2c]{flex-direction:column;gap:2px;min-width:0;display:flex}.summary-value[data-v-c567ae2c]{font-size:var(--text-xl);color:var(--gray-900);font-weight:700;line-height:1.2}.summary-label[data-v-c567ae2c]{font-size:var(--text-sm);color:var(--gray-500)}.dashboard-grid[data-v-c567ae2c]{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.dashboard-card[data-v-c567ae2c]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.card-header[data-v-c567ae2c]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-title[data-v-c567ae2c]{font-size:var(--text-base);color:var(--gray-900);align-items:center;gap:10px;font-weight:600;display:flex}.card-title-icon[data-v-c567ae2c]{width:20px;height:20px;color:var(--primary-600)}.card-link[data-v-c567ae2c]{font-size:var(--text-sm);color:var(--primary-600);align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.card-link[data-v-c567ae2c]:hover{color:var(--primary-700)}.link-icon[data-v-c567ae2c]{width:16px;height:16px}.card-body[data-v-c567ae2c]{min-height:200px;padding:20px 24px}.device-list[data-v-c567ae2c]{flex-direction:column;gap:12px;display:flex}.device-item[data-v-c567ae2c]{background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-100);align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.device-item[data-v-c567ae2c]:hover{background:var(--gray-100);border-color:var(--gray-200)}.device-status-dot[data-v-c567ae2c]{border-radius:var(--radius-full);background:var(--gray-300);flex-shrink:0;width:10px;height:10px}.device-status-dot.online[data-v-c567ae2c]{background:var(--primary-500);box-shadow:0 0 0 3px #22c55e33}.device-info[data-v-c567ae2c]{flex:1;min-width:0}.device-name[data-v-c567ae2c]{color:var(--gray-900);font-weight:600;font-size:var(--text-sm);margin-bottom:2px}.device-meta[data-v-c567ae2c]{font-size:var(--text-xs);color:var(--gray-500)}.device-plant[data-v-c567ae2c]{color:var(--primary-600);font-weight:500}.device-offline[data-v-c567ae2c]{color:var(--gray-400)}.device-sensors[data-v-c567ae2c]{flex-shrink:0}.sensor-mini[data-v-c567ae2c]{font-size:var(--text-xs);color:var(--primary-600);background:var(--primary-50);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 8px;font-weight:500;display:flex}.mini-icon[data-v-c567ae2c]{width:12px;height:12px}.alert-list[data-v-c567ae2c]{flex-direction:column;gap:10px;display:flex}.alert-item[data-v-c567ae2c]{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.alert-item.critical[data-v-c567ae2c]{background:#fef2f2;border-color:#fecaca}.alert-item.warning[data-v-c567ae2c]{background:#fffbeb;border-color:#fcd34d}.alert-item.info[data-v-c567ae2c]{background:#eff6ff;border-color:#bfdbfe}.alert-icon[data-v-c567ae2c]{flex-shrink:0;width:18px;height:18px}.alert-item.critical .alert-icon[data-v-c567ae2c]{color:#dc2626}.alert-item.warning .alert-icon[data-v-c567ae2c]{color:#d97706}.alert-item.info .alert-icon[data-v-c567ae2c]{color:#2563eb}.alert-content[data-v-c567ae2c]{flex:1;min-width:0}.alert-message[data-v-c567ae2c]{font-size:var(--text-sm);color:var(--gray-800);margin-bottom:4px;line-height:1.4}.alert-time[data-v-c567ae2c]{font-size:var(--text-xs);color:var(--gray-500)}.empty-state[data-v-c567ae2c]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-icon[data-v-c567ae2c]{background:var(--gray-100);border-radius:var(--radius-full);width:56px;height:56px;color:var(--gray-400);justify-content:center;align-items:center;margin-bottom:16px;display:flex}.empty-icon.success[data-v-c567ae2c]{color:var(--primary-600);background:#dcfce7}.empty-icon svg[data-v-c567ae2c]{width:28px;height:28px}.empty-state p[data-v-c567ae2c]{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:16px}.loading-state[data-v-c567ae2c]{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.spinner[data-v-c567ae2c]{border:3px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:var(--radius-full);width:32px;height:32px;animation:1s linear infinite spin-c567ae2c}@keyframes spin-c567ae2c{to{transform:rotate(360deg)}}.loading-state span[data-v-c567ae2c]{font-size:var(--text-sm);color:var(--gray-500)}.tips-section[data-v-c567ae2c]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:24px;padding:22px 24px 26px}.tips-heading[data-v-c567ae2c]{font-size:var(--text-base);color:var(--gray-900);align-items:center;gap:10px;margin:0 0 14px;font-weight:600;display:flex}.tips-heading-icon[data-v-c567ae2c]{width:20px;height:20px;color:var(--primary-600);flex-shrink:0}.tips-list[data-v-c567ae2c]{color:var(--gray-600);font-size:var(--text-sm);margin:0;padding-left:1.25rem;line-height:1.65}.tips-list li+li[data-v-c567ae2c]{margin-top:.65rem}@media (width<=900px){.summary-strip[data-v-c567ae2c]{grid-template-columns:1fr}}@media (width<=768px){.dashboard[data-v-c567ae2c]{padding:16px}.page-header[data-v-c567ae2c]{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-grid[data-v-c567ae2c]{grid-template-columns:1fr}}.pots[data-v-34eb67ee]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-34eb67ee]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1[data-v-34eb67ee]{font-size:var(--text-2xl);color:var(--gray-900);font-weight:700}.header-actions[data-v-34eb67ee]{align-items:center;gap:16px;display:flex}.view-toggle[data-v-34eb67ee]{background:var(--gray-100);border-radius:var(--radius);padding:4px;display:flex}.toggle-btn[data-v-34eb67ee]{width:36px;height:36px;color:var(--gray-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.toggle-btn[data-v-34eb67ee]:hover{color:var(--gray-700)}.toggle-btn.active[data-v-34eb67ee]{color:var(--primary-600);box-shadow:var(--shadow-sm);background:#fff}.toggle-icon[data-v-34eb67ee]{width:18px;height:18px}.btn[data-v-34eb67ee]{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-34eb67ee]{width:18px;height:18px}.btn-primary[data-v-34eb67ee]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-34eb67ee]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-34eb67ee]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-34eb67ee]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-34eb67ee]:hover{background:var(--gray-200)}.btn-danger[data-v-34eb67ee]{color:#dc2626;background:#fef2f2;padding:10px 14px}.btn-danger[data-v-34eb67ee]:hover{background:#fee2e2}.btn-water[data-v-34eb67ee]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.btn-water[data-v-34eb67ee]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.btn-water.needs-water[data-v-34eb67ee]{background:linear-gradient(135deg,#ef4444,#dc2626);animation:2s infinite pulse-34eb67ee;box-shadow:0 4px 12px #ef44444d}@keyframes pulse-34eb67ee{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.btn-water[data-v-34eb67ee]:disabled{opacity:.7;cursor:not-allowed}.spin[data-v-34eb67ee]{animation:1s linear infinite spin-34eb67ee}@keyframes spin-34eb67ee{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-activate-banner[data-v-34eb67ee]{border-radius:var(--radius-lg);background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;display:flex}.user-activate-title[data-v-34eb67ee]{color:var(--gray-900);margin:0 0 8px;font-size:17px;font-weight:600}.user-activate-desc[data-v-34eb67ee]{color:var(--gray-600);max-width:720px;margin:0;font-size:14px;line-height:1.6}.user-activate-btn[data-v-34eb67ee]{flex-shrink:0;text-decoration:none}.inline-link[data-v-34eb67ee]{color:var(--primary-600);text-underline-offset:2px;font-weight:600;text-decoration:underline}.available-section[data-v-34eb67ee]{margin-top:32px;margin-bottom:24px}.section-title[data-v-34eb67ee]{color:var(--gray-800);align-items:center;gap:8px;margin-bottom:8px;font-size:18px;font-weight:600;display:flex}.section-icon[data-v-34eb67ee]{color:#22c55e;width:20px;height:20px}.section-desc[data-v-34eb67ee]{color:var(--gray-500);margin-bottom:16px;font-size:14px}.available-list[data-v-34eb67ee]{flex-direction:column;gap:12px;display:flex}.available-card[data-v-34eb67ee]{background:#fff;border:1px solid #dcfce7;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000d}.available-info[data-v-34eb67ee]{align-items:center;gap:14px;display:flex}.available-icon[data-v-34eb67ee]{color:#22c55e;background:#f0fdf4;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.available-id[data-v-34eb67ee]{color:var(--gray-800);font-family:monospace;font-size:15px;font-weight:600}.available-status[data-v-34eb67ee]{color:var(--gray-500);align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.status-dot[data-v-34eb67ee]{border-radius:50%;width:8px;height:8px}.status-dot.online[data-v-34eb67ee]{background:#22c55e;box-shadow:0 0 6px #22c55e80}.btn-sm[data-v-34eb67ee]{padding:8px 16px;font-size:13px}.pots-grid[data-v-34eb67ee]{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;display:grid}.pot-card[data-v-34eb67ee]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:24px;transition:all .2s}.pot-card[data-v-34eb67ee]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pot-header[data-v-34eb67ee]{align-items:center;gap:16px;margin-bottom:20px;display:flex}.pot-icon[data-v-34eb67ee]{background:linear-gradient(135deg, var(--primary-100), var(--primary-200));border-radius:var(--radius-md);justify-content:center;align-items:center;width:56px;height:56px;display:flex}.pot-icon-svg[data-v-34eb67ee]{width:28px;height:28px;color:var(--primary-600)}.pot-info[data-v-34eb67ee]{flex:1}.pot-info h3[data-v-34eb67ee]{color:var(--gray-900);margin:0;font-size:18px;font-weight:600}.pot-device-id[data-v-34eb67ee]{color:var(--gray-400);margin:4px 0 0;font-family:monospace;font-size:12px}.status-badge[data-v-34eb67ee]{border-radius:var(--radius-full);padding:6px 12px;font-size:12px;font-weight:600}.status-badge.online[data-v-34eb67ee]{color:#16a34a;background:#dcfce7}.status-badge.offline[data-v-34eb67ee]{background:var(--gray-100);color:var(--gray-500)}.pot-header-badges[data-v-34eb67ee]{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.care-mode-badge[data-v-34eb67ee]{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.care-mode-badge--table[data-v-34eb67ee]{padding:4px 10px;font-size:11px}.care-mode-icon[data-v-34eb67ee]{flex-shrink:0;width:14px;height:14px}.care-mode--manual[data-v-34eb67ee]{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200)}.care-mode--semi[data-v-34eb67ee]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.care-mode--auto[data-v-34eb67ee]{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.device-type-badge[data-v-34eb67ee]{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.device-type-badge--table[data-v-34eb67ee]{padding:4px 8px;font-size:10px}.device-type-icon[data-v-34eb67ee]{flex-shrink:0;width:13px;height:13px}.device-type--pot[data-v-34eb67ee]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.device-type--terminal[data-v-34eb67ee]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.device-type--gateway[data-v-34eb67ee]{color:#7c3aed;background:#faf5ff;border-color:#ddd6fe}.form-select[data-v-34eb67ee]{appearance:auto;cursor:pointer}.available-id-row[data-v-34eb67ee]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bind-type-readonly[data-v-34eb67ee]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.bind-type-readonly .form-hint[data-v-34eb67ee]{margin:0}.sensor-grid[data-v-34eb67ee]{background:var(--gray-50);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;display:grid}.pots-card-modbus[data-v-34eb67ee]{grid-template-columns:repeat(2,1fr)}@media (width>=480px){.pots-card-modbus[data-v-34eb67ee]{grid-template-columns:repeat(4,1fr)}}.card-modbus-snippet[data-v-34eb67ee]{color:var(--gray-600);margin:-8px 0 16px;padding:0 4px;font-size:12px;line-height:1.4}.cell-modbus-ecph[data-v-34eb67ee]{color:var(--gray-600);max-width:140px;font-size:12px}.sensor-item[data-v-34eb67ee]{text-align:center;border-radius:var(--radius);border:1px solid var(--gray-100);background:#fff;padding:12px 8px}.sensor-item.warning[data-v-34eb67ee]{background:#fef2f2;border-color:#fecaca}.sensor-item.warning .sensor-value[data-v-34eb67ee]{color:#dc2626}.sensor-icon[data-v-34eb67ee]{width:20px;height:20px;color:var(--gray-400);margin:0 auto 6px}.sensor-value[data-v-34eb67ee]{color:var(--gray-900);margin-bottom:4px;font-size:18px;font-weight:700;line-height:1}.sensor-label[data-v-34eb67ee]{color:var(--gray-500);font-size:11px}.pot-details[data-v-34eb67ee]{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.detail-item[data-v-34eb67ee]{color:var(--gray-600);align-items:center;gap:10px;font-size:14px;display:flex}.detail-icon[data-v-34eb67ee]{width:16px;height:16px;color:var(--gray-400)}.last-irrigation[data-v-34eb67ee]{border-radius:var(--radius);background:#eff6ff;margin-bottom:16px;padding:10px 14px}.log-header[data-v-34eb67ee]{color:#2563eb;align-items:center;gap:8px;font-size:13px;display:flex}.log-icon[data-v-34eb67ee]{width:14px;height:14px}.pot-actions[data-v-34eb67ee]{flex-wrap:wrap;gap:10px;display:flex}.btn-qr[data-v-34eb67ee]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.btn-qr[data-v-34eb67ee]:hover{background:#dcfce7}.qr-modal .modal-container[data-v-34eb67ee]{max-width:420px}.qr-body[data-v-34eb67ee]{text-align:center;align-items:center}.qr-hint[data-v-34eb67ee]{color:var(--gray-600);word-break:break-all;margin-bottom:16px;font-size:13px}.qr-hint code[data-v-34eb67ee]{background:var(--gray-100);border-radius:4px;padding:2px 6px;font-size:12px}.qr-wrap[data-v-34eb67ee]{justify-content:center;align-items:center;min-height:240px;margin-bottom:16px;display:flex}.qr-img[data-v-34eb67ee]{width:240px;height:240px;display:block}.qr-loader[data-v-34eb67ee]{width:40px;height:40px;color:var(--primary-600)}.qr-link-label[data-v-34eb67ee]{color:var(--gray-500);text-align:left;width:100%;margin-bottom:8px;font-size:12px}.qr-url-input[data-v-34eb67ee]{text-align:left;font-size:12px}.empty[data-v-34eb67ee]{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--gray-200);background:#fff;grid-column:1/-1;padding:60px 20px}.empty-icon[data-v-34eb67ee]{background:var(--gray-100);border-radius:var(--radius-full);width:64px;height:64px;color:var(--gray-400);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.empty-icon svg[data-v-34eb67ee]{width:32px;height:32px}.empty p[data-v-34eb67ee]{color:var(--gray-500);font-size:14px}.pots-table-wrap[data-v-34eb67ee]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.pots-table[data-v-34eb67ee]{border-collapse:collapse;width:100%}.pots-table th[data-v-34eb67ee],.pots-table td[data-v-34eb67ee]{text-align:left;border-bottom:1px solid var(--gray-100);padding:14px 16px}.pots-table th[data-v-34eb67ee]{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;font-size:13px;font-weight:600}.pots-table td[data-v-34eb67ee]{color:var(--gray-700);font-size:14px}.pots-table tbody tr[data-v-34eb67ee]:hover{background:var(--gray-50)}.pots-table tbody tr:last-child td[data-v-34eb67ee]{border-bottom:none}.table-name[data-v-34eb67ee]{align-items:center;gap:10px;display:flex}.table-icon[data-v-34eb67ee]{width:20px;height:20px;color:var(--primary-600)}.table-id[data-v-34eb67ee]{color:var(--gray-500);font-family:monospace;font-size:12px}.table-actions[data-v-34eb67ee]{gap:8px;display:flex}.btn-action[data-v-34eb67ee]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.btn-action.water[data-v-34eb67ee]{color:#1976d2;background:#e3f2fd}.btn-action.water[data-v-34eb67ee]:hover:not(:disabled){background:#bbdefb}.btn-action.water[data-v-34eb67ee]:disabled{opacity:.5;cursor:not-allowed}.btn-action.view[data-v-34eb67ee]{color:#2e7d32;background:#e8f5e9}.btn-action.view[data-v-34eb67ee]:hover{background:#c8e6c9}.btn-action.delete[data-v-34eb67ee]{color:#dc2626;background:#fef2f2}.btn-action.delete[data-v-34eb67ee]:hover{background:#fee2e2}.action-icon[data-v-34eb67ee]{width:16px;height:16px}.empty-table[data-v-34eb67ee]{text-align:center;color:var(--gray-400);padding:40px 16px!important}td.warning[data-v-34eb67ee]{color:#dc2626;font-weight:600}.pagination[data-v-34eb67ee]{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:14px 18px;display:flex}.page-summary[data-v-34eb67ee]{color:var(--gray-600);font-size:13px}.pagination-controls[data-v-34eb67ee]{align-items:center;gap:8px;display:flex}.page-btn[data-v-34eb67ee]{border:1px solid var(--gray-300);border-radius:var(--radius);width:36px;height:36px;color:var(--gray-600);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:all .2s;display:flex}.page-btn[data-v-34eb67ee]:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.page-btn[data-v-34eb67ee]:disabled{opacity:.5;cursor:not-allowed}.page-icon[data-v-34eb67ee]{width:16px;height:16px}.page-numbers[data-v-34eb67ee]{gap:4px;display:flex}.page-num[data-v-34eb67ee]{border:1px solid var(--gray-300);border-radius:var(--radius);min-width:36px;height:36px;color:var(--gray-600);cursor:pointer;background:#fff;padding:0 8px;font-size:14px;transition:all .2s}.page-num[data-v-34eb67ee]:hover:not(.active){background:var(--gray-100)}.page-num.active[data-v-34eb67ee]{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.modal-overlay[data-v-34eb67ee]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-container[data-v-34eb67ee]{border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);background:#fff;overflow:hidden}.modal-header[data-v-34eb67ee]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:flex-start;padding:24px;display:flex}.modal-title[data-v-34eb67ee]{align-items:center;gap:16px;display:flex}.modal-icon[data-v-34eb67ee]{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.modal-icon svg[data-v-34eb67ee]{width:24px;height:24px}.modal-title-text h3[data-v-34eb67ee]{color:var(--gray-900);margin:0;font-size:18px;font-weight:600}.modal-title-text p[data-v-34eb67ee]{color:var(--gray-500);margin:4px 0 0;font-size:14px}.modal-close[data-v-34eb67ee]{background:var(--gray-100);border-radius:var(--radius);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-34eb67ee]:hover{background:var(--gray-200);color:var(--gray-700)}.modal-close svg[data-v-34eb67ee]{width:18px;height:18px}.modal-body[data-v-34eb67ee]{flex-direction:column;gap:20px;padding:24px;display:flex}.form-group[data-v-34eb67ee]{flex-direction:column;gap:8px;display:flex}.form-label[data-v-34eb67ee]{color:var(--gray-700);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.label-icon[data-v-34eb67ee]{width:16px;height:16px;color:var(--gray-400)}.form-input[data-v-34eb67ee]{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);background:#fff;padding:12px 16px;font-size:15px;transition:all .2s}.form-input[data-v-34eb67ee]::placeholder{color:var(--gray-400)}.form-input[data-v-34eb67ee]:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1a}.form-hint[data-v-34eb67ee]{color:var(--gray-400);margin-top:4px;font-size:12px}.modal-footer[data-v-34eb67ee]{background:var(--gray-50);border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.modal-icon--bind[data-v-34eb67ee]{background:linear-gradient(135deg, #0d9488, var(--primary-600))}.bind-device-id[data-v-34eb67ee]{background:var(--gray-100);color:var(--gray-800);border-radius:6px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:.9em;display:inline}.fade-enter-active[data-v-34eb67ee],.fade-leave-active[data-v-34eb67ee]{transition:opacity .2s}.fade-enter-from[data-v-34eb67ee],.fade-leave-to[data-v-34eb67ee]{opacity:0}.scale-enter-active[data-v-34eb67ee],.scale-leave-active[data-v-34eb67ee]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.scale-enter-from[data-v-34eb67ee],.scale-leave-to[data-v-34eb67ee]{opacity:0;transform:scale(.95)translateY(10px)}@media (width<=640px){.pots[data-v-34eb67ee]{padding:16px}.pots-list[data-v-34eb67ee]{grid-template-columns:1fr}.sensor-grid[data-v-34eb67ee]{grid-template-columns:repeat(2,1fr)}.modal-container[data-v-34eb67ee]{width:100%;max-width:none}}.plants[data-v-81ea2796]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-81ea2796]{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-intro h1[data-v-81ea2796]{font-size:var(--text-2xl);color:var(--gray-900);margin:0 0 8px;font-weight:700}.page-desc[data-v-81ea2796]{max-width:640px;font-size:var(--text-sm);color:var(--gray-600);margin:0;line-height:1.55}.header-actions[data-v-81ea2796]{flex-shrink:0;align-items:center;gap:16px;display:flex}.view-toggle[data-v-81ea2796]{background:var(--gray-100);border-radius:var(--radius);padding:4px;display:flex}.toggle-btn[data-v-81ea2796]{width:36px;height:36px;color:var(--gray-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.toggle-btn[data-v-81ea2796]:hover{color:var(--gray-700)}.toggle-btn.active[data-v-81ea2796]{color:var(--primary-600);box-shadow:var(--shadow-sm);background:#fff}.toggle-icon[data-v-81ea2796]{width:18px;height:18px}.plants-grid[data-v-81ea2796]{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;display:grid}.plant-card[data-v-81ea2796]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:24px;transition:all .2s}.plant-card[data-v-81ea2796]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.plant-header[data-v-81ea2796]{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.plant-thumb[data-v-81ea2796]{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary-100), var(--primary-200));flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.plant-thumb-img[data-v-81ea2796]{object-fit:cover;width:100%;height:100%;display:block}.plant-thumb-icon[data-v-81ea2796]{width:28px;height:28px;color:var(--primary-600)}.plant-info[data-v-81ea2796]{flex:1;min-width:0}.plant-info h3[data-v-81ea2796]{color:var(--gray-900);margin:0;font-size:18px;font-weight:600;line-height:1.25}.plant-title-meta[data-v-81ea2796]{flex-direction:column;gap:6px;margin-top:8px;display:flex}.title-meta-row[data-v-81ea2796]{color:var(--gray-700);align-items:flex-start;gap:6px;font-size:13px;line-height:1.4;display:flex}.title-meta-row--tags[data-v-81ea2796]{align-items:center}.title-meta-ic[data-v-81ea2796]{width:14px;height:14px;color:var(--gray-400);flex-shrink:0;margin-top:2px}.title-meta-row--tags .title-meta-ic[data-v-81ea2796]{margin-top:0}.title-meta-label[data-v-81ea2796]{color:var(--gray-500);flex-shrink:0;font-size:12px;font-weight:600}.title-meta-value[data-v-81ea2796]{word-break:break-word;flex:1;min-width:0}.tag-inline-wrap--title[data-v-81ea2796]{flex:1;min-width:0}.plant-scientific-line[data-v-81ea2796]{color:var(--gray-500);margin:8px 0 0;font-size:13px;font-style:italic}.plant-tags[data-v-81ea2796]{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tag[data-v-81ea2796]{border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-800);padding:3px 10px;font-size:12px;font-weight:500}.plant-details[data-v-81ea2796]{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.tag-inline-wrap[data-v-81ea2796]{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.meta-dash[data-v-81ea2796],.td-muted[data-v-81ea2796]{color:var(--gray-400);font-size:13px}.td-muted--inline[data-v-81ea2796]{font-size:12px}.scene-pill[data-v-81ea2796]{border-radius:var(--radius-full);color:#b45309;background:#fffbeb;border:1px solid #fcd34d;padding:2px 8px;font-size:11px;font-weight:500}.plant-details .detail-item[data-v-81ea2796]{color:var(--gray-600);align-items:flex-start;gap:10px;font-size:14px;display:flex}.plant-details .detail-icon[data-v-81ea2796]{width:16px;height:16px;color:var(--gray-400);flex-shrink:0;margin-top:2px}.detail-excerpt[data-v-81ea2796]{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.plant-actions[data-v-81ea2796]{flex-wrap:wrap;gap:10px;display:flex}.plants-table-wrap[data-v-81ea2796]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.plants-table[data-v-81ea2796]{border-collapse:collapse;width:100%}.plants-table th[data-v-81ea2796],.plants-table td[data-v-81ea2796]{text-align:left;border-bottom:1px solid var(--gray-100);padding:14px 16px}.plants-table th[data-v-81ea2796]{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;font-size:13px;font-weight:600}.plants-table td[data-v-81ea2796]{color:var(--gray-700);font-size:14px}.plants-table tbody tr[data-v-81ea2796]:hover{background:var(--gray-50)}.plants-table tbody tr:last-child td[data-v-81ea2796]{border-bottom:none}.td-name-block[data-v-81ea2796]{vertical-align:top;max-width:280px}.table-name[data-v-81ea2796]{align-items:flex-start;gap:10px;display:flex}.table-name-text[data-v-81ea2796]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.table-name-title[data-v-81ea2796]{color:var(--gray-900);font-weight:600;line-height:1.3}.table-name-meta[data-v-81ea2796]{flex-direction:column;gap:4px;display:flex}.table-meta-cycle[data-v-81ea2796]{color:var(--gray-600);align-items:center;gap:4px;font-size:12px;line-height:1.35;display:inline-flex}.table-meta-ic[data-v-81ea2796]{width:13px;height:13px;color:var(--gray-400);flex-shrink:0}.table-tags-pills--inline[data-v-81ea2796]{gap:4px}.table-thumb[data-v-81ea2796]{background:var(--gray-100);border-radius:6px;flex-shrink:0;width:32px;height:32px;overflow:hidden}.table-thumb img[data-v-81ea2796]{object-fit:cover;width:100%;height:100%;display:block}.table-icon[data-v-81ea2796]{width:20px;height:20px;color:var(--primary-600);flex-shrink:0}.table-mono[data-v-81ea2796]{color:var(--gray-500);font-family:monospace;font-size:12px}.table-actions[data-v-81ea2796]{gap:8px;display:flex}.btn-action[data-v-81ea2796]{cursor:pointer;box-sizing:border-box;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:all .2s;display:inline-flex}.btn-action.view[data-v-81ea2796]{color:#2e7d32;background:#e8f5e9}.btn-action.view[data-v-81ea2796]:hover{background:#c8e6c9}.btn-action.edit[data-v-81ea2796]{color:#b45309;background:#fff8e1}.btn-action.edit[data-v-81ea2796]:hover{background:#ffecb3}.btn-action.delete[data-v-81ea2796]{color:#dc2626;background:#fef2f2}.btn-action.delete[data-v-81ea2796]:hover{background:#fee2e2}.action-icon[data-v-81ea2796]{width:16px;height:16px}.table-tags-pills[data-v-81ea2796]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.table-tag-pill[data-v-81ea2796]{color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #fcd34d;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.table-tag-pill--sm[data-v-81ea2796]{padding:1px 6px;font-size:10px}.empty-table[data-v-81ea2796]{text-align:center;color:var(--gray-400);padding:40px 16px!important}.btn[data-v-81ea2796]{border-radius:var(--radius);cursor:pointer;box-sizing:border-box;border:none;flex-shrink:0;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-icon[data-v-81ea2796]{width:18px;height:18px}.btn-primary[data-v-81ea2796]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-81ea2796]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-81ea2796]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-81ea2796]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-81ea2796]:hover{background:var(--gray-200)}.btn-outline[data-v-81ea2796]{color:var(--primary-700);border:1.5px solid var(--primary-300);background:#fff}.btn-outline[data-v-81ea2796]:hover{background:var(--primary-50);border-color:var(--primary-500)}.btn-danger[data-v-81ea2796]{color:#dc2626;background:#fef2f2}.btn-danger[data-v-81ea2796]:hover{background:#fee2e2}.empty[data-v-81ea2796]{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--gray-200);background:#fff;grid-column:1/-1;padding:60px 20px}.empty-icon[data-v-81ea2796]{background:var(--gray-100);border-radius:var(--radius-full);width:64px;height:64px;color:var(--gray-400);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.empty-icon svg[data-v-81ea2796]{width:32px;height:32px}.empty p[data-v-81ea2796]{color:var(--gray-500);margin:0 0 8px;font-size:14px}.empty-cta[data-v-81ea2796]{color:var(--primary-600);font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.empty-cta[data-v-81ea2796]:hover{color:var(--primary-700);text-decoration:underline}.plants-pagination[data-v-81ea2796]{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:14px 18px;display:flex}.pagination-info[data-v-81ea2796]{color:var(--gray-600);font-size:13px}.pagination-buttons[data-v-81ea2796]{align-items:center;gap:8px;display:flex}.pagination-btn[data-v-81ea2796]{border:1px solid var(--gray-200);border-radius:var(--radius);width:36px;height:36px;color:var(--gray-700);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.pagination-btn[data-v-81ea2796]:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900)}.pagination-btn[data-v-81ea2796]:disabled{opacity:.45;cursor:not-allowed}.pagination-icon[data-v-81ea2796]{width:18px;height:18px}@media (width<=900px){.plants-grid[data-v-81ea2796]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (width<=640px){.plants[data-v-81ea2796]{padding:16px}.page-header[data-v-81ea2796]{flex-direction:column}.header-actions[data-v-81ea2796]{flex-wrap:wrap;justify-content:flex-start;width:100%}.toggle-btn[data-v-81ea2796]{width:34px;height:34px}}.plant-image-field[data-v-bbb78995]{flex-direction:column;gap:10px;display:flex}.preview-wrap[data-v-bbb78995]{border-radius:var(--radius);border:1px solid var(--gray-200);background:var(--gray-50);max-width:280px;overflow:hidden}.preview-img[data-v-bbb78995]{object-fit:cover;vertical-align:middle;width:100%;max-height:200px;display:block}.row-actions[data-v-bbb78995]{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.file-input[data-v-bbb78995]{clip:rect(0, 0, 0, 0);opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-upload[data-v-bbb78995]{border:1.5px solid var(--primary-500);border-radius:var(--radius);background:var(--primary-50);color:var(--primary-800);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-upload[data-v-bbb78995]:hover:not(:disabled){background:var(--primary-100)}.btn-upload[data-v-bbb78995]:disabled{opacity:.7;cursor:not-allowed}.ic[data-v-bbb78995]{width:18px;height:18px}.spin[data-v-bbb78995]{animation:.9s linear infinite spin-bbb78995}@keyframes spin-bbb78995{to{transform:rotate(360deg)}}.btn-text[data-v-bbb78995]{color:var(--gray-500);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:13px;text-decoration:underline}.btn-text[data-v-bbb78995]:hover{color:var(--gray-700)}.hint[data-v-bbb78995]{color:var(--gray-500);margin:0;font-size:12px;line-height:1.45}.url-input[data-v-bbb78995]{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);background:#fff;padding:10px 14px;font-size:14px}.url-input[data-v-bbb78995]:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1f}.growth-tags-form .form-group[data-v-07839ff5]{margin-bottom:16px}.form-label[data-v-07839ff5]{color:var(--gray-700,#374151);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.label-icon[data-v-07839ff5]{width:16px;height:16px;color:var(--gray-400,#9ca3af)}.form-hint[data-v-07839ff5]{color:var(--gray-500,#6b7280);margin:-2px 0 8px;font-size:12px;line-height:1.45}.form-input[data-v-07839ff5]{border:1.5px solid var(--gray-200,#e5e7eb);border-radius:var(--radius,8px);width:100%;color:var(--gray-900,#111827);box-sizing:border-box;background:#fff;padding:10px 14px;font-size:14px}.form-input[data-v-07839ff5]:focus{border-color:var(--primary-500,#22c55e);outline:none;box-shadow:0 0 0 3px #22c55e1f}.preset-chips[data-v-07839ff5]{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip[data-v-07839ff5]{border:1px solid var(--gray-200,#e5e7eb);background:var(--gray-50,#f9fafb);color:var(--gray-700,#374151);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s,color .15s}.chip[data-v-07839ff5]:hover{border-color:var(--primary-300,#86efac);color:var(--primary-800,#166534)}.chip--on[data-v-07839ff5]{background:var(--primary-50,#f0fdf4);border-color:var(--primary-400,#4ade80);color:var(--primary-800,#166534);font-weight:500}.custom-tag-row[data-v-07839ff5]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.custom-input[data-v-07839ff5]{flex:1}.btn-add[data-v-07839ff5]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:8px;flex-shrink:0;padding:10px 16px;font-size:13px;font-weight:500}.btn-add[data-v-07839ff5]:hover{filter:brightness(1.05)}.selected-tags[data-v-07839ff5]{flex-wrap:wrap;gap:8px;display:flex}.sel-chip[data-v-07839ff5]{color:#166534;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:13px;display:inline-flex}.sel-remove[data-v-07839ff5]{color:#047857;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:18px;line-height:1;display:flex}.sel-remove[data-v-07839ff5]:hover{background:#0478571f}.plant-create[data-v-d0ad6ab4]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-d0ad6ab4]{margin-bottom:24px}.back-link[data-v-d0ad6ab4]{font-size:var(--text-sm);color:var(--primary-600);align-items:center;gap:4px;margin-bottom:12px;font-weight:500;text-decoration:none;display:inline-flex}.back-link[data-v-d0ad6ab4]:hover{color:var(--primary-700)}.back-icon[data-v-d0ad6ab4]{width:18px;height:18px}.title-block h1[data-v-d0ad6ab4]{font-size:var(--text-2xl);color:var(--gray-900);margin:0;font-weight:700}.subtitle[data-v-d0ad6ab4]{max-width:720px;font-size:var(--text-sm);color:var(--gray-600);margin:8px 0 0;line-height:1.55}.form-card[data-v-d0ad6ab4]{box-sizing:border-box;border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;box-shadow:var(--shadow-sm);background:#fff;padding:24px 28px 28px}.form-row-2[data-v-d0ad6ab4]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group[data-v-d0ad6ab4]{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group[data-v-d0ad6ab4]:last-of-type{margin-bottom:0}.form-label[data-v-d0ad6ab4]{color:var(--gray-700);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.req[data-v-d0ad6ab4]{color:#dc2626}.label-icon[data-v-d0ad6ab4]{width:16px;height:16px;color:var(--gray-400)}.form-hint[data-v-d0ad6ab4]{color:var(--gray-500);margin:-2px 0 4px;font-size:12px;line-height:1.45}.form-input[data-v-d0ad6ab4]{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);resize:vertical;background:#fff;padding:10px 14px;font-size:14px;transition:border .2s,box-shadow .2s}.form-input.textarea[data-v-d0ad6ab4]{min-height:72px;font-family:inherit;line-height:1.5}.form-input[data-v-d0ad6ab4]:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1f}.form-actions[data-v-d0ad6ab4]{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.btn[data-v-d0ad6ab4]{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-d0ad6ab4]{width:18px;height:18px}.btn-primary[data-v-d0ad6ab4]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-d0ad6ab4]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-d0ad6ab4]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-d0ad6ab4]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-d0ad6ab4]:hover{background:var(--gray-200)}.spin[data-v-d0ad6ab4]{animation:1s linear infinite spin-d0ad6ab4}@keyframes spin-d0ad6ab4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.plant-create[data-v-d0ad6ab4]{padding:16px}.form-card[data-v-d0ad6ab4]{padding:18px}.form-row-2[data-v-d0ad6ab4]{grid-template-columns:1fr}}.plant-edit[data-v-2f712428]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-2f712428]{margin-bottom:24px}.back-link[data-v-2f712428]{font-size:var(--text-sm);color:var(--primary-600);align-items:center;gap:4px;margin-bottom:12px;font-weight:500;text-decoration:none;display:inline-flex}.back-link[data-v-2f712428]:hover{color:var(--primary-700)}.back-icon[data-v-2f712428]{width:18px;height:18px}.title-block h1[data-v-2f712428]{font-size:var(--text-2xl);color:var(--gray-900);margin:0;font-weight:700}.subtitle[data-v-2f712428]{max-width:720px;font-size:var(--text-sm);color:var(--gray-600);margin:8px 0 0;line-height:1.55}.state-loading[data-v-2f712428],.state-error[data-v-2f712428]{box-sizing:border-box;border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;color:var(--gray-600);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.state-error p[data-v-2f712428]{text-align:center;margin:0}.spin-lg[data-v-2f712428]{width:32px;height:32px;color:var(--primary-600);animation:1s linear infinite spin-2f712428}.form-card[data-v-2f712428]{box-sizing:border-box;border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;box-shadow:var(--shadow-sm);background:#fff;padding:24px 28px 28px}.form-row-2[data-v-2f712428]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group[data-v-2f712428]{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group[data-v-2f712428]:last-of-type{margin-bottom:0}.form-label[data-v-2f712428]{color:var(--gray-700);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.req[data-v-2f712428]{color:#dc2626}.label-icon[data-v-2f712428]{width:16px;height:16px;color:var(--gray-400)}.form-hint[data-v-2f712428]{color:var(--gray-500);margin:-2px 0 4px;font-size:12px;line-height:1.45}.form-input[data-v-2f712428]{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);resize:vertical;background:#fff;padding:10px 14px;font-size:14px;transition:border .2s,box-shadow .2s}.form-input.textarea[data-v-2f712428]{min-height:72px;font-family:inherit;line-height:1.5}.form-input[data-v-2f712428]:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1f}.form-actions[data-v-2f712428]{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.btn[data-v-2f712428]{border-radius:var(--radius);cursor:pointer;box-sizing:border-box;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-icon[data-v-2f712428]{width:18px;height:18px}.btn-primary[data-v-2f712428]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-2f712428]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-2f712428]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-2f712428]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-2f712428]:hover{background:var(--gray-200)}.spin[data-v-2f712428]{animation:1s linear infinite spin-2f712428}@keyframes spin-2f712428{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.plant-edit[data-v-2f712428]{padding:16px}.form-card[data-v-2f712428]{padding:18px}.form-row-2[data-v-2f712428]{grid-template-columns:1fr}}.plant-detail-page[data-v-5016bfe7]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-5016bfe7]{margin-bottom:24px}.back-link[data-v-5016bfe7]{font-size:var(--text-sm);color:var(--primary-600);align-items:center;gap:4px;margin-bottom:12px;font-weight:500;text-decoration:none;display:inline-flex}.back-link[data-v-5016bfe7]:hover{color:var(--primary-700)}.back-icon[data-v-5016bfe7]{width:18px;height:18px}.title-row[data-v-5016bfe7]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.title-main[data-v-5016bfe7]{min-width:0}.title-main h1[data-v-5016bfe7]{font-size:var(--text-2xl);color:var(--gray-900);margin:0;font-weight:700;line-height:1.25}.scientific-line[data-v-5016bfe7]{color:var(--gray-500);margin:8px 0 0;font-size:15px;font-style:italic;line-height:1.45}.header-actions[data-v-5016bfe7]{flex-shrink:0;gap:10px;display:flex}.btn[data-v-5016bfe7]{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.btn-icon[data-v-5016bfe7]{width:18px;height:18px}.btn-secondary[data-v-5016bfe7]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-5016bfe7]:hover{background:var(--gray-200)}.state-block[data-v-5016bfe7]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);color:var(--gray-600);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.state-block.error p[data-v-5016bfe7]{text-align:center;margin:0}.spinner[data-v-5016bfe7]{border:3px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin-5016bfe7}@keyframes spin-5016bfe7{to{transform:rotate(360deg)}}.detail-body[data-v-5016bfe7]{flex-direction:column;gap:20px;display:flex}.panel[data-v-5016bfe7]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:24px 26px}.overview-panel[data-v-5016bfe7]{grid-template-columns:minmax(220px,300px) 1fr;align-items:start;gap:28px 32px;display:grid}.overview-media[data-v-5016bfe7]{flex-direction:column;gap:10px;display:flex}.overview-img[data-v-5016bfe7]{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);background:var(--gray-100);width:100%;display:block}.overview-placeholder[data-v-5016bfe7]{aspect-ratio:1;border-radius:var(--radius-md);border:1px dashed var(--gray-200);background:linear-gradient(145deg,#ecfdf5,#d1fae5);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:200px;display:flex}.overview-placeholder-icon[data-v-5016bfe7]{width:56px;height:56px;color:var(--primary-600);opacity:.5}.overview-placeholder-hint[data-v-5016bfe7]{color:var(--gray-500);text-align:center;padding:0 12px;font-size:13px}.image-link[data-v-5016bfe7]{color:var(--primary-600);word-break:break-all;font-size:13px;text-decoration:none}.image-link[data-v-5016bfe7]:hover{color:var(--primary-700);text-decoration:underline}.overview-side[data-v-5016bfe7]{min-width:0}.tags-block[data-v-5016bfe7]{margin-bottom:20px}.tags-label[data-v-5016bfe7]{color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.tags[data-v-5016bfe7]{flex-wrap:wrap;gap:8px;display:flex}.tag[data-v-5016bfe7]{border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-800);padding:4px 12px;font-size:13px;font-weight:500}.tags-empty[data-v-5016bfe7]{color:var(--gray-400);margin:0;font-size:14px}.kv-list[data-v-5016bfe7]{border-top:1px solid var(--gray-100);flex-direction:column;gap:0;margin:0;display:flex}.kv-row[data-v-5016bfe7]{border-bottom:1px solid var(--gray-100);grid-template-columns:minmax(140px,200px) 1fr;align-items:start;gap:12px 20px;padding:12px 0;font-size:14px;display:grid}.kv-row[data-v-5016bfe7]:last-child{border-bottom:none}.kv-row dt[data-v-5016bfe7]{color:var(--gray-500);align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.kv-ic[data-v-5016bfe7]{width:16px;height:16px;color:var(--gray-400);flex-shrink:0}.kv-row dd[data-v-5016bfe7]{color:var(--gray-800);word-break:break-word;margin:0;line-height:1.5}.kv-row dd.italic[data-v-5016bfe7]{color:var(--gray-700);font-style:italic}.text-panel .panel-title[data-v-5016bfe7]{color:var(--gray-900);align-items:center;gap:10px;margin:0 0 12px;font-size:17px;font-weight:600;display:flex}.panel-ic[data-v-5016bfe7]{width:22px;height:22px;color:var(--primary-600);flex-shrink:0}.panel-lead[data-v-5016bfe7]{color:var(--gray-500);margin:-4px 0 12px;font-size:13px;line-height:1.5}.panel-body[data-v-5016bfe7]{color:var(--gray-700);margin:0;font-size:15px;line-height:1.7}.panel-empty[data-v-5016bfe7]{color:var(--gray-400);margin:0;font-size:14px;font-style:italic;line-height:1.65}.panel-agent[data-v-5016bfe7]{border-color:var(--gray-200);background:linear-gradient(#f8fafc 0%,#fff 48px)}.pre-wrap[data-v-5016bfe7]{white-space:pre-wrap}.scene-block[data-v-5016bfe7]{border-top:1px solid var(--gray-100);margin-top:20px;padding-top:16px}.scene-tags[data-v-5016bfe7]{flex-wrap:wrap;gap:8px;display:flex}.scene-tag[data-v-5016bfe7]{border-radius:var(--radius-full);color:#b45309;background:#fffbeb;border:1px solid #fcd34d;padding:4px 12px;font-size:13px;font-weight:500}@media (width<=768px){.plant-detail-page[data-v-5016bfe7]{padding:16px}.overview-panel[data-v-5016bfe7]{grid-template-columns:1fr}.overview-media[data-v-5016bfe7]{width:100%;max-width:320px;margin:0 auto}.kv-row[data-v-5016bfe7]{grid-template-columns:1fr;gap:4px}}.sensors[data-v-dcc1d628]{padding:20px}h1[data-v-dcc1d628]{color:#333;margin-bottom:20px;font-size:24px}h2[data-v-dcc1d628]{margin-bottom:15px;font-size:18px}.current-readings[data-v-dcc1d628],.history[data-v-dcc1d628]{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:20px}.readings-grid[data-v-dcc1d628]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:20px 0;display:grid}.reading-card[data-v-dcc1d628]{text-align:center;background:#f8f9fa;border-radius:8px;padding:20px}.card-icon[data-v-dcc1d628]{color:#42b983;width:32px;height:32px;margin-bottom:8px}.reading-card .value[data-v-dcc1d628]{color:#333;margin-top:8px;font-size:24px;font-weight:700}.reading-card .label[data-v-dcc1d628]{color:#666;font-size:14px}.update-time[data-v-dcc1d628]{text-align:right;color:#999;font-size:14px}.info[data-v-dcc1d628]{color:#666}.irrigation[data-v-5e3364ae]{padding:20px}h1[data-v-5e3364ae]{color:#333;margin-bottom:20px;font-size:24px}h2[data-v-5e3364ae]{margin-bottom:15px;font-size:18px}.status-card[data-v-5e3364ae],.control-panel[data-v-5e3364ae],.schedule-panel[data-v-5e3364ae]{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:20px}.status[data-v-5e3364ae]{align-items:center;gap:10px;font-size:16px;display:flex}.status-indicator[data-v-5e3364ae]{background:#999;border-radius:50%;width:12px;height:12px}.status-indicator.active[data-v-5e3364ae]{background:#42b983;animation:1s infinite pulse-5e3364ae}@keyframes pulse-5e3364ae{0%,to{opacity:1}50%{opacity:.5}}.control-buttons[data-v-5e3364ae]{gap:12px;margin:15px 0;display:flex}.duration-input[data-v-5e3364ae]{align-items:center;gap:10px;margin-top:15px;display:flex}.duration-input input[data-v-5e3364ae]{border:1px solid #ddd;border-radius:6px;width:80px;padding:8px;font-size:14px}.schedule-panel form[data-v-5e3364ae]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-panel input[data-v-5e3364ae]{border:1px solid #ddd;border-radius:6px;padding:10px;font-size:14px}.input-icon[data-v-5e3364ae]{color:#666;width:18px;height:18px}.btn[data-v-5e3364ae]{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;display:inline-flex}.btn-icon[data-v-5e3364ae]{width:16px;height:16px}.btn-primary[data-v-5e3364ae]{color:#fff;background:#42b983}.btn-secondary[data-v-5e3364ae]{color:#fff;background:#3498db}.btn-danger[data-v-5e3364ae]{color:#fff;background:#e74c3c}.btn[data-v-5e3364ae]:disabled{opacity:.5;cursor:not-allowed}.users[data-v-be3a1d20]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-be3a1d20]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1[data-v-be3a1d20]{color:var(--gray-900);font-size:24px;font-weight:700}.btn[data-v-be3a1d20]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-be3a1d20]{width:18px;height:18px}.btn-primary[data-v-be3a1d20]{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-be3a1d20]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-be3a1d20]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-be3a1d20]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-be3a1d20]:hover{background:var(--gray-200)}.btn-danger[data-v-be3a1d20]{color:#fff;background:#dc2626}.btn-danger[data-v-be3a1d20]:hover:not(:disabled){background:#b91c1c}.btn-danger[data-v-be3a1d20]:disabled{opacity:.7;cursor:not-allowed}.table-card[data-v-be3a1d20]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table[data-v-be3a1d20]{border-collapse:collapse;width:100%}.table th[data-v-be3a1d20],.table td[data-v-be3a1d20]{text-align:left;border-bottom:1px solid var(--gray-100);padding:14px 16px}.table th[data-v-be3a1d20]{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;font-size:13px;font-weight:600}.table td[data-v-be3a1d20]{color:var(--gray-700);font-size:14px}.table tbody tr[data-v-be3a1d20]:hover{background:var(--gray-50)}.table tbody tr:last-child td[data-v-be3a1d20]{border-bottom:none}.user-cell[data-v-be3a1d20]{align-items:center;gap:10px;display:flex}.user-avatar[data-v-be3a1d20]{background:#e8f5e9;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.avatar-icon[data-v-be3a1d20]{color:#42b983;width:16px;height:16px}.role-badge[data-v-be3a1d20]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.role-badge.admin[data-v-be3a1d20]{color:#1976d2;background:#e3f2fd}.role-badge.user[data-v-be3a1d20]{color:#666;background:#f5f5f5}.status-badge[data-v-be3a1d20]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.status-badge.active[data-v-be3a1d20]{color:#2e7d32;background:#e8f5e9}.status-badge.inactive[data-v-be3a1d20]{color:#dc2626;background:#fef2f2}.action-btns[data-v-be3a1d20]{gap:8px;display:flex}.btn-action[data-v-be3a1d20]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:all .2s;display:flex}.btn-action.view[data-v-be3a1d20]{color:#2e7d32;background:#e8f5e9}.btn-action.view[data-v-be3a1d20]:hover{background:#c8e6c9}.btn-action.edit[data-v-be3a1d20]{color:#1976d2;background:#e3f2fd}.btn-action.edit[data-v-be3a1d20]:hover{background:#bbdefb}.btn-action.delete[data-v-be3a1d20]{color:#dc2626;background:#fef2f2}.btn-action.delete[data-v-be3a1d20]:hover:not(:disabled){background:#fee2e2}.btn-action.delete[data-v-be3a1d20]:disabled{opacity:.4;cursor:not-allowed}.action-icon[data-v-be3a1d20]{width:16px;height:16px}.empty-cell[data-v-be3a1d20]{text-align:center;color:var(--gray-400);padding:40px!important}.users-pagination[data-v-be3a1d20]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #0000001a}.page-summary[data-v-be3a1d20]{color:var(--gray-600);font-size:13px}.page-summary-meta[data-v-be3a1d20]{color:var(--gray-500)}.pagination-controls[data-v-be3a1d20]{align-items:center;gap:8px;display:flex}.page-btn[data-v-be3a1d20]{border:1px solid var(--gray-300);width:36px;height:36px;color:var(--gray-600);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.page-btn[data-v-be3a1d20]:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.page-btn[data-v-be3a1d20]:disabled{opacity:.5;cursor:not-allowed}.page-icon[data-v-be3a1d20]{width:16px;height:16px}.page-numbers[data-v-be3a1d20]{gap:4px;display:flex}.page-num[data-v-be3a1d20]{border:1px solid var(--gray-300);min-width:36px;height:36px;color:var(--gray-600);cursor:pointer;background:#fff;border-radius:8px;padding:0 8px;font-size:14px;transition:all .2s}.page-num[data-v-be3a1d20]:hover:not(.active){background:var(--gray-100)}.page-num.active[data-v-be3a1d20]{color:#fff;background:#16a34a;border-color:#16a34a}.modal-overlay[data-v-be3a1d20]{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-be3a1d20]{background:#fff;border-radius:12px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d}.confirm-modal[data-v-be3a1d20]{max-width:400px}.modal-header[data-v-be3a1d20]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3[data-v-be3a1d20]{color:var(--gray-900);font-size:18px;font-weight:600}.modal-close[data-v-be3a1d20]{background:var(--gray-100);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-be3a1d20]:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body[data-v-be3a1d20]{padding:24px}.modal-body p[data-v-be3a1d20]{color:var(--gray-700);font-size:14px;line-height:1.6}.form-group[data-v-be3a1d20]{margin-bottom:16px}.form-group label[data-v-be3a1d20]{color:var(--gray-700);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.required[data-v-be3a1d20]{color:#dc2626}.form-input[data-v-be3a1d20]{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-input[data-v-be3a1d20]:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e1a}.form-input[data-v-be3a1d20]:disabled{background:var(--gray-100);cursor:not-allowed}.modal-footer[data-v-be3a1d20]{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.fade-enter-active[data-v-be3a1d20],.fade-leave-active[data-v-be3a1d20]{transition:opacity .2s}.fade-enter-from[data-v-be3a1d20],.fade-leave-to[data-v-be3a1d20]{opacity:0}.scale-enter-active[data-v-be3a1d20],.scale-leave-active[data-v-be3a1d20]{transition:all .2s}.scale-enter-from[data-v-be3a1d20],.scale-leave-to[data-v-be3a1d20]{opacity:0;transform:scale(.95)}.user-detail[data-v-9427288f]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-9427288f]{margin-bottom:24px}.btn-back[data-v-9427288f]{border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:all .2s;display:inline-flex}.btn-back[data-v-9427288f]:hover{background:var(--gray-50);color:var(--gray-900)}.back-icon[data-v-9427288f]{width:18px;height:18px}.loading[data-v-9427288f]{color:var(--gray-500);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;display:flex}.loading-icon[data-v-9427288f]{width:32px;height:32px}.spin[data-v-9427288f]{animation:1s linear infinite spin-9427288f}@keyframes spin-9427288f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.detail-card[data-v-9427288f]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 1px 3px #0000001a}.user-card[data-v-9427288f]{margin-bottom:24px}.user-header[data-v-9427288f]{align-items:center;gap:20px;display:flex}.user-avatar-large[data-v-9427288f]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.avatar-icon[data-v-9427288f]{color:#42b983;width:40px;height:40px}.user-main-info[data-v-9427288f]{flex:1}.user-main-info h2[data-v-9427288f]{color:var(--gray-900);margin:0 0 4px;font-size:24px;font-weight:700}.username[data-v-9427288f]{color:var(--gray-500);margin:0 0 12px;font-size:14px}.user-badges[data-v-9427288f]{gap:8px;display:flex}.info-grid[data-v-9427288f]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.card-title[data-v-9427288f]{color:var(--gray-800);align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600;display:flex}.card-icon[data-v-9427288f]{width:20px;height:20px;color:var(--gray-400)}.info-list[data-v-9427288f]{flex-direction:column;gap:12px;display:flex}.info-item[data-v-9427288f]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.info-item[data-v-9427288f]:last-child{border-bottom:none}.info-label[data-v-9427288f]{color:var(--gray-500);font-size:14px}.info-value[data-v-9427288f]{color:var(--gray-800);font-size:14px;font-weight:500}.role-badge[data-v-9427288f]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.role-badge.admin[data-v-9427288f]{color:#1976d2;background:#e3f2fd}.role-badge.user[data-v-9427288f]{color:#666;background:#f5f5f5}.status-badge[data-v-9427288f]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.status-badge.active[data-v-9427288f]{color:#2e7d32;background:#e8f5e9}.status-badge.inactive[data-v-9427288f]{color:#dc2626;background:#fef2f2}.btn[data-v-9427288f]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-9427288f]{width:18px;height:18px}.btn-primary[data-v-9427288f]{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-9427288f]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-9427288f]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-9427288f]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-9427288f]:hover{background:var(--gray-200)}.modal-overlay[data-v-9427288f]{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-9427288f]{background:#fff;border-radius:12px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-9427288f]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3[data-v-9427288f]{color:var(--gray-900);font-size:18px;font-weight:600}.modal-close[data-v-9427288f]{background:var(--gray-100);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-9427288f]:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body[data-v-9427288f]{padding:24px}.form-group[data-v-9427288f]{margin-bottom:16px}.form-group label[data-v-9427288f]{color:var(--gray-700);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input[data-v-9427288f]{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-input[data-v-9427288f]:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e1a}.modal-footer[data-v-9427288f]{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.fade-enter-active[data-v-9427288f],.fade-leave-active[data-v-9427288f]{transition:opacity .2s}.fade-enter-from[data-v-9427288f],.fade-leave-to[data-v-9427288f]{opacity:0}.scale-enter-active[data-v-9427288f],.scale-leave-active[data-v-9427288f]{transition:all .2s}.scale-enter-from[data-v-9427288f],.scale-leave-to[data-v-9427288f]{opacity:0;transform:scale(.95)}@media (width<=640px){.user-header[data-v-9427288f]{text-align:center;flex-direction:column}.user-badges[data-v-9427288f]{justify-content:center}.info-grid[data-v-9427288f]{grid-template-columns:1fr}}.settings[data-v-73accbb4]{max-width:600px;padding:20px}h1[data-v-73accbb4]{color:#333;margin-bottom:24px;font-size:24px}.settings-section[data-v-73accbb4]{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:20px}.settings-section h2[data-v-73accbb4]{color:#333;border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:12px;font-size:16px}.setting-item[data-v-73accbb4]{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.setting-item label[data-v-73accbb4]{color:#333;font-size:14px}.setting-item input[type=text][data-v-73accbb4],.setting-item select[data-v-73accbb4]{border:1px solid #ddd;border-radius:6px;width:200px;padding:8px 12px;font-size:14px}.settings-actions[data-v-73accbb4]{text-align:right}.btn[data-v-73accbb4]{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-73accbb4]{color:#fff;background:#42b983}.analytics[data-v-b325a35e]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-b325a35e]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-title-block h1[data-v-b325a35e]{color:var(--gray-900,#111827);margin:0;font-size:24px;font-weight:700}.page-desc[data-v-b325a35e]{color:var(--gray-600,#4b5563);max-width:640px;margin:8px 0 0;font-size:14px;line-height:1.5}.btn[data-v-b325a35e]{cursor:pointer;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:background .2s;display:inline-flex}.btn-icon[data-v-b325a35e]{width:18px;height:18px}.btn-secondary[data-v-b325a35e]{background:var(--gray-100,#f3f4f6);color:var(--gray-800,#1f2937)}.btn-secondary[data-v-b325a35e]:hover:not(:disabled){background:var(--gray-200,#e5e7eb)}.btn-secondary[data-v-b325a35e]:disabled{opacity:.6;cursor:not-allowed}.alert-error[data-v-b325a35e]{color:#b91c1c;background:#fef2f2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.state-loading[data-v-b325a35e]{color:var(--gray-600,#4b5563);border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.spin-lg[data-v-b325a35e]{color:#16a34a;width:28px;height:28px;animation:.9s linear infinite spin-b325a35e}.spin[data-v-b325a35e]{animation:.9s linear infinite spin-b325a35e}@keyframes spin-b325a35e{to{transform:rotate(360deg)}}.stats-grid[data-v-b325a35e]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card[data-v-b325a35e]{border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 2px #0000000a}.stat-label[data-v-b325a35e]{color:var(--gray-600,#4b5563);margin-bottom:8px;font-size:13px}.stat-value[data-v-b325a35e]{color:#16a34a;font-size:28px;font-weight:700;line-height:1.2}.stat-sub[data-v-b325a35e]{color:var(--gray-500,#6b7280);margin-top:4px;font-size:14px;font-weight:500;display:block}.charts-grid[data-v-b325a35e]{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.chart-card[data-v-b325a35e]{border:1px solid var(--gray-200,#e5e7eb);background:#fff;border-radius:12px;padding:20px 22px;position:relative;box-shadow:0 1px 2px #0000000a}.chart-card--wide[data-v-b325a35e]{grid-column:1/-1}.chart-title[data-v-b325a35e]{color:var(--gray-900,#111827);align-items:center;gap:8px;margin:0 0 6px;font-size:16px;font-weight:600;display:flex}.title-icon[data-v-b325a35e]{color:#16a34a;flex-shrink:0;width:20px;height:20px}.chart-hint[data-v-b325a35e]{color:var(--gray-500,#6b7280);margin:0 0 12px;font-size:12px;line-height:1.4}.chart-canvas-wrap[data-v-b325a35e]{height:300px;position:relative}.chart-canvas-wrap--pie[data-v-b325a35e]{max-width:360px;height:280px;margin:0 auto}.chart-canvas-wrap--bar[data-v-b325a35e]{height:min(420px,48vh)}.chart-empty[data-v-b325a35e]{color:var(--gray-400,#9ca3af);pointer-events:none;justify-content:center;align-items:center;margin:0;padding-top:32px;font-size:14px;display:flex;position:absolute;inset:0}@media (width<=1024px){.charts-grid[data-v-b325a35e]{grid-template-columns:1fr}.chart-card--wide[data-v-b325a35e]{grid-column:auto}}@media (width<=640px){.analytics[data-v-b325a35e]{padding:16px}.stat-value[data-v-b325a35e]{font-size:22px}.chart-canvas-wrap[data-v-b325a35e]{height:260px}}.ai-settings[data-v-3558a7a9]{max-width:1400px;margin:0 auto;padding:24px}h1[data-v-3558a7a9]{color:#333;margin-bottom:8px;font-size:24px}.intro[data-v-3558a7a9]{color:#666;margin-bottom:24px;font-size:14px;line-height:1.5}.intro.tight[data-v-3558a7a9]{margin-bottom:12px}.checkbox-label[data-v-3558a7a9]{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.scheduler-status[data-v-3558a7a9]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:16px}.scheduler-status h3[data-v-3558a7a9]{margin:0 0 12px;font-size:15px}.mono[data-v-3558a7a9]{font-family:ui-monospace,monospace}.small[data-v-3558a7a9]{font-size:12px}.result-details[data-v-3558a7a9]{margin-top:12px}.result-list[data-v-3558a7a9]{color:#334155;margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6}.settings-section[data-v-3558a7a9]{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:20px}.settings-section h2[data-v-3558a7a9]{color:#333;border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:12px;font-size:16px}.setting-item[data-v-3558a7a9]{padding:12px 0}.setting-item.block[data-v-3558a7a9]{display:block}.setting-item.block label[data-v-3558a7a9]{color:#333;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input-wide[data-v-3558a7a9]{width:100%;max-width:420px}.input-full[data-v-3558a7a9]{box-sizing:border-box;width:100%}.input-grow[data-v-3558a7a9]{box-sizing:border-box;flex:1;min-width:0}select.input-wide[data-v-3558a7a9],select.input-full[data-v-3558a7a9],input[type=text][data-v-3558a7a9],input[type=url][data-v-3558a7a9],input[type=password][data-v-3558a7a9]{border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:14px}.model-row[data-v-3558a7a9]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.model-select[data-v-3558a7a9]{margin-top:10px}.hint[data-v-3558a7a9]{color:#888;margin-top:6px;font-size:12px;display:block}.hint code[data-v-3558a7a9]{background:#f4f4f5;border-radius:4px;padding:1px 6px;font-size:12px}.hint-banner[data-v-3558a7a9]{color:#64748b;margin-top:10px;font-size:13px;line-height:1.4}.actions-row[data-v-3558a7a9]{padding:8px 0}.test-result[data-v-3558a7a9]{border-radius:6px;margin-top:12px;padding:10px 12px;font-size:14px}.test-result.ok[data-v-3558a7a9]{color:#047857;background:#ecfdf5}.test-result.err[data-v-3558a7a9]{color:#b91c1c;background:#fef2f2}.settings-actions[data-v-3558a7a9]{text-align:right;margin-top:8px}.save-banner[data-v-3558a7a9]{color:#047857;margin-top:12px;font-size:14px}.btn[data-v-3558a7a9]{cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-size:14px}.btn[data-v-3558a7a9]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-3558a7a9]{color:#fff;background:#42b983}.btn-secondary[data-v-3558a7a9]{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}.btn-outline[data-v-3558a7a9]{color:#42b983;background:#fff;border:1px solid #42b983}.agent-settings[data-v-bf8b01a2]{max-width:1400px;margin:0 auto;padding:24px}h1[data-v-bf8b01a2]{color:#333;margin-bottom:8px;font-size:24px}.intro[data-v-bf8b01a2]{color:#666;margin-bottom:24px;font-size:14px;line-height:1.55}.settings-section[data-v-bf8b01a2]{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:20px}.settings-section h2[data-v-bf8b01a2]{color:#333;border-bottom:1px solid #eee;margin:0 0 8px;padding-bottom:10px;font-size:16px}.settings-section.vision h3[data-v-bf8b01a2]{color:#334155;margin:0 0 12px;font-size:15px}.hint[data-v-bf8b01a2]{color:#64748b;margin:0 0 14px;font-size:13px;line-height:1.45}.badge[data-v-bf8b01a2]{color:#047857;background:#ecfdf5;border-radius:4px;margin-left:6px;padding:2px 8px;font-size:12px;display:inline-block}.card[data-v-bf8b01a2]{background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:14px}.card.sub[data-v-bf8b01a2]{background:#fff}.card-head[data-v-bf8b01a2]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.grid-2[data-v-bf8b01a2]{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;display:grid}@media (width<=640px){.grid-2[data-v-bf8b01a2]{grid-template-columns:1fr}}.lbl[data-v-bf8b01a2]{color:#475569;margin-bottom:6px;font-size:13px;display:block}.chk[data-v-bf8b01a2]{color:#334155;align-items:center;gap:8px;font-size:14px;display:flex}.chk.row[data-v-bf8b01a2]{margin-bottom:10px}.chk.muted[data-v-bf8b01a2]{color:#94a3b8}.inp[data-v-bf8b01a2],.textarea[data-v-bf8b01a2]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.textarea.sm[data-v-bf8b01a2]{min-height:56px}.btn[data-v-bf8b01a2]{cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-size:14px}.btn[data-v-bf8b01a2]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-bf8b01a2]{color:#fff;background:#42b983}.btn-secondary[data-v-bf8b01a2]{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}.btn-text[data-v-bf8b01a2]{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:13px}.btn-text.danger[data-v-bf8b01a2]{color:#b91c1c}.settings-actions[data-v-bf8b01a2]{text-align:right;margin-top:8px}.banner[data-v-bf8b01a2]{color:#047857;margin-top:14px;font-size:14px}.banner.err[data-v-bf8b01a2]{color:#b91c1c}.runtime-logs[data-v-4d5f0e13]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-4d5f0e13]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1[data-v-4d5f0e13]{color:var(--gray-900);font-size:24px;font-weight:700}.filters[data-v-4d5f0e13]{margin-bottom:16px;padding:16px}.filter-row[data-v-4d5f0e13]{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;display:flex}.filter-row label[data-v-4d5f0e13]{color:var(--gray-600);flex-direction:column;gap:6px;font-size:13px;display:flex}.inp[data-v-4d5f0e13]{border:1px solid var(--gray-200);border-radius:6px;min-width:140px;padding:8px 10px;font-size:14px}.inp.narrow[data-v-4d5f0e13]{width:100px;min-width:88px}.table-card[data-v-4d5f0e13]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table[data-v-4d5f0e13]{border-collapse:collapse;width:100%}.table th[data-v-4d5f0e13],.table td[data-v-4d5f0e13]{text-align:left;border-bottom:1px solid var(--gray-100);vertical-align:top;padding:12px 14px}.table th[data-v-4d5f0e13]{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;font-size:12px;font-weight:600}.table td[data-v-4d5f0e13]{color:var(--gray-700);font-size:13px}.msg-cell[data-v-4d5f0e13]{word-break:break-word;max-width:280px}.path-cell[data-v-4d5f0e13]{word-break:break-all;max-width:220px;font-family:ui-monospace,monospace;font-size:12px}.lvl[data-v-4d5f0e13]{border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.lvl.info[data-v-4d5f0e13]{color:#2e7d32;background:#e8f5e9}.lvl.warning[data-v-4d5f0e13]{color:#f57f17;background:#fff8e1}.lvl.error[data-v-4d5f0e13]{color:#c62828;background:#ffebee}.btn[data-v-4d5f0e13]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;display:inline-flex}.btn[data-v-4d5f0e13]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-4d5f0e13]{color:#fff;background:#42b983}.btn-secondary[data-v-4d5f0e13]{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-action[data-v-4d5f0e13]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.btn-action.view[data-v-4d5f0e13]{color:#2e7d32;background:#e8f5e9}.action-icon[data-v-4d5f0e13]{width:16px;height:16px}.empty-cell[data-v-4d5f0e13]{text-align:center;color:var(--gray-400);padding:40px!important}.pager[data-v-4d5f0e13]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.meta[data-v-4d5f0e13]{color:var(--gray-600);font-size:14px}.pager-btns[data-v-4d5f0e13]{gap:8px;display:flex}.modal-overlay[data-v-4d5f0e13]{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel[data-v-4d5f0e13]{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.modal-head[data-v-4d5f0e13]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h2[data-v-4d5f0e13]{margin:0;font-size:18px}.btn-close[data-v-4d5f0e13]{cursor:pointer;color:var(--gray-500);background:0 0;border:none;font-size:24px;line-height:1}.modal-body[data-v-4d5f0e13]{padding:16px 20px 24px;overflow:auto}.modal-body.muted[data-v-4d5f0e13]{color:var(--gray-500)}.kv[data-v-4d5f0e13]{grid-template-columns:100px 1fr;gap:8px 12px;margin:0;font-size:14px;display:grid}.kv dt[data-v-4d5f0e13]{color:var(--gray-500);font-weight:500}.kv dd[data-v-4d5f0e13]{word-break:break-word;margin:0}.sub-title[data-v-4d5f0e13]{color:var(--gray-700);margin:20px 0 8px;font-size:14px}.json-block[data-v-4d5f0e13]{background:var(--gray-50);white-space:pre-wrap;word-break:break-all;border-radius:8px;max-height:360px;margin:0;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.app-releases[data-v-1f5ad772]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-1f5ad772]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h1[data-v-1f5ad772]{color:var(--gray-900);font-size:24px;font-weight:700}.intro[data-v-1f5ad772]{color:var(--gray-600);margin-bottom:20px;font-size:14px;line-height:1.55}.intro code[data-v-1f5ad772]{background:var(--gray-100);border-radius:4px;padding:2px 6px;font-size:13px}.panel[data-v-1f5ad772]{margin-bottom:16px;padding:16px 20px}.panel h2[data-v-1f5ad772]{color:var(--gray-800);margin:0 0 14px;font-size:16px}.table-card[data-v-1f5ad772]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.filter-row[data-v-1f5ad772]{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;display:flex}.filter-row label[data-v-1f5ad772]{color:var(--gray-600);flex-direction:column;gap:6px;font-size:13px;display:flex}.upload-grid[data-v-1f5ad772]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:14px;display:grid}.upload-grid label[data-v-1f5ad772]{color:var(--gray-600);flex-direction:column;gap:6px;font-size:13px;display:flex}.span-2[data-v-1f5ad772]{grid-column:span 2}@media (width<=720px){.span-2[data-v-1f5ad772]{grid-column:span 1}}.inp[data-v-1f5ad772]{border:1px solid var(--gray-200);border-radius:6px;padding:8px 10px;font-size:14px}.inp.full[data-v-1f5ad772]{box-sizing:border-box;width:100%}.textarea[data-v-1f5ad772]{box-sizing:border-box;border:1px solid var(--gray-200);resize:vertical;border-radius:6px;width:100%;padding:8px 10px;font-size:14px}.file-label[data-v-1f5ad772]{grid-column:span 2}.file-inp[data-v-1f5ad772]{margin-top:6px}.file-name[data-v-1f5ad772]{color:var(--gray-500);word-break:break-all;margin-top:6px;font-size:13px;display:block}.chk[data-v-1f5ad772]{align-items:center;flex-direction:row!important;gap:8px!important}.table[data-v-1f5ad772]{border-collapse:collapse;width:100%}.table th[data-v-1f5ad772],.table td[data-v-1f5ad772]{text-align:left;border-bottom:1px solid var(--gray-100);padding:10px 12px;font-size:13px}.table th[data-v-1f5ad772]{background:var(--gray-50);color:var(--gray-500);font-size:12px;font-weight:600}.fname[data-v-1f5ad772]{word-break:break-all;max-width:160px;font-family:ui-monospace,monospace;font-size:12px}.notes[data-v-1f5ad772]{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.linkish[data-v-1f5ad772]{color:#1976d2;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.actions[data-v-1f5ad772]{flex-wrap:wrap;gap:6px;display:flex}.btn-mini[data-v-1f5ad772]{border:1px solid var(--gray-300);background:var(--gray-50);color:var(--gray-800);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:12px;text-decoration:none}.btn-mini.danger[data-v-1f5ad772]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn[data-v-1f5ad772]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;display:inline-flex}.btn[data-v-1f5ad772]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-1f5ad772]{color:#fff;background:#42b983}.btn-secondary[data-v-1f5ad772]{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.empty-cell[data-v-1f5ad772]{text-align:center;color:var(--gray-400);padding:36px!important}.banner[data-v-1f5ad772]{color:#047857;margin-top:12px;font-size:14px}.banner.err[data-v-1f5ad772]{color:#b91c1c}.hint-card[data-v-1f5ad772]{border:1px dashed var(--gray-300);background:#f8fafc}.hint-card h3[data-v-1f5ad772]{margin:0 0 10px;font-size:14px}.code[data-v-1f5ad772]{color:#e2e8f0;background:#1e293b;border-radius:8px;margin:0 0 10px;padding:12px;font-size:12px;overflow:auto}.muted[data-v-1f5ad772]{color:var(--gray-600);margin:0;font-size:13px}.admin-page[data-v-cfa69d83]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-cfa69d83]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-title[data-v-cfa69d83]{color:var(--gray-900);margin:0 0 4px;font-size:24px;font-weight:700}.page-desc[data-v-cfa69d83]{color:var(--gray-500);margin:0;font-size:14px}.filter-select[data-v-cfa69d83]{border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-700);cursor:pointer;background:#fff;padding:8px 16px;font-size:14px}.loading-state[data-v-cfa69d83],.error-state[data-v-cfa69d83]{color:var(--gray-400);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px;display:flex}.error-state[data-v-cfa69d83]{color:#ef4444}.spin[data-v-cfa69d83]{animation:1s linear infinite spin-cfa69d83}@keyframes spin-cfa69d83{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-card[data-v-cfa69d83]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table[data-v-cfa69d83]{border-collapse:collapse;width:100%}.table th[data-v-cfa69d83],.table td[data-v-cfa69d83]{text-align:left;border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:14px 16px}.table th[data-v-cfa69d83]{background:var(--gray-50);color:var(--gray-500);text-transform:uppercase;font-size:13px;font-weight:600}.table td[data-v-cfa69d83]{color:var(--gray-700);font-size:14px}.table tbody tr[data-v-cfa69d83]:hover{background:var(--gray-50)}.table tbody tr:last-child td[data-v-cfa69d83]{border-bottom:none}.col-id[data-v-cfa69d83]{width:64px}.col-images[data-v-cfa69d83]{width:100px}.col-actions[data-v-cfa69d83]{width:72px}.mono[data-v-cfa69d83]{color:var(--gray-500);font-family:ui-monospace,monospace;font-size:13px}.user-cell[data-v-cfa69d83]{align-items:center;gap:10px;display:flex}.avatar[data-v-cfa69d83]{background:var(--primary-100);width:32px;height:32px;color:var(--primary-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.user-text[data-v-cfa69d83]{flex-direction:column;gap:2px;min-width:0;display:flex}.user-name[data-v-cfa69d83]{color:var(--gray-900);font-weight:600}.user-sub[data-v-cfa69d83]{color:var(--gray-400);font-size:12px}.td-excerpt[data-v-cfa69d83]{word-break:break-word;max-width:280px;line-height:1.45}.td-center[data-v-cfa69d83]{text-align:center}.td-time[data-v-cfa69d83]{white-space:nowrap;color:var(--gray-600);font-size:13px}.td-muted[data-v-cfa69d83]{color:var(--gray-400)}.img-count[data-v-cfa69d83]{color:var(--gray-600);align-items:center;gap:4px;font-size:13px;display:inline-flex}.img-count-icon[data-v-cfa69d83]{width:15px;height:15px;color:var(--gray-400)}.reply-excerpt[data-v-cfa69d83]{max-width:200px;color:var(--gray-700);word-break:break-word;line-height:1.4;display:block}.status-badge[data-v-cfa69d83]{border-radius:100px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.pending[data-v-cfa69d83]{color:#92400e;background:#fef3c7}.status-badge.replied[data-v-cfa69d83]{color:#2e7d32;background:#e8f5e9}.btn-action[data-v-cfa69d83]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:inline-flex}.btn-action.detail[data-v-cfa69d83]{color:#2e7d32;background:#e8f5e9}.btn-action.detail[data-v-cfa69d83]:hover{background:#c8e6c9}.action-icon[data-v-cfa69d83]{width:16px;height:16px}.empty-cell[data-v-cfa69d83]{text-align:center;color:var(--gray-400);padding:40px!important}.modal-overlay[data-v-cfa69d83]{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.detail-modal[data-v-cfa69d83]{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.detail-header[data-v-cfa69d83]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.detail-header h3[data-v-cfa69d83]{color:var(--gray-900);margin:0;font-size:18px;font-weight:600}.modal-close[data-v-cfa69d83]{background:var(--gray-100);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.modal-close[data-v-cfa69d83]:hover{background:var(--gray-200);color:var(--gray-700)}.detail-loading[data-v-cfa69d83]{color:var(--gray-500);flex-direction:column;align-items:center;gap:10px;padding:48px;display:flex}.detail-body[data-v-cfa69d83]{padding:20px;overflow-y:auto}.detail-meta[data-v-cfa69d83]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.meta-id[data-v-cfa69d83]{color:var(--gray-500);font-family:ui-monospace,monospace;font-size:13px}.detail-row[data-v-cfa69d83]{gap:12px;margin-bottom:10px;font-size:14px;display:flex}.detail-label[data-v-cfa69d83]{width:80px;color:var(--gray-500);flex-shrink:0;font-size:13px;font-weight:600}.detail-block[data-v-cfa69d83]{margin-top:16px}.detail-block .detail-label[data-v-cfa69d83]{width:auto;margin-bottom:8px;display:block}.detail-content[data-v-cfa69d83]{color:var(--gray-800);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.65}.detail-images[data-v-cfa69d83]{margin-top:16px}.detail-images .detail-label[data-v-cfa69d83]{margin-bottom:8px;display:block}.image-grid[data-v-cfa69d83]{flex-wrap:wrap;gap:8px;display:flex}.thumb[data-v-cfa69d83]{object-fit:cover;cursor:pointer;border:1px solid var(--gray-200);border-radius:8px;width:88px;height:88px}.detail-reply[data-v-cfa69d83]{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:8px;margin-top:20px;padding:14px 16px}.reply-title[data-v-cfa69d83]{color:var(--primary-800);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.reply-ic[data-v-cfa69d83]{width:16px;height:16px}.reply-time[data-v-cfa69d83]{color:var(--gray-500);margin-left:auto;font-size:12px;font-weight:400}.detail-reply p[data-v-cfa69d83]{color:var(--gray-800);white-space:pre-wrap;margin:0;line-height:1.55}.reply-form-block[data-v-cfa69d83]{margin-top:20px}.reply-form-block .detail-label[data-v-cfa69d83]{width:auto;margin-bottom:8px;display:block}.reply-textarea[data-v-cfa69d83]{box-sizing:border-box;border:1px solid var(--gray-200);resize:vertical;border-radius:8px;width:100%;margin-bottom:12px;padding:12px;font-family:inherit;font-size:14px}.reply-textarea[data-v-cfa69d83]:focus{border-color:var(--primary-500);outline:none}.btn-submit-reply[data-v-cfa69d83]{background:var(--primary-600);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-submit-reply[data-v-cfa69d83]:hover:not(:disabled){background:var(--primary-700)}.btn-submit-reply[data-v-cfa69d83]:disabled{opacity:.6;cursor:not-allowed}.btn-icon[data-v-cfa69d83]{width:16px;height:16px}.image-preview[data-v-cfa69d83]{z-index:1000;cursor:pointer;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-preview img[data-v-cfa69d83]{object-fit:contain;max-width:90%;max-height:90%}.fade-enter-active[data-v-cfa69d83],.fade-leave-active[data-v-cfa69d83]{transition:opacity .2s}.fade-enter-from[data-v-cfa69d83],.fade-leave-to[data-v-cfa69d83]{opacity:0}.scale-enter-active[data-v-cfa69d83],.scale-leave-active[data-v-cfa69d83]{transition:all .2s}.scale-enter-from[data-v-cfa69d83],.scale-leave-to[data-v-cfa69d83]{opacity:0;transform:scale(.96)}.profile[data-v-7cc64967]{max-width:900px;margin:0 auto;padding:24px}.profile-header-card[data-v-7cc64967]{border:1px solid var(--gray-200);background:#fff;border-radius:16px;align-items:center;gap:24px;margin-bottom:24px;padding:32px;display:flex;box-shadow:0 1px 3px #0000001a}.profile-avatar[data-v-7cc64967]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.avatar-icon[data-v-7cc64967]{color:#42b983;width:48px;height:48px}.profile-header-info[data-v-7cc64967]{flex:1}.profile-header-info h1[data-v-7cc64967]{color:var(--gray-900);margin:0 0 4px;font-size:28px;font-weight:700}.username[data-v-7cc64967]{color:var(--gray-500);margin:0 0 12px;font-size:14px}.user-badges[data-v-7cc64967]{gap:8px;display:flex}.stats-grid[data-v-7cc64967]{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card[data-v-7cc64967]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000001a}.stat-icon[data-v-7cc64967]{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.stat-icon.pots[data-v-7cc64967]{color:#9333ea;background:#f3e8ff}.stat-icon.online[data-v-7cc64967]{color:#2e7d32;background:#e8f5e9}.stat-icon.water[data-v-7cc64967]{color:#1976d2;background:#e3f2fd}.stat-icon .icon[data-v-7cc64967]{width:24px;height:24px}.stat-value[data-v-7cc64967]{color:var(--gray-900);font-size:28px;font-weight:700}.stat-label[data-v-7cc64967]{color:var(--gray-500);font-size:13px}.info-sections[data-v-7cc64967]{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px;display:grid}.info-card[data-v-7cc64967]{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.card-title[data-v-7cc64967]{color:var(--gray-800);align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600;display:flex}.card-icon[data-v-7cc64967]{width:20px;height:20px;color:var(--gray-400)}.info-list[data-v-7cc64967]{flex-direction:column;gap:12px;display:flex}.info-item[data-v-7cc64967]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.info-item[data-v-7cc64967]:last-child{border-bottom:none}.info-label[data-v-7cc64967]{color:var(--gray-500);font-size:14px}.info-value[data-v-7cc64967]{color:var(--gray-800);font-size:14px;font-weight:500}.role-badge[data-v-7cc64967]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.role-badge.admin[data-v-7cc64967]{color:#1976d2;background:#e3f2fd}.role-badge.user[data-v-7cc64967]{color:#666;background:#f5f5f5}.status-badge[data-v-7cc64967]{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.status-badge.active[data-v-7cc64967]{color:#2e7d32;background:#e8f5e9}.btn[data-v-7cc64967]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-7cc64967]{width:18px;height:18px}.btn-primary[data-v-7cc64967]{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #22c55e4d}.btn-primary[data-v-7cc64967]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-primary[data-v-7cc64967]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-7cc64967]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-7cc64967]:hover{background:var(--gray-200)}.btn-danger[data-v-7cc64967]{color:#fff;background:#dc2626}.btn-danger[data-v-7cc64967]:hover{background:#b91c1c}.btn-link[data-v-7cc64967]{color:#1976d2;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.btn-link[data-v-7cc64967]:hover{text-decoration:underline}.logout-section[data-v-7cc64967]{text-align:center;padding:16px 0}.modal-overlay[data-v-7cc64967]{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-7cc64967]{background:#fff;border-radius:12px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-7cc64967]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3[data-v-7cc64967]{color:var(--gray-900);font-size:18px;font-weight:600}.modal-close[data-v-7cc64967]{background:var(--gray-100);cursor:pointer;width:32px;height:32px;color:var(--gray-500);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-7cc64967]:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body[data-v-7cc64967]{padding:24px}.form-group[data-v-7cc64967]{margin-bottom:16px}.form-group label[data-v-7cc64967]{color:var(--gray-700);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input[data-v-7cc64967]{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-input[data-v-7cc64967]:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e1a}.modal-footer[data-v-7cc64967]{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.fade-enter-active[data-v-7cc64967],.fade-leave-active[data-v-7cc64967]{transition:opacity .2s}.fade-enter-from[data-v-7cc64967],.fade-leave-to[data-v-7cc64967]{opacity:0}.scale-enter-active[data-v-7cc64967],.scale-leave-active[data-v-7cc64967]{transition:all .2s}.scale-enter-from[data-v-7cc64967],.scale-leave-to[data-v-7cc64967]{opacity:0;transform:scale(.95)}@media (width<=768px){.profile-header-card[data-v-7cc64967]{text-align:center;flex-direction:column}.user-badges[data-v-7cc64967]{justify-content:center}.stats-grid[data-v-7cc64967],.info-sections[data-v-7cc64967]{grid-template-columns:1fr}}.sc-overlay[data-v-16096a23]{z-index:10000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sc-dialog[data-v-16096a23]{background:#fff;border-radius:14px;width:100%;max-width:360px;padding:18px 18px 20px;box-shadow:0 20px 50px #00000026}.sc-head[data-v-16096a23]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sc-title[data-v-16096a23]{color:#0f172a;font-size:16px;font-weight:700}.sc-close[data-v-16096a23]{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.sc-hint[data-v-16096a23]{color:#64748b;margin-bottom:12px;font-size:13px}.sc-loading[data-v-16096a23]{text-align:center;color:#64748b;padding:40px 0;font-size:14px}.sc-canvas-wrap[data-v-16096a23]{width:310px;max-width:100%;margin:0 auto;position:relative}.sc-bg[data-v-16096a23]{-webkit-user-select:none;user-select:none;border-radius:8px;width:310px;max-width:100%;height:auto;display:block}.sc-piece[data-v-16096a23]{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;filter:drop-shadow(0 2px 6px #0003);position:absolute}.sc-piece[data-v-16096a23]:active{cursor:grabbing}.sc-err[data-v-16096a23]{color:#dc2626;text-align:center;margin-top:10px;font-size:13px}@media (width<=400px){.sc-canvas-wrap[data-v-16096a23]{-webkit-overflow-scrolling:touch;overflow-x:auto}}.auth-page[data-v-fd2a034d]{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 50%,#f0f9ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-bg[data-v-fd2a034d]{pointer-events:none;position:absolute;inset:0}.bg-circle[data-v-fd2a034d]{opacity:.4;border-radius:50%;position:absolute}.circle-1[data-v-fd2a034d]{background:radial-gradient(circle,#22c55e26 0%,#0000 70%);width:600px;height:600px;top:-200px;right:-200px}.circle-2[data-v-fd2a034d]{background:radial-gradient(circle,#3b82f61a 0%,#0000 70%);width:400px;height:400px;bottom:-100px;left:-100px}.circle-3[data-v-fd2a034d]{background:radial-gradient(circle,#f59e0b14 0%,#0000 70%);width:300px;height:300px;top:50%;left:30%;transform:translate(-50%,-50%)}.back-home[data-v-fd2a034d]{z-index:10;position:absolute;top:24px;left:24px}.back-link[data-v-fd2a034d]{color:var(--gray-600);box-shadow:var(--shadow-sm);background:#fff;border-radius:100px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.back-link[data-v-fd2a034d]:hover{color:var(--primary-600);box-shadow:var(--shadow-md);transform:translate(-2px)}.back-icon[data-v-fd2a034d]{width:18px;height:18px}.auth-card[data-v-fd2a034d]{border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);z-index:1;background:#fff;padding:40px;position:relative}.auth-header[data-v-fd2a034d]{text-align:center;margin-bottom:32px}.brand-logo[data-v-fd2a034d]{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex;box-shadow:0 8px 24px #22c55e4d}.logo-icon[data-v-fd2a034d]{color:#fff;width:36px;height:36px}.brand-name[data-v-fd2a034d]{color:var(--gray-900);letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:800}.brand-tagline[data-v-fd2a034d]{color:var(--gray-500);font-size:15px}.auth-tabs[data-v-fd2a034d]{background:var(--gray-100);border-radius:var(--radius);margin-bottom:28px;padding:4px;display:flex}.tab[data-v-fd2a034d]{border-radius:var(--radius-sm);color:var(--gray-500);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 8px;font-size:13px;font-weight:600;transition:all .2s}.tab.active[data-v-fd2a034d]{color:var(--primary-700);box-shadow:var(--shadow-sm);background:#fff}.tab[data-v-fd2a034d]:not(.active):hover{color:var(--gray-700)}.auth-form[data-v-fd2a034d]{flex-direction:column;gap:20px;display:flex}.form-group[data-v-fd2a034d]{flex-direction:column;gap:8px;display:flex}.form-label[data-v-fd2a034d]{color:var(--gray-700);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.label-icon[data-v-fd2a034d]{width:16px;height:16px;color:var(--gray-400)}.form-input[data-v-fd2a034d]{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);background:#fff;padding:14px 16px;font-size:15px;transition:all .2s}.form-input[data-v-fd2a034d]::placeholder{color:var(--gray-400)}.form-input[data-v-fd2a034d]:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1a}.input-wrapper[data-v-fd2a034d]{position:relative}.toggle-password[data-v-fd2a034d]{cursor:pointer;color:var(--gray-400);background:0 0;border:none;padding:8px;transition:color .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-password[data-v-fd2a034d]:hover{color:var(--gray-600)}.toggle-icon[data-v-fd2a034d]{width:20px;height:20px}.btn-code[data-v-fd2a034d]{background:var(--primary-600);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.btn-code[data-v-fd2a034d]:hover:not(:disabled){background:var(--primary-700)}.btn-code[data-v-fd2a034d]:disabled{background:var(--gray-300);cursor:not-allowed}.error-message[data-v-fd2a034d]{border-radius:var(--radius);color:#dc2626;background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.error-icon[data-v-fd2a034d]{flex-shrink:0;width:18px;height:18px}.btn-submit[data-v-fd2a034d]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #22c55e59}.btn-submit[data-v-fd2a034d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #22c55e73}.btn-submit[data-v-fd2a034d]:disabled{opacity:.7;cursor:not-allowed}.btn-icon[data-v-fd2a034d]{width:20px;height:20px}.spin[data-v-fd2a034d]{animation:1s linear infinite spin-fd2a034d}@keyframes spin-fd2a034d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer[data-v-fd2a034d]{border-top:1px solid var(--gray-100);margin-top:24px;padding-top:24px}.terms-text[data-v-fd2a034d]{text-align:center;color:var(--gray-400);font-size:12px}.decoration[data-v-fd2a034d]{pointer-events:none;z-index:0;position:absolute}.plant-left[data-v-fd2a034d]{bottom:10%;left:5%}.plant-right[data-v-fd2a034d]{top:15%;right:5%}.deco-leaf[data-v-fd2a034d]{color:var(--primary-300);opacity:.3;position:absolute}.leaf-1[data-v-fd2a034d]{width:80px;height:80px;transform:rotate(-30deg)}.leaf-2[data-v-fd2a034d]{width:60px;height:60px;top:-40px;left:40px;transform:rotate(20deg)}.leaf-3[data-v-fd2a034d]{width:70px;height:70px;transform:rotate(45deg)}.leaf-4[data-v-fd2a034d]{width:50px;height:50px;top:50px;right:30px;transform:rotate(-15deg)}@media (width<=640px){.auth-card[data-v-fd2a034d]{padding:32px 24px}.brand-name[data-v-fd2a034d]{font-size:24px}.back-home[data-v-fd2a034d]{top:16px;left:16px}.back-link span[data-v-fd2a034d],.decoration[data-v-fd2a034d]{display:none}.tab[data-v-fd2a034d]{padding:8px 4px;font-size:12px}}.pot-detail[data-v-72e49e2f]{max-width:1400px;margin:0 auto;padding:24px}.page-header[data-v-72e49e2f]{align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h1[data-v-72e49e2f]{font-size:var(--text-2xl);color:var(--gray-900);flex:1;margin:0;font-weight:700}.btn-icon-round[data-v-72e49e2f]{border-radius:var(--radius-full);border:1px solid var(--gray-200);width:44px;height:44px;color:var(--gray-700);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-icon-round[data-v-72e49e2f]:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--primary-600)}.btn-icon-round__icon[data-v-72e49e2f]{width:22px;height:22px}.camera-form[data-v-72e49e2f]{flex-direction:column;gap:8px;display:flex}.camera-label[data-v-72e49e2f]{color:var(--gray-600);font-size:12px;font-weight:600}.camera-input[data-v-72e49e2f]{border:1px solid var(--gray-200);border-radius:var(--radius);box-sizing:border-box;width:100%;padding:8px 10px;font-size:13px}.camera-actions[data-v-72e49e2f]{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.camera-shots[data-v-72e49e2f]{border-top:1px solid var(--gray-100);margin-top:14px;padding-top:12px}.camera-shots-title[data-v-72e49e2f]{color:var(--gray-600);margin:0 0 8px;font-size:12px;font-weight:600}.camera-shots-grid[data-v-72e49e2f]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.camera-shots--modal[data-v-72e49e2f]{margin-top:8px}.camera-shots-grid--modal-thumbs[data-v-72e49e2f]{grid-template-columns:repeat(5,1fr);gap:6px;max-width:100%}@media (width<=400px){.camera-shots-grid--modal-thumbs[data-v-72e49e2f]{grid-template-columns:repeat(4,1fr)}}.camera-shot-thumb--modal[data-v-72e49e2f]{aspect-ratio:4/3;max-height:48px}.camera-shot-thumb--modal img[data-v-72e49e2f]{object-fit:cover}.camera-timeline-link[data-v-72e49e2f]{color:var(--primary-600,#16a34a);margin-top:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.camera-timeline-link[data-v-72e49e2f]:hover{text-decoration:underline}.camera-shot-thumb[data-v-72e49e2f]{border-radius:var(--radius-sm);border:1px solid var(--gray-100);aspect-ratio:4/3;background:var(--gray-100);display:block;overflow:hidden}.camera-shot-thumb img[data-v-72e49e2f]{object-fit:cover;width:100%;height:100%;display:block}.video-modal-backdrop[data-v-72e49e2f]{z-index:2000;box-sizing:border-box;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.video-modal[data-v-72e49e2f]{border-radius:var(--radius-lg);background:#fff;flex-direction:column;width:min(920px,100%);max-height:min(90vh,880px);display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.video-modal-head[data-v-72e49e2f]{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.video-modal-title[data-v-72e49e2f]{color:var(--gray-900);font-size:15px;font-weight:600}.video-modal-close[data-v-72e49e2f]{border-radius:var(--radius);width:36px;height:36px;color:var(--gray-500);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.video-modal-close[data-v-72e49e2f]:hover{background:var(--gray-100);color:var(--gray-800)}.video-modal-close-icon[data-v-72e49e2f]{width:20px;height:20px}.video-modal-body[data-v-72e49e2f]{background:#0f172a;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex}.video-modal-img[data-v-72e49e2f]{object-fit:contain;vertical-align:middle;width:auto;max-width:100%;height:auto;max-height:min(72vh,720px)}.video-modal-empty[data-v-72e49e2f]{color:#e2e8f0;text-align:center;max-width:420px;margin:0;padding:24px 16px;font-size:14px;line-height:1.6}.video-modal-code[data-v-72e49e2f]{color:#f1f5f9;background:#ffffff1f;border-radius:4px;padding:2px 6px;font-size:12px}.camera-inline-code[data-v-72e49e2f]{background:var(--gray-100);color:var(--gray-800);border-radius:4px;padding:1px 5px;font-size:12px}.camera-settings-backdrop[data-v-72e49e2f]{z-index:2100;box-sizing:border-box;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.camera-settings-modal[data-v-72e49e2f]{border-radius:var(--radius-lg);width:min(480px,100%);max-height:min(90vh,720px);box-shadow:var(--shadow-lg,0 20px 40px #00000026);background:#fff;flex-direction:column;display:flex;overflow:hidden}.camera-settings-head[data-v-72e49e2f]{border-bottom:1px solid var(--gray-100);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.camera-settings-title[data-v-72e49e2f]{color:var(--gray-900);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.camera-settings-title-icon[data-v-72e49e2f]{width:18px;height:18px;color:var(--primary-600);flex-shrink:0}.camera-settings-body[data-v-72e49e2f]{flex:1;min-height:0;padding:14px 16px;overflow-y:auto}.camera-settings-hint[data-v-72e49e2f]{margin-top:0}.camera-settings-foot[data-v-72e49e2f]{border-top:1px solid var(--gray-100);background:var(--gray-50);flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 16px;display:flex}.detail-layout[data-v-72e49e2f]{grid-template-columns:1fr min(380px,36%);align-items:stretch;gap:24px;display:grid}.detail-main[data-v-72e49e2f]{flex-direction:column;gap:24px;min-width:0;height:100%;min-height:100%;display:flex}.sensor-history-card[data-v-72e49e2f]{flex-direction:column;flex:1;min-height:0;display:flex}.sensor-history-card .section-desc[data-v-72e49e2f]{flex-shrink:0}.sensor-history-body[data-v-72e49e2f]{flex:1;min-height:0;overflow:auto}.sensor-history-card .history-pagination[data-v-72e49e2f]{flex-shrink:0;margin-top:12px;margin-bottom:0}.detail-side[data-v-72e49e2f]{flex-direction:column;gap:20px;height:100%;min-height:100%;display:flex}.irrigation-log-card[data-v-72e49e2f]{flex-direction:column;flex:1;min-height:0;display:flex}.irrigation-log-card .section-title[data-v-72e49e2f],.irrigation-desc[data-v-72e49e2f]{flex-shrink:0}.irrigation-desc[data-v-72e49e2f]{margin-bottom:10px}.log-list-compact[data-v-72e49e2f]{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.irrigation-row[data-v-72e49e2f]{border-radius:var(--radius);border:1px solid var(--gray-100);align-items:flex-start;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.irrigation-row[data-v-72e49e2f]:last-child{margin-bottom:0}.irrigation-pill[data-v-72e49e2f]{border-radius:var(--radius-full);color:#1d4ed8;background:#dbeafe;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:600}.irrigation-text[data-v-72e49e2f]{color:var(--gray-700);word-break:break-word;font-size:12px;line-height:1.4}.irrigation-pagination[data-v-72e49e2f]{flex-shrink:0;margin-top:12px;margin-bottom:0}.irrigation-empty[data-v-72e49e2f]{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:120px;display:flex}.detail-bottom[data-v-72e49e2f]{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.agent-card[data-v-72e49e2f]{grid-column:1/-1}.agent-header-row[data-v-72e49e2f]{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:8px;display:grid}.agent-card .section-title.agent-card-title[data-v-72e49e2f]{text-align:center;justify-self:center;margin:0}.agent-mode-icons[data-v-72e49e2f]{align-items:center;gap:8px;display:flex}.agent-mode-icons--end[data-v-72e49e2f]{justify-content:flex-end}.mode-icon-btn[data-v-72e49e2f]{border-radius:var(--radius);border:1px solid var(--gray-200);background:var(--gray-50);width:40px;height:40px;color:var(--gray-700);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.mode-icon-btn[data-v-72e49e2f]:hover{background:var(--gray-100)}.mode-icon-btn.active[data-v-72e49e2f]{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.mode-icon-btn__icon[data-v-72e49e2f]{flex-shrink:0;width:20px;height:20px}.mode-hint[data-v-72e49e2f]{color:var(--gray-600);margin:0 0 16px;font-size:13px;line-height:1.5}.agent-suggestion[data-v-72e49e2f]{border-radius:var(--radius);background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;margin-bottom:20px;padding:16px}.suggestion-head[data-v-72e49e2f]{color:var(--gray-800);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.suggestion-head .s-icon[data-v-72e49e2f]{color:#059669;width:18px;height:18px}.suggestion-body[data-v-72e49e2f]{color:var(--gray-800);white-space:pre-wrap;margin:0 0 12px;font-size:14px;line-height:1.55}.suggestion-actions[data-v-72e49e2f]{flex-wrap:wrap;gap:8px;display:flex}.suggestion-auto-hint[data-v-72e49e2f]{color:var(--gray-600);margin:0;font-size:12px;line-height:1.5}.suggestion-auto-hint--warn[data-v-72e49e2f]{color:#b45309;margin-top:8px}.agent-chat[data-v-72e49e2f]{border-top:1px solid var(--gray-100);margin-bottom:24px;padding-top:8px}.chat-head[data-v-72e49e2f]{color:var(--gray-800);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.chat-head .s-icon[data-v-72e49e2f]{width:18px;height:18px;color:var(--primary-600)}.chat-messages[data-v-72e49e2f]{background:var(--gray-50);border-radius:var(--radius);flex-direction:column;gap:10px;max-height:280px;margin-bottom:12px;padding:12px;display:flex;overflow-y:auto}.chat-empty[data-v-72e49e2f]{color:var(--gray-500);text-align:center;padding:16px;font-size:13px}.chat-bubble[data-v-72e49e2f]{white-space:pre-wrap;border-radius:12px;max-width:92%;padding:10px 14px;font-size:14px;line-height:1.5}.chat-bubble.user[data-v-72e49e2f]{color:#1e3a5f;background:#dbeafe;align-self:flex-end}.chat-bubble.assistant[data-v-72e49e2f]{border:1px solid var(--gray-200);color:var(--gray-800);background:#fff;align-self:flex-start}.chat-bubble.loading[data-v-72e49e2f]{color:var(--gray-500);font-style:italic}.chat-input-row[data-v-72e49e2f]{align-items:center;gap:10px;display:flex}.chat-input[data-v-72e49e2f]{border:1px solid var(--gray-200);border-radius:var(--radius);flex:1;min-width:0;padding:10px 14px;font-size:14px}.chat-send[data-v-72e49e2f]{flex-shrink:0}.chat-err[data-v-72e49e2f]{color:#b91c1c;margin:8px 0 0;font-size:13px}.subsection-title[data-v-72e49e2f]{color:var(--gray-900);margin:0 0 8px;font-size:15px;font-weight:600}.section-desc.tight[data-v-72e49e2f]{margin-bottom:12px}.btn-ghost[data-v-72e49e2f]{color:var(--gray-600);border:1px dashed var(--gray-300);background:0 0}.btn-ghost[data-v-72e49e2f]:hover:not(:disabled){background:var(--gray-50);color:var(--gray-800)}.btn.sm[data-v-72e49e2f],.btn-water.sm[data-v-72e49e2f]{padding:6px 12px;font-size:13px}.btn-primary[data-v-72e49e2f]{background:var(--primary-600,#16a34a);color:#fff}.btn-primary[data-v-72e49e2f]:hover:not(:disabled){filter:brightness(1.05)}.btn-primary[data-v-72e49e2f]:disabled{opacity:.6;cursor:not-allowed}.btn[data-v-72e49e2f]{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-icon[data-v-72e49e2f]{width:18px;height:18px}.btn-back[data-v-72e49e2f]{background:var(--gray-100);color:var(--gray-700)}.btn-back[data-v-72e49e2f]:hover{background:var(--gray-200)}.btn-water[data-v-72e49e2f]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.btn-water[data-v-72e49e2f]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-72e49e2f]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-72e49e2f]:disabled{opacity:.6;cursor:not-allowed}.spin[data-v-72e49e2f]{animation:1s linear infinite spin-72e49e2f}@keyframes spin-72e49e2f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.detail-card[data-v-72e49e2f]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:24px}.section-card .section-title[data-v-72e49e2f],.side-card .section-title[data-v-72e49e2f],.log-card .section-title[data-v-72e49e2f],.agent-card .section-title[data-v-72e49e2f]{color:var(--gray-900);align-items:center;gap:8px;margin:0 0 8px;font-size:16px;font-weight:600;display:flex}.section-icon[data-v-72e49e2f]{width:20px;height:20px;color:var(--primary-600);flex-shrink:0}.section-desc[data-v-72e49e2f]{color:var(--gray-500);margin:0 0 16px;font-size:13px;line-height:1.5}.detail-meta[data-v-72e49e2f]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.hw-id[data-v-72e49e2f]{color:var(--gray-600);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.meta-icon[data-v-72e49e2f]{width:18px;height:18px;color:var(--gray-400);flex-shrink:0}.hw-id code[data-v-72e49e2f]{background:var(--gray-50);border-radius:var(--radius);word-break:break-all;padding:4px 8px;font-size:13px}.status-badge[data-v-72e49e2f]{border-radius:var(--radius-full);flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.status-badge.online[data-v-72e49e2f]{color:#16a34a;background:#dcfce7}.status-badge.offline[data-v-72e49e2f]{background:var(--gray-100);color:var(--gray-500)}.detail-meta-badges[data-v-72e49e2f]{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.care-mode-badge[data-v-72e49e2f]{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.care-mode-icon[data-v-72e49e2f]{flex-shrink:0;width:14px;height:14px}.care-mode--manual[data-v-72e49e2f]{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200)}.care-mode--semi[data-v-72e49e2f]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.care-mode--auto[data-v-72e49e2f]{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.device-type-badge[data-v-72e49e2f]{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:5px;padding:6px 11px;font-size:11px;font-weight:600;display:inline-flex}.device-type-icon[data-v-72e49e2f]{flex-shrink:0;width:13px;height:13px}.device-type--pot[data-v-72e49e2f]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.device-type--terminal[data-v-72e49e2f]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.device-type--gateway[data-v-72e49e2f]{color:#7c3aed;background:#faf5ff;border-color:#ddd6fe}.sensor-grid[data-v-72e49e2f]{background:var(--gray-50);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;display:grid}.sensor-grid--modbus[data-v-72e49e2f]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.sensor-grid--compact-row[data-v-72e49e2f]{grid-template-columns:repeat(3,1fr);margin-top:0;margin-bottom:0}.sensor-grid--gateway[data-v-72e49e2f]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.sensor-subsection-title[data-v-72e49e2f]{color:var(--gray-600);margin:0 0 10px;font-size:12px;font-weight:600}.sensor-item[data-v-72e49e2f]{text-align:center;border-radius:var(--radius);border:1px solid var(--gray-100);background:#fff;padding:12px 8px}.sensor-item.warning[data-v-72e49e2f]{background:#fef2f2;border-color:#fecaca}.sensor-icon[data-v-72e49e2f]{width:20px;height:20px;color:var(--gray-400);margin:0 auto 6px}.sensor-value[data-v-72e49e2f]{color:var(--gray-900);margin-bottom:4px;font-size:18px;font-weight:700}.sensor-delta[data-v-72e49e2f]{color:var(--gray-600);justify-content:center;align-items:center;gap:4px;margin-bottom:4px;font-size:11px;display:flex}.sensor-delta.muted[data-v-72e49e2f]{color:var(--gray-400);font-size:10px}.delta-icon[data-v-72e49e2f]{width:12px;height:12px}.delta-icon.up[data-v-72e49e2f]{color:#16a34a}.delta-icon.down[data-v-72e49e2f]{color:#2563eb}.delta-icon.flat[data-v-72e49e2f]{color:var(--gray-400)}.sensor-label[data-v-72e49e2f]{color:var(--gray-500);font-size:11px}.pot-details[data-v-72e49e2f]{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.detail-item[data-v-72e49e2f]{color:var(--gray-600);align-items:center;gap:10px;font-size:14px;display:flex}.detail-icon[data-v-72e49e2f]{width:16px;height:16px;color:var(--gray-400)}.pot-actions[data-v-72e49e2f]{flex-wrap:wrap;gap:10px;display:flex}.user-block[data-v-72e49e2f]{align-items:flex-start;gap:16px;display:flex}.user-avatar[data-v-72e49e2f]{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-400), var(--primary-600));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:700;display:flex}.user-lines[data-v-72e49e2f]{min-width:0}.user-name[data-v-72e49e2f]{color:var(--gray-900);margin:0 0 4px;font-size:16px;font-weight:600}.user-meta[data-v-72e49e2f]{color:var(--gray-600);word-break:break-all;margin:0 0 4px;font-size:13px}.user-meta.subtle[data-v-72e49e2f]{color:var(--gray-400);font-size:12px}.kv-list[data-v-72e49e2f]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.kv-list li[data-v-72e49e2f]{color:var(--gray-700);border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;font-size:13px;display:flex}.kv-list li[data-v-72e49e2f]:last-child{border-bottom:none;padding-bottom:0}.kv-list span[data-v-72e49e2f]:first-child{color:var(--gray-500);flex-shrink:0}.kv-list code[data-v-72e49e2f]{background:var(--gray-50);border-radius:4px;padding:2px 6px;font-size:12px}.kv-list-camera[data-v-72e49e2f]{align-items:flex-start}.kv-value-clip[data-v-72e49e2f]{word-break:break-all;text-align:right;white-space:pre-wrap;max-width:58%;font-size:11px;line-height:1.35}.strategy-camera-open[data-v-72e49e2f]{justify-content:center;width:100%;margin-top:12px}.table-wrap[data-v-72e49e2f]{border-radius:var(--radius);border:1px solid var(--gray-100);overflow-x:auto}.data-table[data-v-72e49e2f]{border-collapse:collapse;width:100%;font-size:12px}.data-table th[data-v-72e49e2f],.data-table td[data-v-72e49e2f]{text-align:left;border-bottom:1px solid var(--gray-100);padding:10px 12px}.data-table th[data-v-72e49e2f]{background:var(--gray-50);color:var(--gray-600);white-space:nowrap;font-weight:600}.data-table tbody tr[data-v-72e49e2f]:hover{background:#fafafa}.cell-time[data-v-72e49e2f]{white-space:nowrap;color:var(--gray-600)}.cell-delta[data-v-72e49e2f]{color:var(--gray-500);font-size:11px}.pagination[data-v-72e49e2f]{border-top:1px solid var(--gray-100);justify-content:center;align-items:center;gap:8px;padding:16px 12px;display:flex}.page-btn[data-v-72e49e2f]{border:1px solid var(--gray-300);border-radius:var(--radius-sm);color:var(--gray-700);cursor:pointer;background:#fff;padding:6px 12px;font-size:13px;transition:all .2s}.page-btn[data-v-72e49e2f]:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.page-btn[data-v-72e49e2f]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-72e49e2f]{color:var(--gray-600);padding:0 8px;font-size:13px}.log-list[data-v-72e49e2f]{flex-direction:column;gap:12px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.log-item[data-v-72e49e2f]{border-radius:var(--radius);border:1px solid var(--gray-100);background:var(--gray-50);padding:12px 14px}.log-item.sev-critical[data-v-72e49e2f]{background:#fef2f2;border-color:#fecaca}.log-item.sev-warning[data-v-72e49e2f]{background:#fffbeb;border-color:#fde68a}.log-item.sev-info[data-v-72e49e2f]{background:#f0f9ff;border-color:#bae6fd}.log-neutral[data-v-72e49e2f]{background:#f8fafc}.log-item-head[data-v-72e49e2f]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.log-item-head time[data-v-72e49e2f]{color:var(--gray-500);font-size:11px}.log-badge[data-v-72e49e2f]{border-radius:var(--radius-full);background:var(--gray-200);color:var(--gray-700);padding:2px 8px;font-size:11px;font-weight:600}.log-badge.trigger[data-v-72e49e2f]{color:#1d4ed8;background:#dbeafe}.log-msg[data-v-72e49e2f]{color:var(--gray-700);margin:0;font-size:13px;line-height:1.5}.log-notes[data-v-72e49e2f]{color:var(--gray-500);margin-top:4px;font-size:12px;display:block}.empty-inline[data-v-72e49e2f]{text-align:center;color:var(--gray-500);padding:28px 16px;font-size:14px}.empty-inline-icon[data-v-72e49e2f]{width:36px;height:36px;color:var(--gray-300);margin:0 auto 10px;display:block}.empty-state[data-v-72e49e2f]{text-align:center;color:var(--gray-600);padding:48px 20px}@media (width<=1100px){.detail-layout[data-v-72e49e2f],.detail-bottom[data-v-72e49e2f]{grid-template-columns:1fr}}@media (width<=640px){.sensor-grid[data-v-72e49e2f]{grid-template-columns:repeat(2,1fr)}.data-table[data-v-72e49e2f]{font-size:11px}.data-table th[data-v-72e49e2f],.data-table td[data-v-72e49e2f]{padding:8px}}.camera-timeline-page[data-v-8a4855e7]{max-width:1400px;margin:0 auto;padding:24px}.page-head[data-v-8a4855e7]{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head h1[data-v-8a4855e7]{min-width:0;font-size:var(--text-2xl,1.35rem);color:var(--gray-900);flex:1;margin:0;font-weight:700}.btn[data-v-8a4855e7]{border-radius:var(--radius,8px);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:background .2s;display:inline-flex}.btn-back[data-v-8a4855e7]{background:var(--gray-100);color:var(--gray-700)}.btn-back[data-v-8a4855e7]:hover{background:var(--gray-200)}.btn-secondary[data-v-8a4855e7]{background:var(--gray-100);color:var(--gray-700)}.btn-secondary[data-v-8a4855e7]:hover:not(:disabled){background:var(--gray-200)}.btn-secondary[data-v-8a4855e7]:disabled{opacity:.6;cursor:not-allowed}.btn.sm[data-v-8a4855e7]{padding:8px 14px;font-size:13px}.btn-icon[data-v-8a4855e7]{width:18px;height:18px}.page-hint[data-v-8a4855e7]{color:var(--gray-600);margin:0 0 12px;font-size:13px;line-height:1.5}.page-error[data-v-8a4855e7]{color:#b91c1c;margin:0 0 16px;font-size:14px}.empty-state[data-v-8a4855e7]{text-align:center;color:var(--gray-600);padding:48px 20px;font-size:14px}.day-groups[data-v-8a4855e7]{flex-direction:column;gap:28px;display:flex}.day-section[data-v-8a4855e7]{border:1px solid var(--gray-200);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);background:#fff;padding:20px 22px}.day-heading[data-v-8a4855e7]{color:var(--gray-900);margin:0 0 4px;font-size:17px;font-weight:600}.day-count[data-v-8a4855e7]{color:var(--gray-500);margin:0 0 14px;font-size:13px}.day-thumb-grid[data-v-8a4855e7]{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.thumb-btn[data-v-8a4855e7]{border:1px solid var(--gray-200);border-radius:var(--radius,8px);background:var(--gray-50);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.thumb-btn[data-v-8a4855e7]:hover{border-color:var(--primary-500,#22c55e);box-shadow:0 2px 8px #22c55e26}.thumb-btn[data-v-8a4855e7]:focus-visible{outline:2px solid var(--primary-600,#16a34a);outline-offset:2px}.thumb-img[data-v-8a4855e7]{aspect-ratio:4/3;object-fit:cover;vertical-align:middle;width:100%;display:block}.thumb-caption[data-v-8a4855e7]{color:var(--gray-600);border-top:1px solid var(--gray-100);background:#fff;padding:6px 8px;font-size:11px;display:block}.lightbox-backdrop[data-v-8a4855e7]{z-index:3000;box-sizing:border-box;background:#0f172abf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-inner[data-v-8a4855e7]{flex-direction:column;align-items:center;max-width:min(96vw,1200px);max-height:92vh;display:flex;position:relative}.lightbox-close[data-v-8a4855e7]{z-index:1;border-radius:var(--radius-full,9999px);width:40px;height:40px;color:var(--gray-700);cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-12px;right:-12px;box-shadow:0 4px 12px #0003}.lightbox-close[data-v-8a4855e7]:hover{background:var(--gray-100)}.lightbox-close-icon[data-v-8a4855e7]{width:20px;height:20px}.lightbox-nav[data-v-8a4855e7]{z-index:2;border-radius:var(--radius-full,9999px);width:48px;height:48px;color:var(--gray-800);cursor:pointer;background:#ffffffeb;border:none;justify-content:center;align-items:center;transition:background .15s,opacity .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 12px #0003}.lightbox-nav[data-v-8a4855e7]:hover:not(:disabled){background:#fff}.lightbox-nav[data-v-8a4855e7]:disabled{opacity:.35;cursor:not-allowed}.lightbox-nav--prev[data-v-8a4855e7]{left:0;transform:translate(-8px,-50%)}.lightbox-nav--next[data-v-8a4855e7]{right:0;transform:translate(8px,-50%)}.lightbox-nav-icon[data-v-8a4855e7]{width:28px;height:28px}.lightbox-img[data-v-8a4855e7]{object-fit:contain;border-radius:var(--radius,8px);width:auto;max-width:100%;height:auto;max-height:min(78vh,900px);display:block;box-shadow:0 20px 50px #00000059}.lightbox-meta[data-v-8a4855e7]{color:#e2e8f0;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;margin:14px 0 0;padding:0 8px;font-size:13px;display:flex}.lightbox-time[data-v-8a4855e7]{color:#f8fafc;font-weight:600}.lightbox-pos[data-v-8a4855e7]{opacity:.9}.lightbox-hint[data-v-8a4855e7]{opacity:.75;width:100%;font-size:12px}@media (width<=640px){.day-thumb-grid[data-v-8a4855e7]{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.lightbox-close[data-v-8a4855e7]{top:8px;right:8px}.lightbox-nav[data-v-8a4855e7]{width:40px;height:40px}.lightbox-nav--prev[data-v-8a4855e7]{transform:translate(4px,-50%)}.lightbox-nav--next[data-v-8a4855e7]{transform:translate(-4px,-50%)}.lightbox-nav-icon[data-v-8a4855e7]{width:24px;height:24px}.lightbox-img[data-v-8a4855e7]{max-height:65vh}}.activate-page[data-v-70c6ce09]{justify-content:center;align-items:center;min-height:60vh;padding:24px;display:flex}.activate-card[data-v-70c6ce09]{border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;max-width:440px;box-shadow:var(--shadow-md);text-align:center;background:#fff;padding:32px}.activate-icon[data-v-70c6ce09]{width:56px;height:56px;color:var(--primary-600);margin:0 auto 16px}.activate-icon svg[data-v-70c6ce09]{width:100%;height:100%}h1[data-v-70c6ce09]{color:var(--gray-900);margin:0 0 16px;font-size:20px;font-weight:600}.msg[data-v-70c6ce09]{color:var(--gray-600);text-align:left;margin:0 0 24px;font-size:14px;line-height:1.6}.msg.hint[data-v-70c6ce09]{text-align:left}.msg.success[data-v-70c6ce09]{color:#16a34a;text-align:center}.msg.error[data-v-70c6ce09]{color:#dc2626;text-align:center}.msgError[data-v-70c6ce09]{color:#dc2626;text-align:left;margin:0 0 12px;font-size:13px;line-height:1.5}.paste-box[data-v-70c6ce09]{text-align:left;margin-bottom:8px}.paste-input[data-v-70c6ce09]{box-sizing:border-box;border:1px solid var(--gray-200);border-radius:var(--radius);resize:vertical;width:100%;margin-bottom:12px;padding:12px;font-family:ui-monospace,monospace;font-size:13px}.btn-block[data-v-70c6ce09]{justify-content:center;width:100%}.actions[data-v-70c6ce09]{flex-direction:column;gap:10px;display:flex}.actions--footer[data-v-70c6ce09]{margin-top:20px}.btn[data-v-70c6ce09]{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.btn[data-v-70c6ce09]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-70c6ce09]{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff}.btn-secondary[data-v-70c6ce09]{background:var(--gray-100);color:var(--gray-700)}
