.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:radial-gradient(ellipse at top left,rgba(61,102,82,.35) 0%,transparent 55%),radial-gradient(ellipse at bottom right,rgba(184,212,74,.08) 0%,transparent 50%),linear-gradient(165deg,#1a2e22,#1e3328 45%,#142119);color:#f5f6f2;font-family:var(--font-sans);overflow:hidden}.login-mountains{position:absolute;left:0;right:0;bottom:0;width:100%;height:40vh;min-height:280px;color:#0f1a12;pointer-events:none;z-index:0}.login-shell{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;gap:28px}.login-brand{display:flex;align-items:center;justify-content:center}.login-brand__logo{height:48px;width:auto;object-fit:contain}.login-card{background:#1a2e22bf;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);border:1px solid rgba(184,212,74,.15);border-radius:14px;padding:36px 32px 32px;box-shadow:0 20px 60px #0006,0 1px #ffffff0a inset}.login-eyebrow{color:#b8d44a;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}.login-title{font-family:var(--font-display, "Playfair Display", serif);font-size:32px;font-weight:600;letter-spacing:-.015em;line-height:1.15;color:#f5f6f2;margin-bottom:10px}.login-title em{font-style:italic;color:#b8d44a;font-weight:600}.login-subtitle{color:#f5f6f2b3;font-size:14px;line-height:1.55;margin-bottom:24px}.login-ms-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;font-family:var(--font-sans);font-size:14px;font-weight:600;color:#5e5e5e;background:#fff;border:1px solid #8c8c8c;border-radius:8px;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}.login-ms-btn:hover:not(:disabled){background:#fafafa;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}.login-ms-btn:disabled{opacity:.65;cursor:wait}.login-link{display:block;width:100%;margin-top:10px;padding:8px;background:transparent;border:none;color:#f5f6f299;font-size:12px;cursor:pointer;transition:color .12s}.login-link:hover{color:#b8d44a}.login-email-form{display:flex;flex-direction:column;gap:10px;margin-top:20px}.login-divider{display:flex;align-items:center;gap:12px;color:#f5f6f266;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:4px 0 12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#f5f6f21f}.login-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#f5f6f28c;font-weight:600}.login-input{width:100%;padding:11px 14px;font-size:14px;font-family:var(--font-sans);color:#f5f6f2;background:#0f1a1399;border:1px solid rgba(184,212,74,.2);border-radius:8px;transition:border-color .12s,background .12s}.login-input:focus{outline:none;border-color:#b8d44a;background:#0f1a13cc}.login-input::placeholder{color:#f5f6f259}.login-email-btn{width:100%;padding:11px 16px;font-size:14px;font-weight:600;font-family:var(--font-sans);color:#1a2e22;background:#b8d44a;border:none;border-radius:8px;cursor:pointer;transition:background .12s,transform .12s;margin-top:4px}.login-email-btn:hover:not(:disabled){background:#8fa832}.login-email-btn:disabled{opacity:.65;cursor:wait}.login-email-btn.secondary{color:#f5f6f2;background:transparent;border:1px solid rgba(184,212,74,.3)}.login-email-btn.secondary:hover:not(:disabled){background:#b8d44a14;border-color:#b8d44a}.login-error{margin-top:16px;padding:10px 14px;font-size:13px;color:#f5f6f2;background:#d96b6b2e;border:1px solid rgba(217,107,107,.4);border-radius:8px;line-height:1.4}@media(max-width:520px){.login-card{padding:28px 22px}.login-title{font-size:26px}.login-brand__logo{height:38px}}*{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "Inter", "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "Playfair Display", "Inter", system-ui, serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace}:root,[data-theme=basic-dark]{--bg-primary: #0f1117;--bg-secondary: #161822;--bg-tertiary: #1c1f2e;--bg-card: #1a1d2b;--bg-hover: #242838;--bg-input: #1e2233;--border: #2a2e3f;--border-light: #333854;--border-subtle: rgba(255,255,255,.08);--text-primary: #e8eaed;--text-secondary: #9ca3b4;--text-muted: #6b7280;--accent: #4f8ef7;--accent-hover: #6ba0ff;--accent-dim: rgba(79, 142, 247, .15);--success: #34d399;--warning: #fbbf24;--danger: #f87171;--info: #60a5fa;--font-sans: "Inter", "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0,0,0,.3);--shadow-lg: 0 4px 12px rgba(0,0,0,.4);--toast-success-bg: #065f46;--toast-success-fg: #a7f3d0;--toast-success-border: #047857;--toast-error-bg: #7f1d1d;--toast-error-fg: #fca5a5;--toast-error-border: #991b1b;--toast-info-bg: #1e3a5f;--toast-info-fg: #93c5fd;--toast-info-border: #1e40af}[data-theme=basic-light]{--bg-primary: #ffffff;--bg-secondary: #f5f6f8;--bg-tertiary: #eceef2;--bg-card: #ffffff;--bg-hover: #e8eaef;--bg-input: #ffffff;--border: #d5d8e0;--border-light: #c0c4cf;--border-subtle: rgba(0,0,0,.08);--text-primary: #1a1c22;--text-secondary: #555c6b;--text-muted: #8b919e;--accent: #3b7ce5;--accent-hover: #2d6ad4;--accent-dim: rgba(59, 124, 229, .1);--success: #16a06a;--warning: #d4960d;--danger: #dc3b3b;--info: #3b82e6;--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--toast-success-bg: #d1fae5;--toast-success-fg: #065f46;--toast-success-border: #6ee7b7;--toast-error-bg: #fee2e2;--toast-error-fg: #7f1d1d;--toast-error-border: #fca5a5;--toast-info-bg: #dbeafe;--toast-info-fg: #1e3a5f;--toast-info-border: #93c5fd}[data-theme=meadow-dark]{--bg-primary: #0e1a13;--bg-secondary: #142119;--bg-tertiary: #1a2d22;--bg-card: #172620;--bg-hover: #223a2d;--bg-input: #1a2d22;--border: #2a4a38;--border-light: #3D6652;--border-subtle: rgba(184,212,74,.08);--text-primary: #e4e8df;--text-secondary: #98a892;--text-muted: #6a7e6f;--accent: #B8D44A;--accent-hover: #cde65c;--accent-dim: rgba(184,212,74,.15);--success: #7ec87e;--warning: #e8c44a;--danger: #d96b6b;--info: #6bb5c4;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 4px 12px rgba(0,0,0,.5);--toast-success-bg: #1a3a22;--toast-success-fg: #7ec87e;--toast-success-border: #2a5a36;--toast-error-bg: #3a1a1a;--toast-error-fg: #d96b6b;--toast-error-border: #5a2a2a;--toast-info-bg: #1a2a3a;--toast-info-fg: #6bb5c4;--toast-info-border: #2a4a5a}[data-theme=meadow-light]{--bg-primary: #F5F6F2;--bg-secondary: #EDEFE8;--bg-tertiary: #E0E4DA;--bg-card: #FFFFFF;--bg-hover: #EDEFE8;--bg-input: #FFFFFF;--border: #D6DDD9;--border-light: #B8C3BB;--border-subtle: rgba(30,51,40,.06);--text-primary: #1A2E22;--text-secondary: #3D6652;--text-muted: #5A7264;--accent: #B8D44A;--accent-hover: #8FA832;--accent-dim: rgba(184,212,74,.18);--success: #3a8a3a;--warning: #b8860b;--danger: #c0392b;--info: #2980b9;--shadow: 0 1px 3px rgba(0,0,0,.06);--shadow-lg: 0 4px 12px rgba(0,0,0,.08);--toast-success-bg: #d4edda;--toast-success-fg: #1a4a22;--toast-success-border: #7ec87e;--toast-error-bg: #f8d7da;--toast-error-fg: #5a1a1a;--toast-error-border: #d96b6b;--toast-info-bg: #d1ecf1;--toast-info-fg: #1a3a4a;--toast-info-border: #6bb5c4}[data-theme=nord-dark]{--bg-primary: #2e3440;--bg-secondary: #3b4252;--bg-tertiary: #434c5e;--bg-card: #3b4252;--bg-hover: #4c566a;--bg-input: #3b4252;--border: #4c566a;--border-light: #5a657a;--border-subtle: rgba(216,222,233,.08);--text-primary: #eceff4;--text-secondary: #d8dee9;--text-muted: #7b88a1;--accent: #88c0d0;--accent-hover: #8fbcbb;--accent-dim: rgba(136,192,208,.15);--success: #a3be8c;--warning: #ebcb8b;--danger: #bf616a;--info: #81a1c1;--shadow: 0 1px 3px rgba(0,0,0,.3);--shadow-lg: 0 4px 12px rgba(0,0,0,.4);--toast-success-bg: #3b4a3e;--toast-success-fg: #a3be8c;--toast-success-border: #5a6e52;--toast-error-bg: #4a3b3e;--toast-error-fg: #bf616a;--toast-error-border: #6e525a;--toast-info-bg: #3b4452;--toast-info-fg: #81a1c1;--toast-info-border: #526a7e}[data-theme=nord-light]{--bg-primary: #eceff4;--bg-secondary: #e5e9f0;--bg-tertiary: #d8dee9;--bg-card: #eceff4;--bg-hover: #d0d6e1;--bg-input: #eceff4;--border: #c4cad6;--border-light: #b0b8c8;--border-subtle: rgba(46,52,64,.08);--text-primary: #2e3440;--text-secondary: #434c5e;--text-muted: #6a7388;--accent: #5e81ac;--accent-hover: #4e6f96;--accent-dim: rgba(94,129,172,.12);--success: #7a9e6a;--warning: #c4a44a;--danger: #a5444d;--info: #5e81ac;--shadow: 0 1px 3px rgba(0,0,0,.06);--shadow-lg: 0 4px 12px rgba(0,0,0,.08);--toast-success-bg: #dde8d5;--toast-success-fg: #3a4a32;--toast-success-border: #a3be8c;--toast-error-bg: #e8d5d7;--toast-error-fg: #4a3234;--toast-error-border: #bf616a;--toast-info-bg: #d5dee8;--toast-info-fg: #32404e;--toast-info-border: #81a1c1}html,body,#root{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}input,select,textarea{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--font-sans);font-size:13px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}button{cursor:pointer;font-family:var(--font-sans);font-size:13px;border:none;border-radius:var(--radius-sm);padding:7px 14px;background:var(--accent);color:#fff;font-weight:500;transition:background .15s}button:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}button.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}button.danger{background:var(--danger)}button.danger:hover{opacity:.85}button.ghost{background:transparent;color:var(--text-secondary);padding:4px 8px}button.ghost:hover{color:var(--text-primary);background:var(--bg-hover)}[data-theme=meadow-dark] button:not(.secondary):not(.ghost):not(.danger){color:#1a2e22;font-weight:600}[data-theme=meadow-light] button:not(.secondary):not(.ghost):not(.danger){color:#1a2e22;font-weight:600}[data-theme=nord-dark] button:not(.secondary):not(.ghost):not(.danger){color:#2e3440}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:var(--bg-secondary);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border-light)}tbody tr{transition:background .12s}tbody tr:hover{background:var(--bg-secondary)}.layout{display:flex;height:100%}.sidebar{width:220px;min-width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 0}.sidebar-logo{padding:0 20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-logo-img{height:28px;width:auto;object-fit:contain}.sidebar-logo-text{font-family:var(--font-display, var(--font-sans));font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}[data-theme=meadow-dark] .sidebar-logo-img,[data-theme=basic-dark] .sidebar-logo-img,[data-theme=nord-dark] .sidebar-logo-img{filter:brightness(0) invert(1)}.sidebar-logo .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.sidebar nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .15s;position:relative}.sidebar nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar nav a.active{background:var(--accent-dim);color:var(--text-primary);font-weight:600}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.sidebar nav a svg{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:12px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.main-content{flex:1;overflow-y:auto;padding:28px 32px;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-family:var(--font-display, var(--font-sans));font-size:28px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:0 1px 2px #1a2e2208}.card h3{font-family:var(--font-display, var(--font-sans));font-size:16px;font-weight:600;letter-spacing:-.005em;color:var(--text-primary)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:0 1px 2px #1a2e2208}.stat-card .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-weight:500}.stat-card .value{font-size:28px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;min-width:420px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h2{font-size:18px;margin-bottom:16px}.modal .form-group{margin-bottom:14px}.modal .form-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.modal .form-group input,.modal .form-group select{width:100%}.modal .form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:8px 16px;color:var(--text-secondary);font-weight:500}.tabs button:hover{color:var(--text-primary)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.toast{position:fixed;top:16px;right:16px;padding:12px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:500;z-index:200;animation:toast-in .25s ease-out}.toast.success{background:var(--toast-success-bg);color:var(--toast-success-fg);border:1px solid var(--toast-success-border)}.toast.error{background:var(--toast-error-bg);color:var(--toast-error-fg);border:1px solid var(--toast-error-border)}.toast.info{background:var(--toast-info-bg);color:var(--toast-info-fg);border:1px solid var(--toast-info-border)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.badge.success{background:#34d39926;color:var(--success)}.badge.warning{background:#fbbf2426;color:var(--warning)}.badge.danger{background:#f8717126;color:var(--danger)}.badge.info{background:#60a5fa26;color:var(--info)}.heat-low{background:#60a5fa33;color:var(--info)}.heat-mid{background:#34d39933;color:var(--success)}.heat-high{background:#fbbf2433;color:var(--warning)}.heat-over{background:#f8717133;color:var(--danger)}.action-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.action-item:last-child{border-bottom:none}.action-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.action-body{flex:1}.action-body .action-type{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.action-body .action-desc{font-size:13px;margin-top:2px}.action-buttons{display:flex;gap:6px;flex-shrink:0}.progress-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.progress-bar .fill{height:100%;border-radius:3px;transition:width .3s}.theme-picker{display:flex;gap:4px}.theme-picker button{width:22px;height:22px;border-radius:50%;padding:0;border:2px solid transparent;transition:border-color .15s,transform .15s;background:var(--bg-tertiary)}.theme-picker button:hover{transform:scale(1.15)}.theme-picker button.active-theme{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}
