@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";*{margin:0;padding:0}body{min-height:100vh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#191735;--bg:#f3f3fa;--surface:#fff;--surface-2:#f8f8fd;--border:#e7e5f5;--muted:#6e6c8a;--muted-2:#a7a5c2;--sidebar:#1c1733;--sidebar-2:#241e42;--sidebar-text:#ada9ce;--sidebar-text-dim:#716c93;--sidebar-active:#2c2555;--accent:#f5a524;--accent-ink:#6b4400;--accent-soft:#fdf0da;--violet:#6c5ce7;--violet-soft:#ece9fd;--success:#12b76a;--success-soft:#dff7eb;--info:#3e7bfa;--info-soft:#e4ecfe;--warning:#f5a524;--warning-ink:#b77a00;--warning-soft:#fdf0da;--danger:#f04438;--danger-soft:#fce7e5;--neutral:#8b899e;--neutral-soft:#ecebf2;--radius-sm:8px;--radius:14px;--radius-lg:20px;--shadow-sm:0 1px 2px #1917350f;--shadow:0 8px 24px #19173514;--shadow-lg:0 20px 48px #19173529;--btn-primary-bg:#191735;--btn-primary-text:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edebfa;--bg:#121022;--surface:#1b1832;--surface-2:#221e3d;--border:#332e56;--muted:#a8a4cc;--muted-2:#726d99;--accent-ink:#ffd79b;--accent-soft:#f5a52429;--violet-soft:#6c5ce738;--success-soft:#12b76a2e;--info-soft:#3e7bfa33;--warning-ink:#ffc670;--warning-soft:#f5a5242e;--danger-soft:#f0443833;--neutral-soft:#8b899e33;--shadow-sm:0 1px 2px #0000004d;--shadow:0 8px 24px #00000059;--shadow-lg:0 20px 48px #0000008c;--btn-primary-bg:#edebfa;--btn-primary-text:#191735}*{box-sizing:border-box}html,body{background:var(--bg)}.app-root{background:var(--bg);color:var(--ink);min-height:100dvh;font-family:Inter,sans-serif}.app-root,.app-card,.app-modal,.app-sidebar,.app-stat-card,.app-kanban-col,.app-kanban-card,.app-input,.app-select,.app-textarea,.app-input-wrap,.app-topbar,.app-mobile-topbar,.app-confirm,.app-role-card{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.app-brand-font{font-family:Sora,sans-serif}.app-mono{font-family:JetBrains Mono,monospace}.app-shell{grid-template-columns:248px 1fr;min-height:100dvh;transition:grid-template-columns .2s;display:grid}.app-sidebar{background:linear-gradient(180deg, var(--sidebar) 0%, var(--sidebar-2) 100%);color:var(--sidebar-text);flex-direction:column;height:100dvh;padding:22px 16px;transition:padding .2s;display:flex;position:sticky;top:0}button.app-sidebar-collapse-btn{flex-shrink:0;display:none}.app-logo{align-items:center;gap:10px;padding:6px 8px 22px;display:flex}.app-logo-mark{background:linear-gradient(135deg, var(--accent), #ffcb74);width:36px;height:36px;color:var(--sidebar);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-family:Sora,sans-serif;font-size:15px;font-weight:800;display:flex}.app-logo-text{color:#fff;font-family:Sora,sans-serif;font-size:16.5px;font-weight:700;line-height:1.1}.app-logo-sub{color:var(--sidebar-text-dim);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;font-size:10.5px}.app-mobile-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.app-mobile-backdrop{z-index:58;background:#0a081480;position:fixed;inset:0}button.app-sidebar-close{display:none}.app-notif-btn{position:relative}.app-notif-badge{background:var(--danger);color:#fff;border-radius:20px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.app-notif-backdrop{z-index:64;background:#0a081480;position:fixed;inset:0}.app-notif-drawer{z-index:65;background:var(--surface);width:340px;max-width:90vw;height:100dvh;box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.app-notif-drawer.open{transform:translate(0)}.app-notif-drawer-head{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.app-notif-item{border-bottom:1px solid var(--border);color:inherit;padding:14px 20px;text-decoration:none;transition:background .15s;display:block}.app-notif-item:hover{background:var(--surface-2)}.app-nav{flex-direction:column;gap:3px;margin-top:6px;display:flex}.app-nav-item{color:var(--sidebar-text);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.app-nav-item:hover{color:#fff;background:#ffffff0d}.app-nav-item.active{background:var(--sidebar-active);color:#fff}.app-nav-item.active:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:4px;height:18px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.app-nav-item svg{opacity:.9;flex-shrink:0}.app-sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:16px}.app-sidebar-user{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.app-sidebar-user:hover{background:#ffffff0d}.app-main{min-width:0}.app-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:30px 34px 22px;display:flex}.app-page-title{color:var(--ink);font-family:Sora,sans-serif;font-size:25px;font-weight:700;line-height:1.2}.app-page-subtitle{color:var(--muted);margin-top:4px;font-size:13.5px}.app-topbar-actions{align-items:center;gap:10px;display:flex}.app-content{flex-direction:column;gap:20px;padding:0 34px 44px;display:flex}.app-avatar{background:var(--violet-soft);width:34px;height:34px;color:var(--violet);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Sora,sans-serif;font-size:13px;font-weight:700;display:flex}.app-avatar-lg{width:56px;height:56px;font-size:19px}.app-sidebar .app-avatar{color:#fff;background:#ffffff1f}.app-spin{animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 37%, var(--surface-2) 63%);background-size:400% 100%;animation:1.4s infinite app-shimmer}@keyframes app-shimmer{0%{background-position:100%}to{background-position:0}}.app-roadmap-track{flex-wrap:nowrap;align-items:flex-start;margin:22px 0;display:flex}.app-roadmap-step{align-items:flex-start;min-width:0;display:flex}.app-roadmap-step-btn{cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:76px;padding:0;display:flex}.app-roadmap-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.app-roadmap-label{text-align:center;overflow-wrap:break-word;font-size:10.5px;line-height:1.25}.app-roadmap-connector{flex:20px;min-width:14px;height:2px;margin:12px 4px 0}@media (width<=880px){.app-roadmap-track{grid-template-columns:repeat(var(--rm-cols,5), 1fr);gap:18px 6px;display:grid}.app-roadmap-step-btn{width:100%}.app-roadmap-connector{display:none}}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.app-card-pad{padding:22px}.app-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.app-card-title{font-family:Sora,sans-serif;font-size:15.5px;font-weight:700}.app-card-link{color:var(--violet);font-size:12.5px;font-weight:600;text-decoration:none}.app-stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.app-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px}.app-stat-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.app-stat-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.app-stat-value{font-family:Sora,sans-serif;font-size:28px;font-weight:700;line-height:1}.app-stat-label{color:var(--muted);margin-top:6px;font-size:12.5px}.app-dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;display:grid}.app-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;transition:opacity .15s,background .15s,transform 50ms;display:inline-flex}.app-btn:active{transform:translateY(1px)}.app-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.app-btn-primary:hover{opacity:.9}.app-btn-accent{background:var(--accent);color:#3a2400}.app-btn-accent:hover{opacity:.9}.app-btn-ghost{color:var(--ink);border:1px solid var(--border);background:0 0}.app-btn-ghost:hover{background:var(--surface-2)}.app-btn-danger{background:var(--danger);color:#fff}.app-btn-danger:hover{opacity:.9}.app-btn-sm{padding:7px 12px;font-size:12.5px}.app-btn-block{width:100%}.app-btn:disabled{opacity:.6;cursor:not-allowed}.app-icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.app-icon-btn:hover{background:var(--surface-2);color:var(--ink)}.app-field{margin-bottom:14px}.app-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.app-input,.app-select,.app-textarea{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);border-radius:10px;outline:none;padding:10px 12px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.app-input:focus,.app-select:focus,.app-textarea:focus{border-color:var(--violet)}.app-textarea{resize:vertical;min-height:70px}.app-input-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;transition:border-color .15s;display:flex}.app-input-wrap:focus-within{border-color:var(--violet)}.app-input-wrap input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-family:Inter,sans-serif;font-size:14px}.app-input-wrap svg{color:var(--muted-2);flex-shrink:0}.app-badge{border-radius:20px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.app-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.app-table-wrap{overflow-x:auto}table.app-table{border-collapse:collapse;width:100%;font-size:13.5px}.app-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px}.app-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 12px}.app-table tr:last-child td{border-bottom:none}.app-table tr:hover td{background:var(--surface-2)}.app-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.app-toolbar .app-input-wrap{flex:1;min-width:220px}.app-kanban{grid-template-columns:repeat(5,minmax(210px,1fr));gap:14px;display:grid;overflow-x:auto}.app-kanban-col{background:var(--surface-2);border-radius:var(--radius);min-width:210px;padding:12px}.app-kanban-col-head{justify-content:space-between;align-items:center;padding:4px 6px 12px;display:flex}.app-kanban-col-title{align-items:center;gap:7px;font-size:12.5px;font-weight:700;display:flex}.app-kanban-count{color:var(--muted);background:var(--surface);border-radius:20px;padding:1px 8px;font-size:11.5px;font-weight:700}.app-kanban-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:10px;padding:12px 13px;transition:box-shadow .15s,transform .1s}.app-kanban-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.app-kanban-card-name{font-size:13.5px;font-weight:600}.app-kanban-card-meta{color:var(--muted);align-items:center;gap:5px;margin-top:5px;font-size:11.5px;display:flex}.app-kanban-empty{color:var(--muted-2);text-align:center;padding:18px 4px;font-size:12px}.app-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#19173573;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.app-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);padding:28px;overflow-y:auto}.app-modal h3{margin:0 0 18px;font-family:Sora,sans-serif;font-size:19px}.app-modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.app-confirm{background:var(--surface);border:1px solid var(--danger);box-shadow:var(--shadow-lg);z-index:10;border-radius:10px;padding:12px;font-size:13px;position:absolute}.app-empty{text-align:center;color:var(--muted);padding:48px 20px;font-size:13.5px}.app-auth-screen{background:var(--surface);grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.app-auth-art{background:linear-gradient(160deg, var(--sidebar) 0%, #322a5c 55%, var(--violet) 130%);color:#fff;flex-direction:column;justify-content:space-between;padding:56px 52px;display:flex;position:relative;overflow:hidden}.app-auth-art:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-140px}.app-auth-art:before{content:"";border:1px solid #ffffff14;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-80px;right:-60px}.app-auth-headline{max-width:420px;font-family:Sora,sans-serif;font-size:34px;font-weight:700;line-height:1.25}.app-auth-sub{color:var(--sidebar-text);max-width:380px;margin-top:14px;font-size:14px;line-height:1.6}.app-auth-stats{z-index:1;gap:28px;display:flex;position:relative}.app-auth-stat-num{font-family:Sora,sans-serif;font-size:24px;font-weight:700}.app-auth-stat-label{color:var(--sidebar-text-dim);margin-top:2px;font-size:11.5px}.app-auth-form-side{justify-content:center;align-items:center;padding:40px 32px;display:flex;position:relative}.app-auth-form-wrap{width:100%;max-width:380px}.app-auth-theme-toggle{position:absolute;top:18px;right:18px}.app-role-grid{flex-direction:column;gap:12px;margin-top:26px;display:flex}.app-role-card{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--ink);align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.app-role-card:hover{border-color:var(--violet);background:var(--violet-soft)}.app-role-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.app-role-title{font-size:14.5px;font-weight:700}.app-role-desc{color:var(--muted);margin-top:2px;font-size:12.5px}.app-divider-text{color:var(--muted-2);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.app-divider-text:before,.app-divider-text:after{content:"";background:var(--border);flex:1;height:1px}.app-role-pill{background:var(--violet-soft);color:var(--violet);text-transform:uppercase;letter-spacing:.4px;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.app-loading-screen{min-height:100dvh;color:var(--muted);background:var(--bg);justify-content:center;align-items:center;font-family:Inter,sans-serif;display:flex}@media (width<=900px){.app-dashboard-grid{grid-template-columns:1fr}}@media (width>=881px){button.app-sidebar-collapse-btn{display:inline-flex}.app-shell.collapsed{grid-template-columns:76px 1fr}.app-sidebar.collapsed{padding-left:10px;padding-right:10px}.app-sidebar.collapsed .app-logo{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 0 18px}.app-sidebar.collapsed .app-logo-text,.app-sidebar.collapsed .app-logo-sub,.app-sidebar.collapsed .app-nav-label,.app-sidebar.collapsed .app-sidebar-user-info{display:none}.app-sidebar.collapsed .app-nav-item{justify-content:center}.app-sidebar.collapsed .app-nav-item.active:before{left:-10px}.app-sidebar.collapsed .app-sidebar-user{flex-direction:column;align-items:center;gap:8px}.app-topbar-logo,.app-topbar-hamburger{display:none}}@media (width<=880px){.app-shell{grid-template-columns:1fr}.app-sidebar{z-index:60;width:270px;max-width:84vw;height:100dvh;box-shadow:var(--shadow-lg);transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.mobile-open{transform:translate(0)}button.app-sidebar-close{display:inline-flex}.app-auth-screen{grid-template-columns:1fr}.app-auth-art{display:none}.app-kanban{grid-template-columns:minmax(210px,1fr)}.app-topbar{padding:20px 18px 14px}.app-content{padding:0 18px 36px}.app-auth-form-side{padding:32px 22px}}@media (width<=560px){.app-page-title{font-size:21px}.app-topbar{padding:16px 14px 12px}.app-content{gap:14px;padding:0 14px 28px}.app-card-pad{padding:16px}.app-modal{padding:20px}.app-modal h3{font-size:17px}.app-auth-form-side{padding:26px 16px}.app-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.app-toolbar .app-input-wrap{min-width:0}}
