.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;margin-bottom:var(--spacing-md)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-header{background:transparent;border-bottom:1px solid var(--color-border);padding:var(--spacing-12) var(--spacing-md)}.card-body{padding:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:0 var(--spacing-12);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;border:1px solid transparent;height:var(--btn-h-md);height:32px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 4px 6px -1px rgba(59,130,246,.5)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{filter:brightness(.95)}.btn-outline{background:#fff;color:var(--color-primary);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-light)}.btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-sm{height:var(--btn-h-sm);padding:0 var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.surface{background:var(--color-surface)}.text-muted{color:var(--color-muted)!important}.text-primary{color:var(--color-primary)!important}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) 10px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:600;text-align:center;line-height:1}.badge-muted{background:var(--color-bg);color:var(--color-muted);border:1px solid var(--color-border)}.badge-success{background:#ecfdf5;color:var(--color-success);border:1px solid #d1fae5}.badge-danger{background:#fef2f2;color:var(--color-danger);border:1px solid #fee2e2}.badge-warning{background:#fffbeb;color:var(--color-warning);border:1px solid #fef3c7}.card-selected{border:2px solid var(--color-primary);background:var(--color-primary-light)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-content{border-radius:var(--radius-md);border:none;background:var(--color-surface);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.modal-header{border-bottom:1px solid var(--color-border)}.modal-footer,.modal-header{padding:var(--spacing-12) var(--spacing-md)}.modal-footer{border-top:1px solid var(--color-border);background:var(--color-bg);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}input.form-control,select.form-control,textarea.form-control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);transition:all .2s ease;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}input.form-control:focus,select.form-control:focus,textarea.form-control:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(59,130,246,.15);outline:none}.bg-light{background-color:var(--color-bg)!important}.bg-white{background-color:var(--color-surface)!important}.border-bottom{border-bottom:1px solid var(--color-border)!important}.sidebar{width:var(--sidebar-width);height:100vh;background:#F7F7F7;display:flex;flex-direction:column;padding:16px 0;border-right:1px solid #e5e7eb;transition:width .3s cubic-bezier(.25,.8,.25,1);position:relative;z-index:50}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar-header{padding:0 16px;justify-content:space-between;height:48px;flex-shrink:0;margin-bottom:16px}.sidebar-brand,.sidebar-header{display:flex;align-items:center}.sidebar-brand{gap:8px;padding-left:0}.sidebar-logo{height:24px;width:auto;object-fit:contain}.sidebar-brand-text{font-weight:700;font-size:11px;color:#64748b;background:#f1f5f9;padding:6px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;display:inline-block}.sidebar-toggle{background:transparent;border:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:#6B7280;transition:all .2s;padding:0}.sidebar-toggle:hover{background:#F3F4F6;color:#111827}.menu-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:16px;padding:0 16px;scrollbar-width:none}.menu-scroll-container::-webkit-scrollbar{display:none}.menu-section{padding:0}.menu-title{color:#6B7280;font-weight:500;font-size:11px;margin-bottom:4px;padding-left:0;text-transform:capitalize;letter-spacing:.02em}.menu-list{display:flex;flex-direction:column;gap:4px}.menu-item{display:flex;align-items:center;height:36px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;color:#6B7280;transition:all .12s ease;text-decoration:none;position:relative;border:1px solid transparent}.menu-item:hover{background-color:#F5F5F5;color:#111827}.menu-item:hover .icon{opacity:1}.menu-item.active{background:#FFFFFF;color:#111827;font-weight:500;border-radius:10px;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.05)}.menu-item.active .icon{color:#111827;opacity:1}.menu-item .icon{margin-right:10px;display:flex;align-items:center;justify-content:center;color:#6B7280;width:18px;height:18px;transition:all .12s ease;opacity:.7}.menu-item:hover .icon{color:#111827}.sidebar.collapsed .menu-item{justify-content:center;padding:0;border-radius:8px;width:36px;height:36px;margin:0 auto}.sidebar.collapsed .menu-item.active{background:#F3F4F6}.sidebar.collapsed .menu-item .icon{margin-right:0}.profile-section-wrapper{margin-top:auto;padding:16px;position:relative;border-top:1px solid #e5e7eb;background:transparent}.profile-footer-custom{display:flex;align-items:center;justify-content:space-between;height:40px;transition:all .2s;padding:4px 8px;border-radius:8px;cursor:pointer;border:1px solid #e5e7eb;background:white}.profile-footer-custom:hover{background:#F3F4F6}.profile-avatar-custom{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#F3F4F6;border:1px solid #e5e7eb;border-radius:50%;flex-shrink:0;color:#111827;font-size:11px;font-weight:600;overflow:hidden}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-info-custom{display:flex;flex-direction:column;overflow:hidden;margin-left:8px;flex:1}.profile-name-custom{font-size:13px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-plan-custom{font-size:11px;color:#6B7280}.profile-chevron{color:#6B7280;margin-left:4px}.user-dropdown-menu{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)!important;border-radius:8px!important;border:1px solid #e5e7eb!important;padding:4px!important;background:#FFFFFF}.dropdown-item-custom{display:flex;align-items:center;padding:8px 10px;border-radius:6px;transition:background .2s;cursor:pointer}.dropdown-item-custom:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-item-custom:hover .dropdown-item-label{color:var(--color-primary);font-weight:600}.dropdown-item-custom:hover .dropdown-item-icon-wrapper,.dropdown-item-custom:hover .dropdown-item-icon-wrapper i{color:var(--color-primary)!important}.dropdown-item-icon-wrapper{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-right:10px}.dropdown-item-icon-wrapper.blue{background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-item-icon-wrapper.black{background-color:var(--color-bg);color:var(--color-text)}.dropdown-item-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.dropdown-divider-custom{height:1px;background-color:var(--color-bg);margin:6px 0}.sidebar.collapsed .profile-section-wrapper{padding:12px 6px}.sidebar.collapsed .profile-footer-custom{justify-content:center;padding:0;width:36px;height:36px;margin:0 auto}.sidebar.collapsed .profile-info-custom{display:none!important}.sidebar-footer{padding:0 12px 12px;font-size:10px;color:var(--color-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.sidebar.collapsed .sidebar-footer{display:none}.grid-layout{display:grid;grid-template-columns:repeat(12,1fr);width:100%;height:100%}.grid-content,.grid-header,.grid-row,.grid-row-auto,.grid-row-flex{display:contents}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12,.col-span-full{grid-column:span 12}.row-span-1{grid-row:span 1}.row-span-2{grid-row:span 2}.row-span-3{grid-row:span 3}.row-span-auto{grid-row:auto}.row-span-full{grid-row:1/-1}.page-grid-shell{display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:0}.page-grid-shell-no-footer{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0}.gap-0{gap:0}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-12)}.gap-4{gap:var(--spacing-md)}.gap-5{gap:var(--spacing-20)}.gap-6{gap:var(--spacing-lg)}.gap-x-0{column-gap:0}.gap-x-1{column-gap:var(--spacing-xs)}.gap-x-2{column-gap:var(--spacing-sm)}.gap-x-3{column-gap:var(--spacing-12)}.gap-x-4{column-gap:var(--spacing-md)}.gap-x-5{column-gap:var(--spacing-20)}.gap-x-6{column-gap:var(--spacing-lg)}.gap-y-0{row-gap:0}.gap-y-1{row-gap:var(--spacing-xs)}.gap-y-2{row-gap:var(--spacing-sm)}.gap-y-3{row-gap:var(--spacing-12)}.gap-y-4{row-gap:var(--spacing-md)}.gap-y-5{row-gap:var(--spacing-20)}.gap-y-6{row-gap:var(--spacing-lg)}.overflow-auto{overflow:auto;min-height:0}.overflow-hidden{overflow:hidden}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.h-full{height:100%}.w-full{width:100%}.min-h-0{min-height:0}.min-w-0{min-width:0}.flex-shrink-0{flex-shrink:0}.flex-grow-1{flex-grow:1}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-12)}.p-4{padding:var(--spacing-md)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-2{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-3{padding-left:var(--spacing-12);padding-right:var(--spacing-12)}.px-4{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-2{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-3{padding-top:var(--spacing-12);padding-bottom:var(--spacing-12)}.py-4{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-12)}.m-4{margin:var(--spacing-md)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-12)}.mb-4{margin-bottom:var(--spacing-md)}