@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width:244px;--sidebar-collapsed:68px;--header-height:58px;--color-bg:#f4f6fb;--color-surface:#fff;--color-surface-elevated:#fff;--color-border:#e8ecf4;--color-border-subtle:#f0f2f8;--color-text:#0c1221;--color-text-secondary:#5b6478;--color-text-muted:#8d95a7;--color-sidebar:#0b1120;--color-sidebar-hover:hsla(0,0%,100%,.06);--color-primary:#4f46e5;--color-primary-light:#818cf8;--color-primary-bg:rgba(79,70,229,.06);--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--shadow-xs:0 1px 2px rgba(0,0,0,.03);--shadow-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02);--shadow-md:0 4px 16px rgba(0,0,0,.06),0 1px 4px rgba(0,0,0,.03);--shadow-lg:0 12px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);--shadow-xl:0 20px 60px rgba(0,0,0,.1),0 8px 20px rgba(0,0,0,.05);--shadow-glow:0 0 20px rgba(79,70,229,.12);--shadow-card:0 1px 3px rgba(0,0,0,.03),0 6px 16px rgba(0,0,0,.02);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.3s cubic-bezier(0.4,0,0.2,1);--transition-spring:0.4s cubic-bezier(0.34,1.56,0.64,1);--glass-bg:hsla(0,0%,100%,.72);--glass-border:hsla(0,0%,100%,.18);--glass-blur:blur(16px)}body,html{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#98a2b3}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;position:fixed;left:0;top:0;bottom:0;background:var(--color-sidebar);display:flex;flex-direction:column;transition:width var(--transition-slow),min-width var(--transition-slow);z-index:200;overflow:hidden;border-right:1px solid hsla(0,0%,100%,.04)}.app-sidebar:before{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(99,102,241,.3),transparent 50%,rgba(99,102,241,.15));z-index:1}.app-sidebar.collapsed{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.app-body{flex:1 1;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-slow);display:flex;flex-direction:column;min-height:100vh}.app-body.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.app-header{height:var(--header-height);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-border-subtle);padding:0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.header-right{display:flex;align-items:center;gap:8px}.header-right{margin-left:auto;flex-shrink:0}.header-right-fixed{display:flex;align-items:center;gap:6px;flex-shrink:0}.app-content{flex:1 1;padding:28px;background:var(--color-bg)}.sidebar-logo{height:60px;display:flex;align-items:center;padding:0 16px;gap:11px;overflow:hidden;flex-shrink:0;border-bottom:1px solid hsla(0,0%,100%,.05)}.sidebar-logo--vertical{height:104px;flex-direction:column;justify-content:center;align-items:center;padding:12px 8px;gap:0}.sidebar-logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a78bfa);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 12px rgba(99,102,241,.4),inset 0 1px 0 hsla(0,0%,100%,.2);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:-.5px}.sidebar-brand{color:#fff;font-size:15px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;transition:opacity var(--transition)}.sidebar-brand.hidden{opacity:0;pointer-events:none}.sidebar-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:10px 0 8px}.sidebar-section{padding:16px 18px 5px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:hsla(0,0%,100%,.2);white-space:nowrap;overflow:hidden;transition:opacity var(--transition)}.sidebar-section.hidden{opacity:0}.sidebar-item{display:flex;align-items:center;gap:11px;padding:7px 12px;margin:1px 8px;border-radius:var(--radius-sm);cursor:pointer;color:hsla(0,0%,100%,.45);font-size:13.5px;font-weight:500;transition:all var(--transition);white-space:nowrap;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;background:transparent;width:calc(100% - 16px);text-align:left}.sidebar-item:hover{background:hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.92)}.sidebar-item.active{background:rgba(99,102,241,.15);color:#fff;box-shadow:0 0 0 1px rgba(99,102,241,.15)}.sidebar-item.active .sidebar-item-icon{color:#a5b4fc}.sidebar-active-bar{position:absolute;left:-8px;top:50%;transform:translateY(-50%);height:20px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#818cf8,#6366f1);opacity:0;transition:opacity var(--transition);box-shadow:0 0 8px rgba(99,102,241,.5)}.sidebar-item.active .sidebar-active-bar{opacity:1}.sidebar-item-icon{font-size:15px;flex-shrink:0;width:18px;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.3);transition:color var(--transition)}.sidebar-item-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--transition),width var(--transition)}.sidebar-item-label.hidden{opacity:0;width:0;pointer-events:none}.sidebar-footer{flex-shrink:0;border-top:1px solid hsla(0,0%,100%,.05);padding:8px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);overflow:hidden;transition:background var(--transition);cursor:default}.sidebar-user:hover{background:hsla(0,0%,100%,.04)}.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px rgba(99,102,241,.35)}.sidebar-user-name{font-size:12.5px;font-weight:600;color:hsla(0,0%,100%,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;color:hsla(0,0%,100%,.28);text-transform:uppercase;letter-spacing:.5px;margin-top:1px}.header-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition);flex-shrink:0;border:none;background:transparent}.header-btn:hover{background:var(--color-primary-bg);color:var(--color-primary)}.module-pill{display:flex;align-items:center;gap:8px;padding:0 16px 0 12px;height:36px;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:all var(--transition);font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.module-pill:hover{border-color:var(--color-primary-light);box-shadow:0 2px 12px rgba(79,70,229,.1)}.module-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.header-spacer{flex:1 1}.header-divider{width:1px;height:24px;background:var(--color-border);flex-shrink:0}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);overflow:hidden;position:relative}.card:hover{box-shadow:var(--shadow-md);border-color:#dce1ed}.card-hoverable{cursor:pointer}.card-hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-pad{padding:22px}.card-header{padding:14px 22px;border-bottom:1px solid var(--color-border-subtle);gap:8px}.card-header,.stat-icon{display:flex;align-items:center}.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);justify-content:center;flex-shrink:0;position:relative}.stat-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.5;background:inherit;filter:blur(8px);z-index:-1}.stat-value{font-size:28px;font-weight:800;color:var(--color-text);line-height:1.1;letter-spacing:-.8px}.stat-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.6px}.stat-sub{font-size:12px;color:var(--color-text-muted);margin-top:3px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:14px}.page-title{font-size:22px;font-weight:800;color:var(--color-text);letter-spacing:-.5px;margin:0;line-height:1.3}.page-subtitle{font-size:13.5px;color:var(--color-text-muted);margin-top:4px;font-weight:450}.badge-superadmin{gap:5px;border-radius:12px;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 2px 10px rgba(99,102,241,.3)}.badge-superadmin,.module-tag{display:inline-flex;align-items:center;padding:3px 10px}.module-tag{gap:4px;border-radius:10px;font-size:11.5px;font-weight:600;border:1px solid transparent}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(11,17,32,.55);z-index:199;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);flex-direction:column;gap:16px}.ant-layout{min-height:100vh}.ant-table{font-size:13px}.ant-table-thead>tr>th{font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.5px!important;color:var(--color-text-muted)!important;background:#fafbfd!important;border-bottom:1px solid var(--color-border)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--color-border-subtle)!important}.ant-table-tbody>tr:hover>td{background:var(--color-primary-bg)!important}.ant-card{border-radius:var(--radius-md)!important}.ant-modal-content{border-radius:var(--radius-lg)!important;overflow:hidden;box-shadow:var(--shadow-xl)!important}.ant-modal-header{border-bottom:1px solid var(--color-border-subtle)!important}.ant-dropdown-menu{border-radius:var(--radius-md)!important;overflow:hidden;padding:4px!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--color-border)!important}.ant-dropdown-menu-item{border-radius:var(--radius-xs)!important}.ant-btn{border-radius:var(--radius-sm)!important;font-weight:600!important;transition:all var(--transition)!important}.ant-btn-primary{box-shadow:0 2px 8px rgba(79,70,229,.25)!important}.ant-btn-primary:hover{box-shadow:0 4px 16px rgba(79,70,229,.3)!important;transform:translateY(-1px)}.ant-tag{border-radius:var(--radius-xs)!important;font-weight:500!important}.ant-input,.ant-picker,.ant-select-selector{border-radius:var(--radius-sm)!important}.ant-input-focused,.ant-input:focus,.ant-select-focused .ant-select-selector{box-shadow:0 0 0 3px rgba(79,70,229,.08)!important}.ant-badge-status-dot{width:7px!important;height:7px!important}.ant-spin-dot-item{background:var(--color-primary)!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.2)}50%{box-shadow:0 0 0 6px rgba(99,102,241,0)}}.animate-fade-in-up{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) both}.animate-fade-in{animation:fadeIn .3s ease both}.stagger-children>:first-child{animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.gradient-text{background:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:calc(100vh - 220px)}.kanban-column{min-width:296px;width:296px;flex-shrink:0;display:flex;flex-direction:column;border-radius:var(--radius-md);background:#fafbfd;border:1px solid var(--color-border);overflow:hidden;transition:box-shadow var(--transition)}.kanban-column:hover{box-shadow:var(--shadow-md)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:2px solid var(--color-border)}.kanban-column-body{flex:1 1;padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.kanban-card{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:12px 14px;cursor:-webkit-grab;cursor:grab;transition:all var(--transition);position:relative}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-1px)}.kanban-card:active{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:var(--shadow-lg);transform:scale(1.02);z-index:10}.kanban-card.dragging{opacity:.85;box-shadow:var(--shadow-xl);transform:rotate(2deg) scale(1.03)}.kanban-empty{text-align:center;padding:32px 12px;color:var(--color-text-muted);font-size:12.5px}@media (max-width:960px){.hide-tablet{display:none!important}.app-header{gap:8px;padding:0 12px}}@media (max-width:768px){.app-sidebar{transform:translateX(-100%);transition:transform var(--transition-slow);width:var(--sidebar-width)!important;min-width:var(--sidebar-width)!important;z-index:300;box-shadow:var(--shadow-xl)}.app-sidebar.mobile-open{transform:translateX(0)}.app-body{margin-left:0!important}.app-content{padding:16px}.mobile-overlay.visible{display:block}.hide-mobile{display:none!important}.sidebar-section{opacity:0}.kanban-board{gap:12px}.kanban-column{min-width:260px;width:260px}}