@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-200: #e4e4e7;--zinc-300: #d4d4d8;--zinc-400: #a1a1aa;--zinc-500: #71717a;--zinc-600: #52525b;--zinc-700: #3f3f46;--zinc-800: #27272a;--zinc-900: #18181b;--zinc-950: #09090b;--green-50: #f0fdf4;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--amber-50: #fffbeb;--amber-500: #f59e0b;--amber-600: #d97706;--red-50: #fef2f2;--red-500: #ef4444;--red-600: #dc2626;--sky-50: #f0f9ff;--sky-500: #0ea5e9;--sky-600: #0284c7;--bg: #ffffff;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-hover: var(--zinc-50);--bg-input: #ffffff;--bg-overlay: rgba(9, 9, 11, .4);--border: var(--zinc-200);--border-muted: var(--zinc-100);--border-focus: var(--zinc-900);--text: var(--zinc-900);--text-muted: var(--zinc-500);--text-subtle: var(--zinc-400);--text-on-accent:#ffffff;--accent: var(--zinc-900);--accent-hover: var(--zinc-700);--accent-dim: var(--zinc-100);--accent-rgb: 24, 24, 27;--success: var(--green-50);--success-text: var(--green-700);--warning: var(--amber-50);--warning-text: var(--amber-600);--danger: var(--red-50);--danger-text: var(--red-600);--info: var(--sky-50);--info-text: var(--sky-600);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--weight-normal: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full:9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--shadow-xl: 0 16px 40px rgba(0,0,0,.12);--shadow-accent: 0 0 0 3px rgba(var(--accent-rgb), .12);--sidebar-w: 240px;--sidebar-w-sm: 56px;--topbar-h: 52px;--ease: cubic-bezier(.4, 0, .2, 1);--duration: .15s;--duration-md: .2s;--duration-lg: .3s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--text);background-color:var(--zinc-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semi);line-height:var(--leading-tight);color:var(--text)}a{color:var(--text);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--zinc-200);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--zinc-300)}:focus-visible{outline:2px solid var(--zinc-900);outline-offset:2px;border-radius:var(--radius-sm)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-8px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--duration-md) var(--ease) forwards}.animate-slide-in{animation:slideIn var(--duration-md) var(--ease) forwards}.animate-spin{animation:spin .75s linear infinite}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}::selection{background:var(--zinc-200);color:var(--zinc-900)}.avatar{position:relative;display:inline-flex;border-radius:50%;overflow:hidden;flex-shrink:0}.avatar__img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar__letters{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-semi);color:#fff;letter-spacing:.02em;border-radius:50%}.avatar__dot{position:absolute;bottom:0;right:0;width:30%;height:30%;border-radius:50%;border:2px solid var(--bg)}.avatar__dot--online{background:var(--green-500)}.avatar__dot--offline{background:var(--zinc-300)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--bg);border-right:1px solid var(--zinc-100);display:flex;flex-direction:column;z-index:100;transition:width var(--duration-lg) var(--ease);overflow:hidden}.sidebar--collapsed{width:var(--sidebar-w-sm)}.sidebar__logo{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:var(--topbar-h);border-bottom:1px solid var(--zinc-100);cursor:pointer;flex-shrink:0;overflow:hidden}.sidebar__logo-mark{width:32px;height:32px;background:var(--zinc-900);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-lg);flex-shrink:0}.sidebar__logo-text{font-size:var(--text-md);font-weight:var(--weight-semi);color:var(--zinc-900);white-space:nowrap;letter-spacing:-.02em}.sidebar__nav{flex:1;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;color:var(--zinc-500);font-family:var(--font);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;width:100%;text-align:left;white-space:nowrap;overflow:hidden;transition:background var(--duration) var(--ease),color var(--duration) var(--ease);letter-spacing:-.01em}.sidebar__item:hover{background:var(--zinc-50);color:var(--zinc-900)}.sidebar__item--active{background:var(--zinc-100);color:var(--zinc-900);font-weight:var(--weight-semi)}.sidebar__item--active:hover{background:var(--zinc-100);color:var(--zinc-900)}.sidebar__item-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center;line-height:1}.sidebar__item-label{overflow:hidden;text-overflow:ellipsis}.sidebar__footer{padding:var(--space-2);border-top:1px solid var(--zinc-100);display:flex;flex-direction:column;gap:2px;flex-shrink:0}.sidebar__user{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-md);overflow:hidden}.sidebar__user-info{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:2px}.sidebar__user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--zinc-900);display:block;letter-spacing:-.01em}.sidebar__user-role{font-size:var(--text-xs);color:var(--zinc-400);text-transform:capitalize}.sidebar__logout{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--zinc-400);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.sidebar__logout:hover{color:var(--danger-text);background:var(--red-50)}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform var(--duration-lg) var(--ease)}.sidebar--open{transform:translate(0);box-shadow:var(--shadow-xl)}}.topbar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);background:var(--bg);border-bottom:1px solid var(--zinc-100);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-6);z-index:90;transition:left var(--duration-lg) var(--ease)}.topbar__menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--zinc-500);cursor:pointer;flex-shrink:0;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.topbar__menu-btn:hover{background:var(--zinc-100);color:var(--zinc-900)}.topbar__title{font-size:var(--text-lg);font-weight:var(--weight-semi);color:var(--zinc-900);flex:1;letter-spacing:-.02em}@media(max-width:768px){.topbar{left:0;padding:0 var(--space-4)}.topbar__menu-btn{display:flex}}.app-layout{display:flex;min-height:100dvh}.app-layout__main{margin-left:var(--sidebar-w);flex:1;min-width:0;transition:margin-left var(--duration-lg) var(--ease)}.app-layout--collapsed .app-layout__main{margin-left:var(--sidebar-w-sm)}.app-layout__content{padding-top:var(--topbar-h);min-height:100dvh}.app-layout__content{background:var(--zinc-50)}.app-layout__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#09090b40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:768px){.app-layout__main,.app-layout--collapsed .app-layout__main{margin-left:0}}.spinner{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.spinner__ring{display:block;width:100%;height:100%;border:2px solid var(--zinc-200);border-top-color:var(--zinc-900);border-radius:50%;animation:spin .7s linear infinite}.app-loading{display:flex;align-items:center;justify-content:center;height:calc(100dvh - var(--topbar-h))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),color var(--duration) var(--ease),box-shadow var(--duration) var(--ease),opacity var(--duration) var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;letter-spacing:-.01em}.btn--sm{padding:5px 12px;font-size:var(--text-xs);height:28px}.btn--md{padding:7px 16px;font-size:var(--text-sm);height:34px}.btn--lg{padding:10px 20px;font-size:var(--text-md);height:40px}.btn--primary{background:var(--zinc-900);color:#fff;border-color:var(--zinc-900)}.btn--primary:hover:not(:disabled){background:var(--zinc-700);border-color:var(--zinc-700)}.btn--primary:active:not(:disabled){background:var(--zinc-950);border-color:var(--zinc-950)}.btn--secondary{background:var(--bg);color:var(--zinc-700);border-color:var(--zinc-200)}.btn--secondary:hover:not(:disabled){background:var(--zinc-50);border-color:var(--zinc-300);color:var(--zinc-900)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--zinc-100);color:var(--text)}.btn--danger{background:transparent;color:var(--danger-text);border-color:var(--zinc-200)}.btn--danger:hover:not(:disabled){background:var(--red-50);border-color:var(--red-500)}.btn:disabled,.btn--loading{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--zinc-900);outline-offset:2px}.btn__spinner{display:block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn__icon{display:flex;align-items:center;flex-shrink:0;line-height:1}.field{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--zinc-700);letter-spacing:-.01em}.field__wrap{display:flex;align-items:center;background:var(--bg);border:1px solid var(--zinc-200);border-radius:var(--radius-md);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.field__wrap:focus-within{border-color:var(--zinc-900);box-shadow:0 0 0 3px #18181b14}.field--error .field__wrap{border-color:var(--red-500);box-shadow:0 0 0 3px #ef444414}.field__input{flex:1;padding:8px 12px;background:transparent;border:none;outline:none;font-family:var(--font);font-size:var(--text-base);color:var(--zinc-900);width:100%}.field__input::placeholder{color:var(--zinc-400)}.field__prefix,.field__suffix{display:flex;align-items:center;padding:0 10px;color:var(--zinc-400);font-size:var(--text-sm);flex-shrink:0}.field__error{font-size:var(--text-xs);color:var(--danger-text)}.landing{min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--zinc-50)}.landing__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(0,0,0,.04) 0%,transparent 60%),radial-gradient(ellipse 40% 30% at 80% 90%,rgba(0,0,0,.02) 0%,transparent 60%);pointer-events:none}.landing__wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);width:100%;max-width:400px;padding:var(--space-6)}.landing__logo{display:flex;align-items:center;gap:var(--space-3)}.landing__logo-mark{width:48px;height:48px;background:var(--zinc-900);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:var(--weight-bold);box-shadow:0 4px 16px #0000001f}.landing__logo-name{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--zinc-900);letter-spacing:-.03em}.landing__card{width:100%;background:var(--bg);border:1px solid var(--zinc-200);border-radius:var(--radius-2xl);box-shadow:0 1px 3px #0000000f,0 8px 32px #0000000f;overflow:hidden;animation:fadeIn var(--duration-lg) var(--ease)}.landing__tabs{display:flex;border-bottom:1px solid var(--zinc-100)}.landing__tab{flex:1;padding:14px;background:transparent;border:none;font-family:var(--font);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--zinc-400);cursor:pointer;transition:color var(--duration) var(--ease);position:relative;letter-spacing:-.01em}.landing__tab:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--zinc-900);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration) var(--ease)}.landing__tab--active{color:var(--zinc-900)}.landing__tab--active:after{opacity:1}.landing__form{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.landing__error{font-size:var(--text-sm);color:var(--red-600);background:var(--red-50);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);padding:8px 12px}.landing__footer-note{font-size:var(--text-sm);color:var(--zinc-400)}
