:root{--bg:#f6f8f7;--surface:#fff;--surface-soft:#edf5f3;--text:#17211f;--muted:#60706c;--border:#d9e4e1;--primary:#14b8a6;--primary-dark:#0f766e;--accent:#f3c316;--danger:#b42318;--shadow:0 18px 50px #17211f14;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit}#root,.loading-screen,.login-shell,.app-shell{min-height:100vh}.loading-screen{color:var(--primary-dark);place-items:center;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:linear-gradient(135deg, #1118271a, #c9a95c1f), var(--bg);grid-template-columns:minmax(340px,470px) minmax(0,1fr);display:grid}.login-panel{background:var(--surface);box-shadow:var(--shadow);flex-direction:column;justify-content:center;gap:28px;padding:48px;animation:.52s ease-out both loginEnter;display:flex}.login-content{gap:24px;display:grid}@keyframes loginEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.brand-lockup,.sidebar-brand{align-items:center;gap:14px;display:flex}.platform-logo-mark{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;width:72px;height:72px;display:grid}.platform-logo-mark img{object-fit:contain;width:56px;height:56px}.sidebar-brand img{object-fit:contain;border-radius:8px;width:64px;height:64px}.eyebrow{color:var(--primary-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.login-panel .eyebrow,.product-panel .eyebrow{color:#111827}.app-shell .eyebrow{color:var(--tenant-primary,var(--primary-dark))}.brand-lockup h1,.product-copy h2,.topbar h1,.module-card h2{letter-spacing:0;margin:0;line-height:1.08}.brand-lockup h1{max-width:260px;font-size:30px}.login-form{gap:16px;display:grid}.login-form label{color:var(--muted);margin-bottom:7px;font-size:14px;font-weight:700;display:block}.login-form input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#fbfdfc;border-radius:8px;outline:none;padding:0 14px}.password-field{display:block;position:relative}.password-field input{padding-right:54px}.password-toggle{color:#5b6663;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin:auto 0;line-height:1;display:flex;position:absolute;top:0;bottom:0;right:8px}.password-toggle:hover{background:#eef2f1}.login-form input:focus{border-color:#111827;box-shadow:0 0 0 4px #1118271f}.form-message{color:var(--danger);margin:0;font-size:14px}.login-actions{gap:14px;display:grid}.login-form button[type=submit]{color:#fff;background:#111827;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:800;display:inline-flex}.text-button{color:#111827;text-align:left;text-underline-offset:4px;background:0 0;border:0;width:fit-content;min-height:28px;padding:0;font-weight:800;text-decoration:underline}.text-button:disabled{opacity:.65}.login-note,.product-copy p,.module-card p{color:var(--muted);margin:0;line-height:1.55}.login-note{max-width:360px;font-size:14px}.login-footer,.product-footer{margin-top:auto;font-size:13px}.login-footer a,.product-footer a{color:#111827;font-weight:800;text-decoration:none}.login-footer a:hover,.product-footer a:hover{text-underline-offset:4px;text-decoration:underline}.product-panel{flex-direction:column;justify-content:center;gap:46px;padding:64px;animation:.65s ease-out .12s both productEnter;display:flex;position:relative}@keyframes productEnter{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.product-footer{position:absolute;bottom:28px;right:32px}.product-copy{max-width:670px}.product-copy h2{margin-bottom:18px;font-size:46px}.preview-stack{gap:14px;max-width:560px;display:grid}.preview-row{background:#17211f1f;border-radius:8px;height:18px}.preview-row.strong{background:#111827;width:72%}.preview-row.short{background:#c9a95cd1;width:48%}.app-shell{background:var(--tenant-bg,var(--bg));grid-template-columns:280px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--tenant-secondary,#102421);color:#eaf7f5;flex-direction:column;gap:34px;padding:26px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:18px}.sidebar-brand span{color:#a8c9c3;font-size:13px}.sidebar nav{gap:8px;display:grid}.sidebar a{color:#d8ebe7;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;text-decoration:none;display:flex}.sidebar a.active,.sidebar a:hover{color:#082f2b;background:var(--tenant-accent,var(--accent))}.workspace{min-width:0;padding:30px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.topbar h1{font-size:32px}.user-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-width:0;padding:6px 6px 6px 14px;display:inline-flex}.user-chip span{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-chip button{width:34px;height:34px;color:var(--tenant-primary,var(--primary-dark));background:var(--surface-soft);border:0;border-radius:7px;place-items:center;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.metrics-grid div,.module-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 10px 26px #17211f0a}.metrics-grid div{padding:18px}.metrics-grid span{color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.metrics-grid strong{font-size:34px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.module-card{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px;display:grid}.module-icon{width:44px;height:44px;color:var(--tenant-primary,var(--primary-dark));background:var(--surface-soft);border-radius:8px;place-items:center;display:grid}.module-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.module-heading h2{font-size:18px}.module-heading span{color:#5a4100;background:#f3c31633;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:800}@media (width<=900px){.login-shell,.app-shell{grid-template-columns:1fr}.product-panel{display:none}.sidebar{padding:18px;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:20px}.topbar,.module-heading{flex-direction:column;align-items:flex-start}.metrics-grid,.module-grid{grid-template-columns:1fr}}@media (width<=560px){.login-shell{background:var(--surface);min-height:100dvh}.login-panel{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));box-shadow:none;justify-content:flex-start;gap:18px}.login-content{gap:20px;padding-top:8px}.brand-lockup{align-items:center}.platform-logo-mark{width:58px;height:58px}.platform-logo-mark img{width:44px;height:44px}.brand-lockup h1{max-width:none;font-size:28px}.topbar h1{font-size:25px}.login-form{gap:14px}.login-form input{min-height:46px}.login-form button[type=submit]{min-height:48px}.login-note{max-width:none;font-size:13px;line-height:1.45}.login-footer{text-align:right;width:100%;padding-top:10px}.sidebar nav{grid-template-columns:1fr}}
