@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-app:#f7f7f5;--bg-surface:#fff;--border-color:#e6e6e3;--icon-muted:#999691;--text-muted:#999691;--text-active:#000;--hover-box:#9996911f;--active-box:#9996912e;--shadow-subtle:0 2px 10px #00000008}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,sans-serif}body{background-color:var(--bg-app);color:var(--text-active);width:100vw;height:100vh;position:relative;overflow:hidden}#auth-gate{z-index:9999;background:var(--bg-app);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--bg-surface);border:1px solid var(--border-color);text-align:center;border-radius:24px;width:100%;max-width:400px;padding:40px 48px;box-shadow:0 10px 40px #0000000f}.auth-card h2{margin-bottom:6px;font-size:20px;font-weight:700}.auth-card p{color:var(--text-muted);margin-bottom:24px;font-size:14px}.auth-input{border:1px solid var(--border-color);background:var(--bg-app);border-radius:12px;outline:none;width:100%;margin-bottom:12px;padding:12px 16px;font-size:15px}.auth-btn{background:var(--text-active);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:600}.app-shell{background:var(--bg-app);display:flex;position:fixed;inset:0}.sidebar{background:var(--bg-surface);border:1px solid var(--border-color);width:48px;box-shadow:var(--shadow-subtle);z-index:100;border-radius:24px;flex-direction:column;align-items:center;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:12px;bottom:12px;left:12px;overflow:hidden}.sidebar.expanded{align-items:flex-start;width:220px}.sidebar-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:100%;height:52px;display:flex}.sidebar.expanded .sidebar-header{justify-content:flex-start;padding-left:14px}.toggle-btn{cursor:pointer;width:32px;height:32px;color:var(--icon-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.toggle-btn:hover{background:var(--hover-box);color:var(--text-active)}.toggle-btn svg{stroke:currentColor;width:20px;height:20px}.sidebar-nav{flex-direction:column;flex:1;gap:6px;width:100%;padding:12px 8px;display:flex}.nav-link{height:40px;color:var(--icon-muted);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:0 8px;text-decoration:none;transition:all .2s;display:flex}.nav-link svg{stroke:currentColor;flex-shrink:0;width:20px;height:20px}.nav-link .label{color:var(--text-muted);opacity:0;width:0;font-size:14px;font-weight:500;transition:opacity .2s,width .2s;overflow:hidden}.sidebar.expanded .nav-link .label{opacity:1;width:auto}.nav-link:hover{background:var(--hover-box);color:var(--text-active)}.nav-link:hover .label{color:var(--text-active)}.nav-link.active{background:var(--active-box);color:var(--text-active)}.nav-link.active .label{color:var(--text-active);font-weight:600}.header{background:var(--bg-surface);border:1px solid var(--border-color);height:52px;box-shadow:var(--shadow-subtle);z-index:90;border-radius:26px;justify-content:space-between;align-items:center;padding:0 20px;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:12px;left:68px;right:12px}.header.expanded-offset{left:240px}.header-left{align-items:center;gap:12px;display:flex}.logo-placeholder{color:var(--text-active);letter-spacing:-.01em;font-size:15px;font-weight:700}.header-right{align-items:center;display:flex}.notif-btn{cursor:pointer;width:32px;height:32px;color:var(--icon-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.notif-btn:hover{background:var(--hover-box);color:var(--text-active)}.notif-btn svg{stroke:currentColor;width:20px;height:20px}.main-canvas{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-subtle);border-radius:24px;transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;inset:72px 12px 12px 68px;overflow-y:auto}.main-canvas.expanded-offset{left:240px}
