:root{--blue-600:#2563eb;--blue-900:#1e3a8a;--cyan-500:#06b6d4;--green-600:#16a34a;--yellow-400:#facc15;--red-600:#dc2626;--violet-600:#7c3aed;--gray-100:#f3f4f6;--gray-400:#9ca3af;--gray-700:#374151;--white:#fff;--bg:var(--gray-100);--card:var(--white);--text:var(--gray-700);--primary:var(--blue-600);--primary-strong:var(--blue-900);--accent:var(--cyan-500)}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{background:radial-gradient(1200px 800px at 80% -10%,rgba(37,99,235,.08),transparent 60%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;margin:0}.app-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.app-header{align-items:center;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);background:#ffffffb3;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;padding:12px 20px;position:sticky;top:0}.brand{align-items:center;color:var(--primary-strong);cursor:pointer;display:inline-flex;font-size:18px;font-weight:800;letter-spacing:.4px;text-decoration:none}.brand .dot{color:var(--accent);margin-left:2px}nav{margin-left:auto}.top-controls,nav{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.dropdown{position:relative}.dropdown-locked{gap:6px}.ddl-button,.dropdown-locked{align-items:center;display:flex}.ddl-button{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:var(--text);cursor:pointer;font-size:14px;gap:8px;min-height:36px;padding:6px 10px}.ddl-button:hover{border-color:#d1d5db}.ddl-button.ddl-disabled{cursor:not-allowed;opacity:.55;pointer-events:none}.ddl-button .flag{align-items:center;border-radius:2px;display:inline-flex;flex-shrink:0;height:14px;overflow:hidden;width:20px}.ddl-button .flag svg{display:block;height:100%;width:100%}.ddl-item .flag{align-items:center;border-radius:2px;display:inline-flex;flex-shrink:0;height:14px;overflow:hidden;width:20px}.ddl-item .flag svg{display:block;height:100%;width:100%}.ddl-button .tenant-icon{font-size:16px;line-height:16px}.ddl-button .ddl-label{font-size:14px;font-weight:600}.ddl-button .chevron{color:var(--gray-400)}.tenant-lock-wrap{cursor:help;display:inline-flex}.tenant-lock-icon{color:#dc2626;flex-shrink:0;height:16px;width:16px}.ddl-menu{background:var(--card);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 40px #1e3a8a1f;min-width:220px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.ddl-item{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px;text-align:left;width:100%}.ddl-item:hover{background:#f5f7ff}.tenant-pill{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:var(--text);display:inline-flex;font-size:14px;font-weight:600;gap:8px;max-width:260px;min-height:36px;padding:6px 10px}.pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-area{position:relative}.user-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:8px;min-height:36px;padding:6px 10px}.user-button:hover{border-color:#d1d5db}.user-button .avatar{background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));border-radius:50%;color:#fff;display:grid;font-size:12px;font-weight:700;height:20px;place-items:center;width:20px}.user-button .username{font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-button .chevron{color:var(--gray-400)}.user-menu{background:var(--card);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 40px #1e3a8a1f;min-width:220px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.menu-item{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px;text-align:left;width:100%}.menu-item:hover{background:#f5f7ff}.menu-item.danger{color:var(--red-600)}.menu-sep{background:#eef2f7;height:1px;margin:6px 0}.app-main{margin:0 auto;max-width:980px;padding:24px;width:100%}.app-footer{background:#fff9;border-top:1px solid #e5e7eb;color:var(--gray-400);font-size:13px;padding:16px 20px;text-align:center}.tenant-label{color:#7c6fae;font-size:13px;font-weight:500;margin:2px 0 0 6px}.header .muted{font-size:13px;margin:13px 0 0 6px}.btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.primary{background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));border:none;color:#fff}.btn.primary:hover{opacity:.9;transform:translateY(-1px)}.btn.primary:disabled{box-shadow:none;opacity:.5;transform:none}.btn.success{background:linear-gradient(to top right,#34d399,#059669);border:none;color:#fff}.btn.success:hover{opacity:.9;transform:translateY(-1px)}.btn.success:disabled{box-shadow:none;opacity:.5;transform:none}.btn.small{border-radius:6px;font-size:12px;padding:4px 10px}.btn.ghost{background:transparent;border-color:transparent;color:var(--gray-400)}.btn.ghost:hover{color:var(--text)}.btn.secondary{background:#f3f4f6;border-color:#e5e7eb;color:var(--gray-700)}.btn.secondary:hover{background:#e5e7eb}.btn.danger{border-color:#fecaca;color:var(--red-600)}.btn.danger-fill{background:linear-gradient(135deg,#b91c1c,#f87171);border:none;color:#fff}.btn.danger-fill:hover{opacity:.9}.btn-back{align-items:center;background:linear-gradient(to top right,#e8e9ed,#b4b8c2);border:none;border-radius:10px;color:#2d3039;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.btn-back:hover{opacity:.85;transform:translateY(-1px)}.modal h3{color:var(--primary-strong);font-size:18px;margin:0}.modal .tenant-label{margin:2px 0 12px}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;display:flex;gap:10px;margin-top:14px;padding:12px 14px;width:100%}.error-banner .error-icon{flex-shrink:0;font-size:18px}.error-banner .error-text{color:#991b1b;font-size:13px;font-weight:600;line-height:1.4}
