@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.session-dialog-overlay{position:fixed;inset:0;background:#0009;z-index:9998;animation:fadeIn .2s ease}.session-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;z-index:9999;max-width:480px;width:90%;animation:slideUp .3s cubic-bezier(.25,.8,.25,1)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.session-dialog-header{padding:24px 24px 16px;text-align:center;border-bottom:1px solid #e0f2fe}.session-dialog-icon{font-size:48px;margin-bottom:12px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.session-dialog-title{font-size:20px;font-weight:700;color:#003459;margin:0}.session-dialog-content{padding:20px 24px}.session-dialog-content p{font-size:15px;line-height:1.6;color:#334155;margin:0;text-align:center}.session-dialog-actions{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.session-dialog-btn{padding:10px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.session-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.session-dialog-btn-cancel{background:#f1f5f9;color:#475569}.session-dialog-btn-cancel:hover:not(:disabled){background:#e2e8f0}.session-dialog-btn-continue{background:#0077b6;color:#fff}.session-dialog-btn-continue:hover:not(:disabled){background:#005f91}.session-dialog-btn-continue:active:not(:disabled){transform:scale(.98)}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@media(max-width:768px){.session-dialog{max-width:90%;width:90%}.session-dialog-header{padding:20px 20px 14px}.session-dialog-icon{font-size:40px;margin-bottom:10px}.session-dialog-title{font-size:18px}.session-dialog-content{padding:16px 20px}.session-dialog-content p{font-size:14px}.session-dialog-actions{padding:14px 20px 20px;flex-direction:column-reverse}.session-dialog-btn{width:100%;justify-content:center;padding:12px 20px}}.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{pointer-events:auto;min-width:320px;max-width:480px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;display:flex;align-items:flex-start;gap:12px;animation:slideInRight .3s ease-out}.toast.toast-removing{animation:slideOutRight .3s ease-in forwards}.toast-success{border-left:4px solid var(--color-success, #10b981)}.toast-success .toast-icon{color:var(--color-success, #10b981)}.toast-error{border-left:4px solid var(--color-danger, #ef4444)}.toast-error .toast-icon{color:var(--color-danger, #ef4444)}.toast-warning{border-left:4px solid var(--color-warning, #f59e0b)}.toast-warning .toast-icon{color:var(--color-warning, #f59e0b)}.toast-info{border-left:4px solid var(--color-primary, #007bff)}.toast-info .toast-icon{color:var(--color-primary, #007bff)}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.toast-message{flex:1;font-size:14px;line-height:1.5;color:var(--color-text, #1f2937);word-wrap:break-word}.toast-close{flex-shrink:0;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;margin-top:2px}.toast-close:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text, #1f2937)}.toast-close:active{transform:scale(.95)}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}@media(max-width:768px){.toast-container{top:60px;right:16px;left:16px;align-items:stretch}.toast{min-width:auto;max-width:none;width:100%}@keyframes slideInRight{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutRight{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}}@media(max-width:480px){.toast-container{top:56px;right:12px;left:12px}.toast{padding:12px;font-size:13px}.toast-message{font-size:13px}}.confirm-dialog-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:100%;animation:slideUp .3s ease-out}.confirm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb)}.confirm-dialog-title{font-size:18px;font-weight:600;color:var(--color-text, #1f2937);margin:0}.confirm-dialog-close{width:32px;height:32px;padding:0;background:transparent;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.confirm-dialog-close:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text, #1f2937)}.confirm-dialog-body{padding:24px}.confirm-dialog-message{font-size:15px;line-height:1.6;color:var(--color-text, #1f2937);margin:0;white-space:pre-line}.confirm-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f9fafb);border-radius:0 0 12px 12px}.confirm-dialog-footer .btn{min-width:100px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.confirm-dialog-footer .btn-secondary{background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #d1d5db)}.confirm-dialog-footer .btn-secondary:hover{background:var(--color-bg-secondary, #f3f4f6)}.confirm-dialog-footer .btn-primary{background:var(--color-primary, #007bff);color:#fff}.confirm-dialog-footer .btn-primary:hover{background:var(--color-primary-dark, #0056b3)}.confirm-dialog-footer .btn-danger{background:var(--color-danger, #ef4444);color:#fff}.confirm-dialog-footer .btn-danger:hover{background:#dc2626}.confirm-dialog-footer .btn-warning{background:var(--color-warning, #f59e0b);color:#fff}.confirm-dialog-footer .btn-warning:hover{background:#d97706}.confirm-dialog-footer .btn:active{transform:scale(.98)}@media(max-width:480px){.confirm-dialog-backdrop{padding:12px}.confirm-dialog{max-width:none}.confirm-dialog-header{padding:16px 20px}.confirm-dialog-title{font-size:16px}.confirm-dialog-body{padding:20px}.confirm-dialog-message{font-size:14px}.confirm-dialog-footer{padding:12px 20px;flex-direction:column-reverse}.confirm-dialog-footer .btn{width:100%;min-width:auto}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width .3s ease;z-index:100;box-shadow:var(--shadow-sm)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{height:var(--header-height);padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.sidebar-title{font-size:18px;font-weight:700;color:var(--color-primary);white-space:nowrap;overflow:hidden}.sidebar-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e0f2fe;color:#0284c7;border-radius:var(--radius-md);font-size:18px;flex-shrink:0;border:none;cursor:pointer;transition:var(--transition);line-height:1;padding:0}.sidebar-toggle:hover{background:#0284c7;color:#fff}.sidebar-toggle:active{background:#0369a1;color:#fff;transform:scale(.95)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 12px}.menu-item-wrapper{margin:1px 0}.menu-item{display:flex;align-items:center;gap:12px;height:42px;padding:0 14px;margin:0;border-radius:8px;cursor:pointer;color:#475569;font-size:15px;font-weight:400;transition:var(--transition);white-space:nowrap}.menu-item:hover{background:#f1f5f9;color:#1e293b}.menu-item.active{background:#eff6ff;color:#2563eb}.menu-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#64748b}.menu-item.active .menu-icon{color:#2563eb}.menu-item:hover .menu-icon{color:#475569}.menu-label{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-arrow{display:flex;align-items:center;color:#94a3b8;transition:transform .2s ease;flex-shrink:0}.menu-arrow.expanded{transform:rotate(180deg)}.submenu{margin-left:0}.submenu-item{font-size:13px;height:38px;padding:0 14px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar.collapsed .menu-item{justify-content:center;padding:10px}.sidebar.collapsed .menu-icon{margin:0}.sidebar.collapsed .menu-label,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .submenu{display:none}.sidebar.collapsed .menu-item{position:relative}.sidebar.collapsed .menu-item:after{content:attr(data-label);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;padding:6px 12px;background:var(--color-text);color:#fff;border-radius:var(--radius-md);font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.sidebar.collapsed .menu-item:hover:after{opacity:1}@media(max-width:1024px){.sidebar{width:210px}.sidebar.collapsed{width:60px}}@media(max-width:768px){.sidebar{width:280px;transform:translate(-100%);transition:transform .3s ease;z-index:1001}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-header{padding:0 12px}.sidebar-title{font-size:16px}.sidebar-toggle{width:40px;height:40px;font-size:20px}.menu-item{padding:12px 16px;font-size:14px}.menu-icon{font-size:20px;width:28px}.sidebar.collapsed .menu-item:after{display:none}.sidebar.collapsed{width:280px}.sidebar.collapsed .menu-label,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .submenu{display:block}}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.notification-bell{position:relative}.bell-icon{cursor:pointer;position:relative;padding:6px;border-radius:8px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.bell-icon:hover{background-color:#f1f5f9}.bell-icon:hover svg{color:#2563eb!important}.bell-icon .badge{position:absolute;top:0;right:0;background-color:#ef4444;color:#fff;font-size:10px;font-weight:600;width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid white}.notification-dropdown{position:absolute;top:100%;right:0;width:320px;background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #e5e7eb;z-index:50;margin-top:8px;max-height:400px;display:flex;flex-direction:column}.dropdown-header{padding:12px 16px;border-bottom:1px solid #e5e7eb}.dropdown-header h4{margin:0;font-size:16px;color:#111827}.notification-list{overflow-y:auto;flex:1}.notification-item{padding:12px 16px;border-bottom:1px solid #f3f4f6;cursor:pointer;position:relative;transition:background-color .2s}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#eff6ff}.notification-title{font-weight:600;font-size:14px;color:#111827;margin-bottom:4px}.notification-message{font-size:13px;color:#4b5563;margin-bottom:4px;line-height:1.4}.notification-time{font-size:11px;color:#9ca3af}.unread-dot{position:absolute;top:16px;right:16px;width:8px;height:8px;background-color:#3b82f6;border-radius:50%}.empty-state{padding:24px;text-align:center;color:#6b7280;font-size:14px}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:#f1f5f9}.user-menu-avatar{width:36px;height:36px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.user-menu-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;gap:1px}.user-menu-name{font-size:13px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-menu-role{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-menu-arrow{display:none}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 12px #0000001a;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-radius:12px 12px 0 0}.user-menu-avatar-large{width:48px;height:48px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.user-menu-header-info{flex:1;min-width:0}.user-menu-header-name{font-size:16px;font-weight:600;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-header-role{font-size:13px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-header-dept{font-size:11px;color:#ffffffb3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:var(--color-border);margin:0}.user-menu-items{padding:8px}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--color-text);text-align:left}.user-menu-item:hover{background:var(--color-bg-secondary)}.user-menu-item svg{flex-shrink:0;color:var(--color-text-secondary)}.user-menu-item:hover svg{color:var(--color-primary)}.user-menu-item-danger{color:var(--color-danger)}.user-menu-item-danger svg{color:var(--color-danger)}.user-menu-item-danger:hover{background:var(--color-danger-light)}@media(max-width:768px){.user-menu-info{display:none}.user-menu-trigger{padding:8px}.user-menu-dropdown{right:-8px;width:260px}}@media(max-width:480px){.user-menu-dropdown{position:fixed;inset:auto 0 0;width:100%;border-radius:16px 16px 0 0;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:90;transition:left .3s ease;box-shadow:var(--shadow-sm)}.header-content{height:100%;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.header-left{flex:1}.header-title{font-size:16px;font-weight:600;color:var(--color-text)}.header-right{display:flex;align-items:center;gap:16px}.header-icon{color:#64748b;cursor:pointer;transition:color .2s ease;flex-shrink:0}.header-icon:hover{color:#2563eb}.header-divider{width:1px;height:32px;background:#e2e8f0;flex-shrink:0}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:600;color:var(--color-text)}.user-role{font-size:12px;color:var(--color-text-secondary)}@media(max-width:1024px){.header{left:210px}.header-content{padding:0 20px}.header-title{font-size:16px}}@media(max-width:768px){.header{left:0!important;height:56px}.header-content{padding:0 12px;gap:12px}.header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.header-title{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.header-right{gap:8px;flex-shrink:0}.user-info{gap:8px}.user-avatar{width:32px;height:32px;font-size:13px}.user-details{display:none}.user-name,.user-role{font-size:12px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;flex-shrink:0;color:var(--color-text);padding:0;position:relative;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.mobile-menu-btn:active{transform:scale(.95);background:var(--color-border)}.mobile-menu-btn:before{content:"";display:block;width:18px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor;transition:all .2s ease}.logout-text{display:none}.logout-icon{display:flex;align-items:center;justify-content:center;font-size:18px}.btn.btn-secondary.btn-sm{padding:8px;min-width:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:transparent;transition:all .2s ease}.btn.btn-secondary.btn-sm:hover{background:var(--color-danger-light, #fee);border-color:var(--color-danger, #dc3545);color:var(--color-danger, #dc3545)}}@media(max-width:380px){.header-content{padding:0 8px;gap:8px}.header-left{gap:8px}.header-title{font-size:14px}.mobile-menu-btn{width:32px;height:32px;font-size:18px}.user-avatar{width:28px;height:28px;font-size:12px}.btn.btn-secondary.btn-sm{padding:6px;min-width:32px}}@media(min-width:769px){.mobile-menu-btn,.logout-icon{display:none}.logout-text{display:inline-flex;align-items:center;gap:8px}.btn.btn-secondary.btn-sm{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;transition:all .2s ease}.btn.btn-secondary.btn-sm:hover{background:var(--color-danger-light, #fee);border-color:var(--color-danger, #dc3545);color:var(--color-danger, #dc3545)}}.layout{min-height:auto!important;background:var(--color-bg-secondary)}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:16px;transition:margin-left .3s ease;height:calc(100vh - var(--header-height));overflow-y:auto;width:calc(100% - var(--sidebar-width));box-sizing:border-box}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}@media(max-width:1024px){.main-content{padding:20px}}@media(max-width:768px){.main-content{margin-left:0!important;width:100%!important;padding:16px;margin-top:var(--header-height)}.main-content.sidebar-collapsed{margin-left:0!important;width:100%!important}}@media print{.sidebar,.header,.mobile-overlay{display:none!important}.layout{background:#fff!important;height:auto!important;min-height:0!important;overflow:visible!important}.main-content,.main-content.sidebar-collapsed{margin-left:0!important;margin-top:0!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:0!important}}.force-change-password-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.force-change-password-dialog{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:forceDialogSlideIn .3s ease-out}@keyframes forceDialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.force-change-password-header{padding:32px 32px 24px;text-align:center;border-bottom:1px solid #e5e7eb}.force-change-password-icon{font-size:48px;margin-bottom:16px;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.force-change-password-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.force-change-password-subtitle{font-size:14px;color:#6b7280;margin:0;line-height:1.6}.force-change-password-form{padding:24px 32px 32px}.force-change-password-error{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;border:1px solid #fecaca;margin-bottom:20px;font-size:14px}.force-change-password-submit{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.force-change-password-submit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.force-change-password-submit:active:not(:disabled){transform:translateY(0)}.force-change-password-submit:disabled{opacity:.6;cursor:not-allowed}.force-change-password-note{margin-top:20px;padding:12px 16px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#92400e;line-height:1.5}.force-change-password-note strong{color:#78350f}*{box-sizing:border-box}.login-page{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#003973,#006088);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-y:auto}.login-container{width:100%;max-width:400px;background:#fff;border-radius:16px;box-shadow:0 15px 35px #003c644d;overflow:hidden;display:flex;flex-direction:column;animation:fadeIn .4s cubic-bezier(.25,.8,.25,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{padding:40px 30px 20px;text-align:center;background-color:#fff}.login-logo{font-size:64px;margin-bottom:10px;display:inline-block;filter:drop-shadow(0 4px 6px rgba(0,100,150,.2))}.login-title{font-size:24px;font-weight:700;color:#003459;margin:0 0 8px}.login-subtitle{font-size:14px;color:#587a92;margin:0}.login-form{padding:0 30px 30px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#005073}.input{width:100%;padding:12px 16px;font-size:15px;color:#003459;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;outline:none;transition:all .2s}.input:focus{border-color:#0284c7;box-shadow:0 0 0 4px #0284c726;background-color:#fff}.checkbox-label{display:flex;align-items:center;font-size:14px;color:#005073;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:2px solid #bae6fd;border-radius:4px;position:relative;transition:all .2s}.checkbox-label input[type=checkbox]:checked{background-color:#0077b6;border-color:#0077b6}.checkbox-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.checkbox-label span{margin-left:.5rem}.login-button{width:100%;padding:14px;font-size:16px;font-weight:600;color:#fff;background-color:#0077b6;border:none;border-radius:8px;cursor:pointer;margin-top:10px;transition:background-color .2s,transform .1s}.login-button:hover{background-color:#005f91}.login-button:active{transform:scale(.98)}.login-button:disabled{background-color:#94a3b8;cursor:not-allowed}.login-actions{margin-top:20px;text-align:center}.register-link{background:none;border:none;color:#0077b6;font-size:14px;font-weight:500;cursor:pointer;padding:8px;transition:color .2s;display:block;width:100%}.register-link:hover{color:#005f91;text-decoration:underline}.forgot-password-text{margin-top:12px;font-size:13px;color:#64748b;line-height:1.5}.forgot-password-text strong{color:#0077b6}.login-error{padding:12px 16px;background-color:#fff1f2;border:1px solid #fda4af;color:#e11d48;border-radius:8px;font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.login-footer{padding:15px;background-color:#f0f9ff;text-align:center;border-top:1px solid #e0f2fe}.login-footer-text{font-size:12px;color:#64748b;margin:0}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px;vertical-align:middle}@media(max-width:1024px){.login-container{max-width:380px}.login-header{padding:36px 28px 18px}.login-logo{font-size:56px}.login-title{font-size:22px}}@media(max-width:768px){.login-page{padding:16px}.login-container{max-width:100%;border-radius:12px}.login-header{padding:32px 24px 16px}.login-logo{font-size:48px;margin-bottom:8px}.login-title{font-size:20px;margin-bottom:6px}.login-subtitle{font-size:13px}.login-form{padding:0 24px 24px}.form-group{margin-bottom:18px}.form-label{font-size:13px;margin-bottom:6px}.input{padding:11px 14px;font-size:14px}.checkbox-label{font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px}.checkbox-label input[type=checkbox]:checked:after{font-size:12px}.login-button{padding:12px;font-size:15px;margin-top:8px}.login-error{padding:10px 14px;font-size:13px;margin-bottom:18px}.login-footer{padding:12px}.login-footer-text{font-size:11px}}.page-container{width:100%;max-width:none}.departments-page{padding:8px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;width:100%;gap:12px}.page-title{font-size:20px;font-weight:700;color:#1a202c;margin-bottom:6px;line-height:1.2}.page-subtitle{font-size:15px;color:#64748b;line-height:1.5}.alert{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 200px);width:100%}.table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0}.table thead{background:#f8fafc}.table thead tr:first-child th:first-child{border-top-left-radius:8px}.table thead tr:first-child th:last-child{border-top-right-radius:8px}.table th{padding:12px 20px;text-align:left;font-weight:600;font-size:12px;color:#6b7280;border-bottom:1px solid #e5e7eb}.departments-page .table th{text-transform:none;letter-spacing:0}.table td{padding:14px 20px;border-bottom:1px solid #e5e7eb;color:#111827;font-size:13px}.table tbody tr{transition:background-color .2s ease}.table tbody tr:hover{background:#f9fafb}.table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f9fafb}.action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.btn-action{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;font-size:12px;font-weight:500;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap;background:transparent}.btn-info{color:#0284c7;background:#f0f9ff;border-color:#bae6fd}.btn-info:hover{background:#e0f2fe;border-color:#7dd3fc}.btn-edit{color:#6b7280;background:transparent;border-color:#e5e7eb}.btn-edit:hover{background:#f3f4f6;border-color:#d1d5db}.btn-delete{color:#dc2626;background:#fef2f2;border-color:#fecaca}.btn-delete:hover{background:#fee2e2;border-color:#fca5a5}.btn-warning{color:#d97706;background:#fffbeb;border-color:#fde68a}.btn-warning:hover{background:#fef3c7;border-color:#fcd34d}.btn-action svg{flex-shrink:0;width:15px;height:15px}.departments-page .badge-info{color:#2563eb}.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000a}.table-card .table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 280px);width:100%}.table-card .table{border-collapse:separate;border-spacing:0}.badge-secondary{background:#f3f4f6;color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--color-bg);border-radius:8px;box-shadow:0 4px 16px #0000001f;width:100%;max-width:460px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease}.modal.modal-wide{max-width:780px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:#fff}.modal-title{font-size:16px;font-weight:600;color:#111827;line-height:1.3}.modal-close{width:28px;height:28px;border-radius:4px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:16px;color:#6b7280;border:none;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:#e5e7eb;color:#111827}.modal-body{padding:24px;overflow-y:auto;flex:1;background:#fff}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;background:#fff}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#111827}.input{width:100%;padding:10px 14px;font-size:13px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#111827;transition:all .2s ease;font-family:inherit}.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input:hover:not(:focus){border-color:#cbd5e1}.input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.input::placeholder{color:#cbd5e1}.departments-page .summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.departments-page .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left;transition:all .2s ease}.departments-page .summary-card:hover{box-shadow:0 2px 8px #0000000f;border-color:#d1d5db}.departments-page .summary-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.departments-page .summary-info{flex:1;min-width:0}.departments-page .summary-label{font-size:12px;font-weight:400;color:#6b7280;margin-bottom:2px;text-transform:none;letter-spacing:0}.departments-page .summary-value{font-size:24px;font-weight:700;color:#111827;line-height:1.2}.perm-toolbar{display:flex;gap:8px;margin-bottom:10px}.perm-toolbar .btn{font-size:12px;padding:4px 12px}.perm-scroll{max-height:420px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#f8fafc}.perm-group{margin-bottom:6px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.perm-group:last-child{margin-bottom:0}.perm-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.perm-group-title{font-weight:600;font-size:13px;color:#0f172a}.perm-group-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.perm-group-toggle input[type=checkbox]{accent-color:#0284c7}.perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.perm-item{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;font-size:12px;color:#334155;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;transition:background .1s;-webkit-user-select:none;user-select:none;line-height:1.3}.perm-item:hover{background:#f0f9ff}.perm-item.checked{background:#eff6ff;color:#1e40af}.perm-item input[type=checkbox]{flex-shrink:0;accent-color:#0284c7}.perm-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-item:nth-child(3n){border-right:none}.perm-grid .perm-item:nth-last-child(-n+3){border-bottom:none}@media(max-width:1024px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-title{font-size:24px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:600px}.modal{max-width:90%}.modal.modal-wide{max-width:95%}.perm-grid{grid-template-columns:repeat(2,1fr)}.perm-item:nth-child(3n){border-right:1px solid #f1f5f9}.perm-item:nth-child(2n){border-right:none}}@media(max-width:768px){.page-header{margin-bottom:20px;gap:12px}.page-title{font-size:20px;margin-bottom:4px}.page-subtitle{font-size:13px}.departments-page .summary-cards{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.departments-page .summary-card{padding:14px}.departments-page .summary-value{font-size:20px}.table{min-width:500px;font-size:12px}.table th{padding:10px 8px;font-size:11px}.table td{padding:12px 8px;font-size:12px}.action-buttons{flex-direction:column;gap:6px;align-items:stretch}.btn-action{width:100%;justify-content:center;padding:10px;font-size:12px}.btn-action span{display:none}.btn-action svg{width:18px;height:18px}.modal-overlay{padding:10px;align-items:flex-end}.modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px}.modal-title{font-size:18px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column-reverse;gap:8px}.modal-footer .btn{width:100%;justify-content:center}.form-group{margin-bottom:20px}.form-label{font-size:13px;margin-bottom:6px}.input{padding:10px 14px;font-size:14px}.perm-grid{grid-template-columns:1fr}.perm-item{border-right:none!important}.perm-scroll{max-height:300px}}.role-templates-section{margin-bottom:24px;padding:16px;background:#f0f7ff;border-radius:12px;border:1px solid #d0e3ff}.role-templates-title{font-size:15px;font-weight:600;color:#1e40af;margin:0 0 4px}.role-templates-desc{font-size:13px;color:#6b7280;margin:0 0 12px}.role-templates-grid{display:flex;gap:8px;flex-wrap:wrap}.role-template-btn{display:flex;flex-direction:column;align-items:center;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s;min-width:120px}.role-template-btn:hover{border-color:#2563eb;background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.role-template-btn .template-name{font-size:14px;font-weight:600;color:#1f2937}.role-template-btn .template-count{font-size:12px;color:#6b7280;margin-top:2px}.perm-category-card{background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;overflow:visible}.perm-category-header{position:sticky;top:0;z-index:10;background:var(--color-bg-secondary, #f9fafb);padding:12px 20px;border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}.perm-category-header h4{font-size:15px;font-weight:600;color:var(--color-text-primary, #1f2937);margin:0;display:flex;align-items:center;gap:8px}.perm-category-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:14px;flex-shrink:0}.perm-category-count{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-primary, #ffffff);padding:2px 10px;border-radius:12px;border:1px solid var(--color-border, #e5e7eb)}.perm-category-body{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.perm-item-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px;border-radius:8px;transition:all .2s;position:relative}@media(max-width:1024px){.role-templates-grid{gap:6px}.role-template-btn{min-width:100px;padding:8px 12px}.role-template-btn .template-name{font-size:13px}.perm-category-body{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}}@media(max-width:768px){.role-templates-section{padding:12px;margin-bottom:16px}.role-templates-grid{flex-direction:column;gap:6px}.role-template-btn{flex-direction:row;justify-content:space-between;min-width:unset;width:100%}.perm-category-body{grid-template-columns:1fr;padding:12px;gap:8px}.perm-category-header{position:static}}.teams-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.teams-stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:16px 18px;transition:all .2s ease}.teams-stat-card:hover{box-shadow:0 2px 8px #0000000f;border-color:#d4d4d8}.teams-stat-card.warning{border-color:#fbbf24;background:#fffbeb}.teams-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teams-stat-icon.blue{background:#eff6ff;color:#2563eb}.teams-stat-icon.green{background:#f0fdf4;color:#16a34a}.teams-stat-icon.purple{background:#faf5ff;color:#9333ea}.teams-stat-icon.amber{background:#fef3c7;color:#d97706}.teams-stat-icon.gray{background:#f4f4f5;color:#71717a}.teams-stat-info{display:flex;flex-direction:column;gap:2px}.teams-stat-label{font-size:12px;font-weight:500;color:#71717a;line-height:1.3}.teams-stat-value{font-size:26px;font-weight:700;color:#18181b;line-height:1.2}.teams-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f5f9}.teams-search{position:relative;flex:1;max-width:320px}.teams-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#a1a1aa;pointer-events:none}.teams-search-input{width:100%;padding:8px 12px 8px 34px;border:1px solid #e4e4e7;border-radius:8px;font-size:13px;color:#18181b;background:#fff;outline:none;transition:border-color .2s}.teams-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.teams-search-input::placeholder{color:#a1a1aa}.teams-filter-select{padding:8px 12px;border:1px solid #e4e4e7;border-radius:8px;font-size:13px;color:#18181b;background:#fff;outline:none;cursor:pointer;min-width:160px;transition:border-color .2s}.teams-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.teams-table th,.teams-table td{padding:10px 14px;font-size:13px}.teams-table .badge{font-size:11px;padding:3px 6px}.team-name-cell{display:flex;flex-direction:column;gap:2px}.team-name-cell .team-name{font-weight:600;font-size:13px;color:#18181b}.team-name-cell .team-code{font-size:11px;color:#a1a1aa}.branch-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.branch-badge.branch-orange{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.branch-badge.branch-purple{background:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.branch-badge.branch-teal{background:#f0fdfa;color:#0f766e;border:1px solid #99f6e4}.branch-badge.branch-blue{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.branch-badge.branch-default{background:#f4f4f5;color:#52525b;border:1px solid #e4e4e7}.team-leader-cell{display:flex;align-items:center;gap:8px}.leader-avatar{width:30px;height:30px;border-radius:50%;background:#dbeafe;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.leader-name{font-size:13px;color:#18181b;font-weight:500}.no-leader-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:500;border:1px solid #fde68a}.member-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:3px 8px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:13px;font-weight:600}.text-muted{color:#a1a1aa;font-style:italic;font-size:13px}.teams-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.teams-actions .t-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s ease;border:1px solid transparent}.teams-actions .t-btn svg{flex-shrink:0;width:14px;height:14px}.teams-actions .t-btn-info{color:#0284c7;background:#f0f9ff;border-color:#bae6fd}.teams-actions .t-btn-info:hover{background:#e0f2fe;border-color:#7dd3fc}.teams-actions .t-btn-edit{color:#d97706;background:#fffbeb;border-color:#fde68a}.teams-actions .t-btn-edit:hover{background:#fef3c7;border-color:#fcd34d}.teams-actions .t-btn-delete{color:#dc2626;background:#fef2f2;border-color:#fecaca}.teams-actions .t-btn-delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.teams-actions .t-btn-disabled,.teams-actions .t-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:auto}.teams-table{min-width:800px}.teams-table-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #f1f5f9}.teams-table-count{font-size:13px;color:#71717a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-row:last-child{margin-bottom:0}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.modal-lg{max-width:480px}.modal-lg .modal-body{padding:20px 24px}.modal-lg .modal-header{padding:16px 24px}.modal-lg .modal-footer{padding:14px 24px}.modal-xl{max-width:720px;width:90%}.modal-xl .modal-body{padding:0}.auto-code-hint{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:12px;color:#2563eb}.members-info-bar{display:flex;align-items:center;gap:16px;padding:10px 24px;background:#f9fafb;border-bottom:1px solid #e4e4e7}.members-info-item{display:flex;align-items:center;gap:6px}.members-info-label{font-size:12px;color:#71717a;font-weight:500}.members-info-value{font-size:13px;color:#18181b;font-weight:600}.members-info-sep{color:#d4d4d8;font-size:13px}.members-selected-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#2563eb;color:#fff;border-radius:12px;font-size:12px;font-weight:600}.members-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:380px;overflow-y:auto;padding:16px 24px}.member-card{display:flex;align-items:center;padding:12px 14px;border:1.5px solid #e4e4e7;border-radius:10px;cursor:pointer;transition:all .15s ease;background:#fff}.member-card:hover:not(.in-other-team){border-color:#93c5fd;background:#fafafa}.member-card.selected{border-color:#2563eb;background:#eff6ff}.member-card.selected:hover{background:#dbeafe}.member-card.in-other-team{opacity:.6;cursor:not-allowed;background:#fafafa;border-color:#f4f4f5}.member-checkbox{margin-right:12px}.member-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#2563eb}.member-info{flex:1;min-width:0}.member-name{font-weight:600;font-size:14px;color:#18181b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-details{font-size:12px;color:#71717a;margin-top:2px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.other-team-badge{display:inline-block;padding:2px 8px;background:#fff7ed;color:#c2410c;border-radius:4px;font-size:11px;font-weight:500;border:1px solid #fed7aa}@media(max-width:1100px){.teams-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.teams-stats{grid-template-columns:1fr;gap:8px;margin-bottom:12px}.teams-stat-card{padding:12px 14px}.teams-stat-value{font-size:22px}.teams-toolbar{flex-direction:column;gap:8px;padding:10px 12px}.teams-search{max-width:none;width:100%}.teams-filter-select{width:100%}.members-info-bar{flex-wrap:wrap;gap:8px;padding:10px 16px}.members-info-sep{display:none}.members-grid{padding:12px 16px;max-height:300px}.modal-xl{width:100%;max-width:100%}.teams-actions .t-btn span{display:none}}@media(max-width:600px){.teams-stats{grid-template-columns:repeat(2,1fr)}}.datepicker-wrapper{position:relative;display:inline-flex;align-items:center;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:var(--transition)}.datepicker-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.datepicker-icon{margin-left:10px;color:var(--color-text-muted);pointer-events:none;flex-shrink:0;width:15px;height:15px}.datepicker-input{padding:8px 10px 8px 8px!important;border:none!important;background:transparent!important;color:var(--color-text);flex:1;min-width:0;font-family:inherit;font-size:inherit;outline:none}.datepicker-input:focus{box-shadow:none!important}.datepicker-input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.datepicker-wrapper:has(.datepicker-toggle) .datepicker-input{padding-right:28px!important}.datepicker-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:26px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:none;border-left:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-muted);cursor:pointer;transition:var(--transition);z-index:1}.datepicker-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.datepicker-toggle.open{color:var(--color-primary)}.datepicker-toggle:disabled{cursor:not-allowed;opacity:.5}.datepicker-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;padding:4px}.datepicker-preset{display:block;width:100%;padding:6px 10px;text-align:left;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text);font-size:13px;cursor:pointer;transition:var(--transition);white-space:nowrap}.datepicker-preset:hover{background:var(--color-bg-hover);color:var(--color-primary)}.datepicker-range-start.datepicker-wrapper{border-radius:8px 0 0 8px;border-right:none;background:#f9fafb}.datepicker-range-start .datepicker-input{height:40px;padding:0 10px 0 8px!important;font-size:13px}.datepicker-range-start.datepicker-wrapper:focus-within{border-right:none}.datepicker-range-start .datepicker-toggle{display:none}.datepicker-range-end.datepicker-wrapper{border-radius:0 8px 8px 0;border-left:none;background:#f9fafb}.datepicker-range-end .datepicker-input{height:40px;padding:0 10px 0 8px!important;font-size:13px}.datepicker-range-end.datepicker-wrapper:focus-within{border-left:none}.datepicker-range-end .datepicker-toggle{display:none}@media(max-width:768px){.datepicker-input{padding:7px 11px 7px 8px!important;font-size:13px}}.employee-table thead{background:linear-gradient(to bottom,#f8f9fa,#e9ecef);border-bottom:2px solid var(--color-primary)}.employee-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#495057;padding:8px 10px;white-space:nowrap;border-bottom:2px solid #dee2e6;position:sticky;top:0;background:linear-gradient(to bottom,#f8f9fa,#e9ecef);z-index:10}.employee-table th:first-child{border-top-left-radius:8px}.employee-table th:last-child{border-top-right-radius:8px}.employee-table{table-layout:fixed;width:100%}.employee-table td{vertical-align:middle;padding:8px 10px;border-bottom:1px solid #f0f0f0;overflow:hidden;text-overflow:ellipsis}.employee-table tbody tr:hover{background-color:#f8f9fa;transition:background-color .2s ease}.employees-page .table-container{max-height:calc(100vh - 200px);overflow-x:auto;overflow-y:auto;position:relative}.input.is-invalid,.form-control.is-invalid{border-color:#dc3545;background-color:#fff5f5}.input.is-invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875rem;color:#dc3545}.invalid-feedback[style*="display: block"]{display:block!important}.badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:600;border-radius:4px;text-align:center;white-space:nowrap}.badge-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.badge-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.badge-secondary{background-color:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.alert-warning{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:12px;color:#92400e}.alert-warning strong{color:#78350f}.employee-empty{text-align:center;padding:40px;color:var(--color-text-secondary)}.employee-cell{display:flex;flex-direction:column;gap:4px}.employee-name{font-weight:600;color:var(--color-text)}.employee-meta{font-size:12px;color:var(--color-text-secondary)}.modal-large{max-width:720px}.modal-large .modal-body{max-height:calc(95vh - 200px);overflow-y:auto;padding-right:8px}.employee-modal-section+.employee-modal-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.employee-section-title{font-size:13px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:12px;letter-spacing:.5px}.employee-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.employee-form-grid .form-group{margin-bottom:0}.input-hint{font-size:12px;color:var(--color-text-secondary);margin-top:6px}.modal-v1{max-width:780px;border-radius:12px;overflow:hidden}.modal-header-v1{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fff}.modal-header-v1-left{display:flex;align-items:center;gap:14px}.modal-header-v1-icon{width:40px;height:40px;border-radius:10px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header-v1-text{display:flex;flex-direction:column;gap:2px}.modal-header-v1-text .modal-title{font-size:18px;font-weight:600;color:#111827;line-height:1.3;margin:0}.modal-subtitle{font-size:13px;color:#64748b;line-height:1.3}.modal-close-v1{width:50px;height:50px;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0}.modal-close-v1 svg{color:#111827;stroke:currentColor}.modal-close-v1:hover{background:#f1f5f9;color:#111827;border-color:#d1d5db}.modal-tabs-v1{display:flex;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:0 24px;gap:0;overflow-x:auto}.modal-tab-v1{display:flex;align-items:center;gap:6px;padding:12px 16px;font-size:13px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-1px}.modal-tab-v1:hover{color:#374151;background:#00000005}.modal-tab-v1.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb;background:#2563eb0a}.modal-tab-v1 svg{flex-shrink:0}.modal-v1 .modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 200px);background:#fff}.modal-footer-v1{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f1f5f9;background:#fff}.btn-v1-save{display:inline-flex;align-items:center;gap:6px}.modal-hint-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:13px;line-height:1.4}.modal-hint-box svg{flex-shrink:0;color:#d97706}.modal-permissions-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:14px 16px}.modal-permissions-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#0369a1;margin-bottom:8px}.modal-permissions-title svg{flex-shrink:0;color:#0284c7}.modal-permissions-list{font-size:12px;color:#334155;line-height:1.6;word-break:break-word}.form-label-hint{font-weight:400;font-size:12px;color:#94a3b8;margin-left:4px}.cccd-upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;border:2px dashed #e5e7eb;border-radius:8px;padding:16px;background:#fafafa;text-align:center;transition:all .2s ease}.cccd-upload-box:hover{border-color:#cbd5e1;background:#f8fafc}@media(max-width:1024px){.employee-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.modal-large{max-width:90%}.modal-v1{max-width:95%}}@media(max-width:768px){.employee-form-grid{grid-template-columns:1fr;gap:16px}.modal-large{max-width:100%}.modal-v1{max-width:100%;border-radius:16px 16px 0 0}.modal-header-v1{padding:16px 20px}.modal-header-v1-text .modal-title{font-size:16px}.modal-tabs-v1{padding:0 12px;gap:0}.modal-tab-v1{padding:10px 12px;font-size:12px}.modal-tab-v1 span{display:none}.modal-tab-v1 svg{width:18px;height:18px}.modal-v1 .modal-body{padding:20px;max-height:calc(90vh - 180px)}.modal-footer-v1{padding:14px 20px;flex-direction:column-reverse;gap:8px}.modal-footer-v1 .btn{width:100%;justify-content:center}.employee-modal-section{margin-top:20px;padding-top:16px}.employee-section-title{font-size:12px}.employees-page .filters-container{padding:8px 12px!important}.employees-page .filters-container .input{width:100%!important;min-width:0!important}.employees-page .table-container{max-height:calc(100vh - 200px)}}@media(max-width:1200px){.employees-page .table-container{max-height:calc(100vh - 200px)}.employee-table{min-width:1100px}}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.profile-main-card{grid-column:1 / -1}.profile-avatar-section{display:flex;align-items:center;gap:24px;padding:16px}.profile-avatar-large{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:600;flex-shrink:0;box-shadow:0 4px 12px #007bff33}.profile-basic-info{flex:1}.profile-name{font-size:22px;font-weight:600;color:var(--color-text);margin-bottom:8px}.profile-role-badge{display:inline-block;padding:6px 16px;background:var(--color-primary);color:#fff;border-radius:20px;font-size:14px;font-weight:500;margin-bottom:8px}.profile-dept{font-size:14px;color:var(--color-text-secondary)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.card-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.profile-info-grid{padding:20px;display:grid;gap:20px}.profile-info-item{display:flex;flex-direction:column;gap:6px}.profile-info-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.profile-info-value{font-size:15px;color:var(--color-text);font-weight:500}.text-muted{color:var(--color-text-secondary);font-style:italic;font-weight:400}.profile-permissions-card{grid-column:1 / -1}.profile-permissions-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.permission-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;font-size:13px;color:var(--color-text);transition:all .2s ease}.permission-badge:hover{background:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.permission-badge svg{flex-shrink:0;color:var(--color-success)}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}.profile-avatar-section{flex-direction:column;text-align:center}.profile-name{font-size:24px}.profile-permissions-grid{grid-template-columns:1fr}}@media(max-width:480px){.profile-avatar-large{width:80px;height:80px;font-size:32px}.profile-name{font-size:20px}}.products-page{padding:16px}.products-header{margin-bottom:12px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.products-header h1{font-size:24px;font-weight:700;margin-bottom:20px;color:var(--color-text);width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;width:100%}.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:20px;transition:all .2s ease}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.stat-card .stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:8px}.stat-card .stat-value{font-size:32px;font-weight:700;color:var(--color-text)}.stat-card.stat-success{border-left:4px solid var(--color-success)}.stat-card.stat-success .stat-value{color:var(--color-success)}.stat-card.stat-secondary{border-left:4px solid var(--color-text-secondary)}.stat-card.stat-secondary .stat-value{color:var(--color-text-secondary)}.stat-card.stat-warning{border-left:4px solid var(--color-warning)}.stat-card.stat-warning .stat-value{color:var(--color-warning)}.filter-bar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:250px;padding:10px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:#fff;color:#333;transition:border-color .2s ease}.search-input::placeholder{color:#999}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;background-color:#fff;color:#333}.filter-select{padding:10px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:#fff;color:#333;cursor:pointer;transition:border-color .2s ease;min-width:180px}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;background-color:#fff;color:#333}.products-table{width:100%;border-collapse:collapse;background:#fff}.products-table thead{background:linear-gradient(to bottom,#f8f9fa,#e9ecef);border-bottom:2px solid var(--color-primary)}.products-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#495057;padding:8px 10px;white-space:nowrap;text-align:left}.products-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.products-table tbody tr:hover{background-color:#f8f9fa;transition:background-color .2s ease}.product-thumbnail{width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.product-thumbnail img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-text-secondary);background-color:#e9ecef;font-size:18px}.product-code{color:var(--color-primary);text-decoration:none;font-weight:600;font-family:Courier New,monospace;font-size:13px}.product-code:hover{text-decoration:underline}.action-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-action{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s;background:transparent}.btn-edit{color:var(--color-primary)}.btn-edit:hover{background-color:#007bff1a}.btn-delete{color:var(--color-danger)}.btn-delete:hover{background-color:#dc35451a}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.btn-page{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--color-border);background:#fff;border-radius:4px;cursor:pointer;font-size:14px;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-page:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-page.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-page:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed}.pagination-info{margin-left:16px;font-size:14px;color:var(--color-text-secondary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:var(--color-text-secondary)}.spinner{width:40px;height:40px;border:3px solid rgba(0,123,255,.1);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite;margin-bottom:16px}.stock-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:13px;font-weight:600;background:#e0f2fe;color:#0369a1}.stock-badge.low{background:#fffbeb;color:#d97706;font-weight:700}.stock-badge.out{background:#fef2f2;color:#dc2626;font-weight:700}tr.row-low-stock{background-color:#fffbeb!important}tr.row-low-stock:hover{background-color:#fef3c7!important}tr.row-out-of-stock{background-color:#fef2f2!important}tr.row-out-of-stock:hover{background-color:#fecaca!important}@keyframes pulse-warning{0%,to{background:#fef2f2}50%{background:#fecaca}}.warehouse-import-page{padding:24px;max-width:1400px;margin:0 auto}.import-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.import-form-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000000d}.form-control{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:#fff;color:var(--color-text);transition:all .2s;box-sizing:border-box}.import-list-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;height:calc(100vh - 140px);position:sticky;top:24px}.import-item{padding:16px 24px;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:flex-start;transition:background-color .1s}.import-item:hover{background-color:var(--color-bg-hover)}.total-price{font-weight:700;color:var(--color-primary)}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.summary-label{font-size:14px;color:var(--color-text-secondary)}.summary-value{font-size:20px;font-weight:700;color:var(--color-text)}@media(max-width:1024px){.warehouse-import-page{padding:16px}.import-container{grid-template-columns:1fr}.import-list-card{height:auto;max-height:60vh;position:static}}@media(max-width:640px){.warehouse-import-page{padding:12px}.import-form-card{padding:16px}.form-row{flex-direction:column;gap:0}.import-item,.list-header{padding:12px 16px}.list-footer{padding:16px}.summary-value{font-size:18px}}.warehouse-export-page{padding:24px;max-width:1200px;margin:0 auto}.export-container{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;align-items:start}.export-form-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000000d}.form-section-title{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-control{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;background:#fff;color:var(--color-text);transition:all .2s}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-control.is-invalid{border-color:var(--color-danger)}.invalid-feedback{display:block;width:100%;margin-top:4px;font-size:12px;color:var(--color-danger)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.btn-add-item{width:100%;margin-top:8px;justify-content:center}.export-list-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;height:calc(100vh - 140px);position:sticky;top:24px}.list-header{padding:16px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.list-title{font-size:16px;font-weight:600;color:var(--color-text)}.list-count{font-size:13px;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:2px 8px;border-radius:12px}.items-container{flex:1;overflow-y:auto;padding:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);padding:40px;text-align:center}.export-item{padding:16px 24px;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:flex-start;transition:background-color .1s}.export-item:hover{background-color:var(--color-bg-hover)}.item-info{flex:1}.item-name{font-weight:600;color:var(--color-text);margin-bottom:4px}.item-meta{font-size:12px;color:var(--color-text-secondary);display:flex;gap:12px;flex-wrap:wrap}.item-meta span{display:flex;align-items:center;gap:4px}.item-total{text-align:right;margin-left:16px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.btn-remove{color:var(--color-text-muted);padding:4px;border-radius:4px}.btn-remove:hover{color:var(--color-danger);background:#dc26261a}.list-footer{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.btn-submit{width:100%;justify-content:center;padding:12px;font-size:16px}.available-stock{font-size:12px;color:var(--color-success);margin-top:4px;font-weight:500}.available-stock.low{color:var(--color-warning)}.available-stock.empty{color:var(--color-danger)}@media(max-width:1024px){.export-container{grid-template-columns:1fr}.export-list-card{height:auto;position:static}}.batch-expiry-page{padding:24px}.page-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:24px;font-weight:700;color:var(--color-text);margin:0}.tabs{display:flex;gap:2px;margin-bottom:24px;border-bottom:1px solid var(--color-border)}.tab-item{padding:12px 24px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-item:hover{color:var(--color-primary);background:var(--color-bg-hover)}.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:transparent}.filter-bar{display:flex;gap:12px;margin-bottom:20px;align-items:center;background:#fff;padding:16px;border-radius:8px;border:1px solid var(--color-border)}.filter-label{font-size:14px;color:var(--color-text);font-weight:500}.days-input{width:80px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px}.expiry-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.expiry-table th{background:var(--color-bg-secondary);padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.expiry-table td{padding:12px 16px;border-bottom:1px solid var(--color-border-light);font-size:14px;color:var(--color-text)}.expiry-table tr:last-child td{border-bottom:none}.expiry-table tr:hover{background:var(--color-bg-hover)}.batch-number{font-family:monospace;font-weight:600;color:var(--color-primary)}.days-left{font-weight:600}.days-left.warning{color:var(--color-warning)}.days-left.danger{color:var(--color-danger)}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.danger{background:#fee2e2;color:#991b1b}.empty-state{text-align:center;padding:40px;color:var(--color-text-muted);background:#fff;border-radius:8px;border:1px solid var(--color-border)}.dashboard-page{padding:28px 32px;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard-page .kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-page .section-title{font-size:20px;font-weight:700;color:#18181b;margin:0}.dashboard-page .time-filters{display:flex;gap:6px}.dashboard-page .time-filter-btn{padding:8px 16px;border:1px solid #E4E4E7;border-radius:8px;background:#fff;font-size:13px;color:#71717a;cursor:pointer;transition:all .15s;font-weight:500;font-family:inherit}.dashboard-page .time-filter-btn:hover{background:#f4f4f5;color:#18181b}.dashboard-page .time-filter-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.dashboard-page .kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.dashboard-page .kpi-card{background:#fff;border:1px solid #E4E4E7;border-left:4px solid #E4E4E7;border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000000d}.dashboard-page .kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.dashboard-page .kpi-icon-circle{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.dashboard-page .kpi-content{flex:1;min-width:0}.dashboard-page .kpi-label{font-size:12px;color:#71717a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-page .kpi-value{font-size:24px;font-weight:700;color:#18181b;margin-bottom:4px}.dashboard-page .kpi-change{font-size:11px;color:#a1a1aa}.dashboard-page .kpi-change.positive{color:#10b981}.dashboard-page .kpi-change.negative{color:#ef4444}.dashboard-page .skeleton{background:linear-gradient(90deg,#f4f4f5 25%,#e4e4e7,#f4f4f5 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:8px}.dashboard-page .skeleton-value{height:28px;width:80px;margin-bottom:4px}.dashboard-page .skeleton-change{height:14px;width:100px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-page .kpi-loading{text-align:center;padding:32px;color:#a1a1aa;font-size:14px}.dashboard-page .chart-section{background:#fff;border:1px solid #E4E4E7;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.dashboard-page .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dashboard-page .chart-title{font-size:16px;font-weight:700;color:#18181b;margin:0}.dashboard-page .chart-subtitle{font-size:12px;color:#a1a1aa;margin-top:4px}.dashboard-page .chart-legend{display:flex;gap:16px;align-items:center}.dashboard-page .chart-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#71717a}.dashboard-page .chart-legend-dot{width:12px;height:12px;border-radius:3px}.dashboard-page .chart-body{position:relative;overflow-x:auto}.dashboard-page .chart-empty-msg{text-align:center;padding:48px;color:#a1a1aa}.dashboard-page .ranking-panels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:0}.dashboard-page .ranking-panel{background:#fff;border-radius:16px;border:1px solid #E4E4E7;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000000d}.dashboard-page .ranking-panel-header{background:#18181b;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:8px}.dashboard-page .ranking-panel-icon{font-size:14px}.dashboard-page .ranking-panel-title{font-size:12px;font-weight:700;letter-spacing:.5px}.dashboard-page .panel-tabs{display:flex;border-bottom:1px solid #E4E4E7;background:#f8fafc}.dashboard-page .panel-tab-btn{flex:1;padding:10px 4px;border:none;background:transparent;font-size:12px;font-weight:600;color:#71717a;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent;font-family:inherit}.dashboard-page .panel-tab-btn:hover{color:#18181b;background:#f4f4f5}.dashboard-page .panel-tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;background:#fff}.dashboard-page .ranking-panel-body{flex:1;max-height:400px;overflow-y:auto}.dashboard-page .ranking-table{width:100%;border-collapse:collapse;font-size:12px}.dashboard-page .ranking-table thead{position:sticky;top:0;z-index:1}.dashboard-page .ranking-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-weight:600;color:#71717a;font-size:11px;letter-spacing:.3px;white-space:nowrap;border-bottom:1px solid #E4E4E7}.dashboard-page .ranking-table td{padding:8px 12px;border-bottom:1px solid #F4F4F5;color:#18181b;white-space:nowrap}.dashboard-page .ranking-table tbody tr:nth-child(2n){background:#fafafa}.dashboard-page .ranking-table tbody tr:hover{background:#f4f4f5}.dashboard-page .ranking-table tbody tr.rank-highlight-blue{background:#eff6ff}.dashboard-page .ranking-table tbody tr.rank-highlight-green{background:#ecfdf5}.dashboard-page .ranking-table tbody tr.rank-highlight-amber{background:#fffbeb}.dashboard-page .ranking-table .rank-number{font-weight:700;color:#71717a;width:28px;text-align:center}.dashboard-page .ranking-table .rank-number.rank-1{color:#2563eb;font-size:13px}.dashboard-page .ranking-table .name-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;font-weight:500}.dashboard-page .ranking-table .revenue-cell{font-weight:600;color:#2563eb;text-align:right}.dashboard-page .ranking-table .conversion-cell{font-weight:700;text-align:right}.dashboard-page .ranking-table .conversion-cell.high{color:#10b981}.dashboard-page .ranking-table .conversion-cell.medium{color:#f59e0b}.dashboard-page .conversion-bar-container{display:flex;align-items:center;gap:8px}.dashboard-page .conversion-bar{width:48px;height:6px;border-radius:3px;background:#e4e4e7;overflow:hidden}.dashboard-page .conversion-bar-fill{height:100%;border-radius:3px;transition:width .3s}.dashboard-page .conversion-bar-fill.high{background:#10b981}.dashboard-page .conversion-bar-fill.medium{background:#f59e0b}.dashboard-page .ranking-table .total-row{background:#f8fafc!important;border-top:2px solid #E4E4E7}.dashboard-page .ranking-table .total-row td{border-bottom:none;font-weight:700}.dashboard-page .ranking-empty-cell{text-align:center!important;color:#a1a1aa;padding:24px 10px!important;font-style:italic}.dashboard-page .ranking-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px;color:#a1a1aa;font-size:13px}.dashboard-page .ranking-spinner{width:16px;height:16px;border:2px solid #E4E4E7;border-top-color:#2563eb;border-radius:50%;animation:ranking-spin .8s linear infinite}@keyframes ranking-spin{to{transform:rotate(360deg)}}.dashboard-page .dashboard-footer{margin-top:24px;text-align:center;color:#a1a1aa;font-size:12px}@media(max-width:1400px){.dashboard-page .kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.dashboard-page{padding:20px}.dashboard-page .kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-page .kpi-header{flex-direction:column;align-items:flex-start;gap:10px}.dashboard-page .ranking-panels-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-page{padding:16px}.dashboard-page .kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-page .kpi-card{padding:14px}.dashboard-page .kpi-value{font-size:20px}.dashboard-page .ranking-panels-grid{grid-template-columns:1fr}.dashboard-page .time-filters{flex-wrap:wrap}}.assign-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;overflow:auto}.assign-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:calc(90vh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a;z-index:1101;position:relative}.assign-modal .modal-body{overflow-y:auto;flex:1;min-height:0;padding:14px 16px;scroll-behavior:smooth}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.modal-header button{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.modal-header button:hover{background-color:#f3f4f6}.selection-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:2px solid #e5e7eb}.selection-tabs .tab{flex:1;padding:10px 16px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s;margin-bottom:-2px}.selection-tabs .tab:hover{color:#374151;background-color:#f9fafb}.selection-tabs .tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background-color:transparent}.modal-body{padding:14px 16px}.info-box{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 12px;margin-bottom:10px;color:#1e40af;font-size:13px}.section{margin-bottom:14px}.section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151}.employee-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:6px}.employee-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:6px;cursor:pointer}.employee-item:hover{background-color:#f9fafb}.employee-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;flex-shrink:0}.employee-item span{flex:1}.data-count{color:#6b7280;font-size:14px}.warning-box{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:8px 12px;margin-bottom:10px;color:#92400e}.warning-box ul{margin:8px 0 0 20px;padding:0}.section label{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.section input[type=radio]{cursor:pointer;width:16px;height:16px}.manual-section{display:flex;flex-direction:column;gap:8px;padding:10px;background-color:#f9fafb;border-radius:8px;margin-top:12px}.manual-input{display:flex;align-items:center;gap:12px}.manual-input label{flex:1;font-weight:500}.manual-input input{width:100px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.preview-section{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb}.preview-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#374151}.preview-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.preview-table thead{background-color:#f9fafb}.preview-table th,.preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.preview-table tbody tr:last-child td{border-bottom:none}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #e5e7eb}.modal-footer button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #d1d5db;background-color:#fff;color:#374151;display:inline-flex;align-items:center;gap:8px}.modal-footer button:hover{background-color:#f9fafb}.modal-footer button:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.modal-footer .btn-primary:hover:not(:disabled){background-color:#2563eb}.quantity-selector{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:10px 12px;margin-bottom:10px}.quantity-options{display:flex;flex-direction:column;gap:6px}.quantity-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#1e40af}.quantity-option input[type=radio]{cursor:pointer;width:16px;height:16px}.quantity-input{width:120px;padding:4px 8px;border:1px solid #93c5fd;border-radius:4px;font-size:14px;margin-left:32px;background:#fff}.distribution-target-tabs{display:flex;gap:8px;margin-bottom:12px}.distribution-target-tabs .target-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.distribution-target-tabs .target-tab:hover{border-color:#93c5fd;background:#f0f9ff}.distribution-target-tabs .target-tab.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.target-tab-count{font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;background:#e5e7eb;color:#374151}.distribution-target-tabs .target-tab.active .target-tab-count{background:#dbeafe;color:#1d4ed8}.branch-target-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.branch-filter-section{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;background:#f8f9fa;border-radius:8px}.branch-filter-section label{font-weight:500;white-space:nowrap;color:#374151;margin-bottom:0}.branch-filter-section select{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.source-selector-section{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:12px;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.source-selector-row{display:flex;align-items:center;gap:10px}.source-selector-section label{font-weight:500;white-space:nowrap;color:#166534;margin-bottom:0}.source-selector-section select{flex:1;padding:6px 10px;border:1px solid #86efac;border-radius:6px;font-size:14px}.source-help-text{font-size:12px;color:#15803d;margin-top:4px;font-style:italic}.quantity-summary{margin-top:8px;padding-top:8px;border-top:1px solid #bfdbfe;font-size:13px;color:#1e40af}.assignment-history-tab{padding:10px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d}.filters-inline{display:flex;gap:8px;margin-right:10px}.filters-inline input,.filters-inline select{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-header h3{margin:0;color:#2c3e50}.btn-refresh{padding:8px 16px;background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-refresh:hover{background-color:#e9ecef}.btn-link{background:none;border:none;color:#3498db;cursor:pointer;text-decoration:underline;padding:0}.btn-link:hover{color:#2980b9}.badge{padding:4px 8px;border-radius:12px;font-size:.85em;font-weight:500}.method-round_robin{background-color:#e3f2fd;color:#1976d2}.method-manual{background-color:#fff3e0;color:#f57c00}.method-weighted{background-color:#e8f5e9;color:#388e3c}.detail-row td{background-color:#f8f9fa;padding:10px}.detail-content{background:#fff;padding:10px;border-radius:4px;border:1px solid #eee}.detail-content h4{margin:0 0 10px;font-size:.95em;color:#666}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.detail-item{display:flex;justify-content:space-between;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;border:1px solid #eee}.user-name{font-weight:500;color:#2c3e50}.quantity{color:#666;font-size:.9em}.statistics-tab{padding:14px;background:#f8f9fa;min-height:100%}.filters-bar{display:flex;gap:12px;align-items:flex-end;background:#fff;padding:14px;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:10px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:500;color:#495057;font-size:.9em}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;min-width:200px}.btn-primary{padding:8px 20px;background-color:#0d6efd;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;height:38px;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background-color:#0b5ed7}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:12px}.card{background:#fff;padding:14px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.card h3{margin:0 0 10px;color:#6c757d;font-size:1em;font-weight:500}.card .value{font-size:2em;font-weight:600;color:#2c3e50}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:12px;margin-bottom:12px}.chart-container{background:#fff;padding:14px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.chart-container h3{margin:0 0 20px;color:#2c3e50;font-size:1.1em}.details-table-container{background:#fff;padding:14px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.details-table-container h3{margin:0 0 20px;color:#2c3e50;font-size:1.1em}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #eee}.data-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.loading{text-align:center;padding:40px;color:#6c757d}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6}.modal-body{padding:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px;border-top:1px solid #e5e7eb}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-control{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-control:disabled{background-color:#f3f4f6;cursor:not-allowed}textarea.form-control{resize:vertical;font-family:inherit}.required{color:#ef4444}.alert{padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-warning{background-color:#fefce8;border:1px solid #fef08a;color:#854d0e}.alert-warning strong{display:block;margin-bottom:8px}.alert-warning p{margin:4px 0}.info-box{background-color:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px;margin-top:16px}.info-box strong{display:block;margin-bottom:8px;color:#1e40af}.info-box ul{margin:0;padding-left:20px}.info-box li{margin:4px 0;color:#1e3a8a}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}input[type=radio]{margin-right:8px;cursor:pointer}label{cursor:pointer}@media(max-width:640px){.modal-content{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.employee-data-management-tab{padding:10px}.tab-header{margin-bottom:8px}.header-left h3{margin:0 0 2px;font-size:16px;color:var(--color-text-primary)}.header-left p{margin:0;font-size:13px;color:var(--color-text-secondary)}.employee-selector{margin-bottom:10px;display:flex;align-items:center;gap:8px}.employee-selector label{font-weight:500;color:var(--color-text-primary);min-width:120px}.employee-selector .form-control{flex:1;max-width:500px;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:14px}.employee-info{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-background-secondary);border-radius:6px;margin-bottom:10px}.info-item{font-size:14px;color:var(--color-text-secondary)}.info-item strong{color:var(--color-text-primary);margin-right:5px}.empty-state{text-align:center;padding:30px 16px;color:var(--color-text-secondary)}.empty-state p{font-size:14px;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 16px}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.data-management-page{padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:#fff;border-bottom:1px solid #e2e8f0}.page-header h2{margin:0 0 4px;font-size:24px;font-weight:700;color:#0f172a;font-family:Inter,sans-serif}.page-header p{margin:0;color:#64748b;font-size:14px;font-family:Inter,sans-serif}.header-actions{display:flex;gap:10px;align-items:center}.header-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500;font-family:Inter,sans-serif;white-space:nowrap}.header-pill-green{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.header-pill-blue{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.tab-row{display:flex;align-items:center;justify-content:space-between;min-height:44px}.tabs{display:flex;gap:0;align-items:center;border-bottom:1px solid #e2e8f0;align-self:stretch}.tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#94a3b8;font-family:Inter,sans-serif;transition:all .2s;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center}.tab:hover{color:#0f172a}.tab.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb}.tab-row .filters-inline{display:flex!important;gap:8px!important;align-items:center!important;flex:0 0 auto!important;max-width:580px!important}.tab-row .filters-inline .filter-search-wrap{position:relative!important;width:200px!important;min-width:200px!important;max-width:200px!important;height:40px!important;flex:0 0 200px!important}.tab-row .filters-inline .filter-search-icon{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:16px!important;color:#94a3b8!important;pointer-events:none!important;z-index:1!important}.tab-row .filters-inline .filter-search-input{display:block!important;width:200px!important;max-width:200px!important;height:40px!important;padding:0 14px 0 38px!important;margin:0!important;font-size:13px!important;font-weight:400!important;font-family:Inter,sans-serif!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important;color:#0f172a!important;box-sizing:border-box!important;outline:none!important;line-height:40px!important}.tab-row .filters-inline .filter-search-input::placeholder{color:#94a3b8!important}.tab-row .filters-inline .filter-search-input:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.tab-row .filters-inline .datepicker-wrapper{width:130px!important;min-width:130px!important;max-width:130px!important;height:40px!important;flex:0 0 130px!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important}.tab-row .filters-inline .datepicker-input{width:130px!important;max-width:130px!important;height:40px!important;padding:0 8px!important;margin:0!important;font-size:13px!important;font-weight:400!important;font-family:Inter,sans-serif!important;border:none!important;border-radius:0!important;background:transparent!important;color:#0f172a!important;box-sizing:border-box!important;line-height:40px!important}.tab-row .filters-inline .datepicker-input:focus{border:none!important;box-shadow:none!important}.tab-row .filters-inline .datepicker-icon{margin-left:10px!important;color:#94a3b8!important}.tab-row .filters-inline .datepicker-toggle{display:none!important}.tab-row .filters-inline .filter-select{width:90px!important;min-width:90px!important;max-width:90px!important;height:40px!important;flex:0 0 90px!important;padding:0 30px 0 14px!important;margin:0!important;font-size:13px!important;font-weight:400!important;font-family:Inter,sans-serif!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important;color:#64748b!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;box-sizing:border-box!important;outline:none!important}.tab-row .filters-inline .filter-select:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.btn-recall{height:40px;padding:0 18px;background:#fef3c7;color:#92400e;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.btn-recall:hover{background:#fde68a}.btn-outline-action{height:40px;padding:0 18px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;white-space:nowrap}.btn-outline-action:hover{background:#f8fafc;border-color:#cbd5e1}.btn-import{height:40px;padding:0 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;white-space:nowrap}.btn-import:hover{background:#1d4ed8}.page-content{background:#f8fafc;padding:20px 40px;flex:1}.filters-section{display:flex;gap:8px;margin-bottom:8px;margin-top:16px}.filters-section .input{flex:1;max-width:250px}.filters-section select.input{max-width:200px;cursor:pointer}.page-content .card{border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{table-layout:fixed!important;width:100%!important}.data-table thead{background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important}.data-table th{padding:12px 6px!important;font-size:11px!important;font-weight:600!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.5px!important;font-family:Inter,sans-serif!important;white-space:nowrap}.data-table td{padding:14px 6px!important;border-bottom:1px solid #f1f5f9!important;font-size:13px!important;font-family:Inter,sans-serif!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table th:first-child,.data-table td:first-child{padding-left:20px!important}.data-table th:last-child,.data-table td:last-child{padding-right:20px!important}.data-table td:first-child{font-weight:500;color:#0f172a}.data-table tbody tr:hover{background:#f8fafc}.text-center{text-align:center}.text-danger{color:var(--color-danger);font-weight:600}.text-success{color:var(--color-success);font-weight:600}.text-muted{color:var(--color-text-muted);font-size:13px;margin:8px 0}.progress-info{display:flex;flex-direction:column;gap:4px;min-width:100px}.progress-text{font-size:12px;color:var(--color-text-secondary)}.distributed-info{color:var(--color-primary, #2563eb);font-weight:500}.progress-bar-container{height:6px;background:var(--color-bg-secondary);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.quality-cell{display:flex;align-items:center;gap:8px}.quality-summary{font-size:13px;color:var(--color-text)}.btn-expand{background:transparent;border:none;cursor:pointer;font-size:18px;padding:4px;opacity:.6;transition:opacity .2s}.btn-expand:hover{opacity:1}.import-preview-modal{width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.summary-item{padding:10px;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:2px solid var(--color-border)}.summary-item.success{border-color:var(--color-success);background:#dcfce7}.summary-item.warning{border-color:var(--color-warning);background:#fef3c7}.summary-item.error{border-color:var(--color-danger);background:#fee2e2}.summary-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.summary-value{font-size:24px;font-weight:700;color:var(--color-text)}.error-list,.duplicate-list{margin-top:12px;padding:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.error-list h4,.duplicate-list h4{margin:0 0 12px;font-size:15px}.error-table-wrapper{max-height:300px;overflow-y:auto}.duplicate-numbers{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.quality-breakdown-modal{width:90%;max-width:900px;max-height:90vh;overflow-y:auto}.quality-section{margin-bottom:16px}.quality-section h4{margin:0 0 16px;font-size:16px;color:var(--color-text)}.quality-section h5{margin:16px 0 12px;font-size:14px;color:var(--color-text-secondary)}.quality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.quality-item{padding:12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.quality-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.quality-value{display:flex;justify-content:space-between;align-items:baseline}.quality-count{font-size:18px;font-weight:600;color:var(--color-text)}.quality-percent{font-size:14px;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:18px;color:var(--color-text)}.btn-close{background:transparent;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:var(--color-text)}.modal-body{padding:14px 16px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--color-border)}.pool-branch-summary{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.summary-chip{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:100px;font-size:13px;border:1px solid}.summary-chip .chip-label{font-weight:600}.summary-chip .chip-divider{width:1px;height:16px;background:currentColor;opacity:.2}.summary-chip .chip-stat{color:inherit}.summary-chip .chip-total{color:inherit;opacity:.6;font-size:12px}.pool-chip{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.branch-chip{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.badge-pool{background:#fefce8!important;color:#92400e!important;border:1px solid #fde68a}.badge-branch{background:#dbeafe!important;color:#1d4ed8!important;border:1px solid #93c5fd}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 20px}.page-content{padding:16px 20px}.tab-row{flex-direction:column;align-items:flex-start}.tab-row .filters-inline{flex-wrap:wrap!important;max-width:100%!important;width:100%!important}.tab-row .filters-inline .filter-search-wrap{flex:1 1 auto!important;width:auto!important;min-width:120px!important;max-width:100%!important}.tab-row .filters-inline .filter-search-input{width:100%!important;max-width:100%!important}.tab-row .filters-inline .datepicker-wrapper{flex:1 1 auto!important;min-width:120px!important;max-width:100%!important}.tab-row .filters-inline .datepicker-input{width:100%!important;max-width:100%!important}.tab-row .filters-inline .filter-select{flex:1 1 auto!important;min-width:80px!important;max-width:100%!important;width:auto!important}.header-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.filters-section{flex-direction:column}.filters-section .input{max-width:100%}.preview-summary{grid-template-columns:1fr 1fr}.quality-grid{grid-template-columns:1fr}}.expanded-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#eff6ff;border-bottom:1px solid var(--color-border)}.expanded-count{font-size:13px;font-weight:600;color:var(--color-primary)}.btn-sm{padding:4px 12px;font-size:13px}.sub-table{margin:0;font-size:13px}.sub-table th{background:#f8fafc;font-size:12px;padding:8px 12px}.sub-table td{padding:6px 12px}.sub-table tr:hover{background:#f8fafc}.badge-status-chua-goi{background:#f1f5f9;color:#0f172a}.badge-status-da-goi{background:#eff6ff;color:#2563eb}.badge-status-goi-khong-duoc{background:#fef3c7;color:#92400e}.badge-status-khong-co-nhu-cau{background:#f1f5f9;color:#64748b}.badge-status-so-sai{background:#fef2f2;color:#ef4444}.badge-status-rac{background:#fef2f2;color:#dc2626}.btn-eye{background:transparent;border:none;cursor:pointer;color:var(--color-primary);padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}.btn-eye:hover{background:#eff6ff;color:#1d4ed8}.btn-distribute{background:transparent;border:none;cursor:pointer;color:#8b5cf6;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}.btn-distribute:hover{background:#f5f3ff;color:#7c3aed}.customer-list-modal{width:95%;max-width:1000px;max-height:90vh;overflow-y:auto}.valid-data-preview{margin-top:12px;padding:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.valid-data-preview h4{margin:0 0 12px;font-size:15px}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-header:hover{background:#e2e8f0}.sort-icon{font-size:11px;color:var(--color-text-secondary)}.pagination-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 0 4px;gap:12px;flex-wrap:wrap}.pagination-info{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.pagination-nav{display:flex;align-items:center;gap:2px}.pagination-nav button{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--color-text);transition:background-color .15s}.pagination-nav button:hover:not(:disabled){background:var(--color-bg-secondary)}.pagination-nav button:disabled{opacity:.4;cursor:default}.pagination-nav button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-dots{padding:0 4px;color:var(--color-text-secondary)}.pagination-size select{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font-size:13px;color:var(--color-text);cursor:pointer}.customer-list-page{padding:24px 32px;background:#f1f5f9;min-height:100vh}.customer-list-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.customer-list-page .page-header h2{margin:0 0 4px;font-size:24px;font-weight:700;color:#1e293b;letter-spacing:-.025em}.customer-list-page .page-header p{margin:0;color:#64748b;font-size:14px}.customer-list-page .header-actions{display:flex;gap:8px;align-items:center}.customer-list-page .btn-export{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#1e293b;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.customer-list-page .btn-export:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.customer-list-page .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.customer-list-page .stat-card{background:#fff;border-radius:12px;padding:20px 24px;border:1px solid #E2E8F0;transition:box-shadow .15s ease}.customer-list-page .stat-card:hover{box-shadow:0 4px 12px #0000000d}.customer-list-page .stat-label{font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.customer-list-page .stat-value{font-size:28px;font-weight:700;color:#1e293b;letter-spacing:-.025em;line-height:1}.customer-list-page .stat-card-danger{background:linear-gradient(135deg,#fef2f2,#fff);border-color:#fecaca}.customer-list-page .stat-card-danger .stat-label,.customer-list-page .stat-card-danger .stat-value{color:#dc2626}.customer-list-page .customer-tabs-card{display:flex;gap:6px;margin-bottom:16px;padding:6px;background:#fff;border-radius:12px;border:1px solid #E2E8F0;overflow-x:auto;scrollbar-width:thin}.customer-list-page .customer-tabs-card::-webkit-scrollbar{height:4px}.customer-list-page .customer-tabs-card::-webkit-scrollbar-track{background:transparent}.customer-list-page .customer-tabs-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.customer-list-page .customer-tab-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;white-space:nowrap;transition:all .15s ease}.customer-list-page .customer-tab-pill:hover{background:#f1f5f9;color:#334155}.customer-list-page .customer-tab-pill.active{background:#2563eb;color:#fff;font-weight:600}.customer-list-page .tab-badge-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:600;background:#e2e8f0;color:#64748b;transition:all .15s ease}.customer-list-page .tab-badge-pill.active{background:#ffffff40;color:#fff}.customer-list-page .filters-card{background:#fff;border-radius:12px;border:1px solid #E2E8F0;padding:16px 20px;margin-bottom:16px}.customer-list-page .filters-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;align-items:end}.customer-list-page .filter-item{position:relative}.customer-list-page .filter-item label{display:block;font-size:11px;font-weight:600;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.customer-list-page .filter-search{position:relative;grid-column:span 1}.customer-list-page .filter-search-icon{position:absolute;left:12px;bottom:11px;color:#94a3b8;pointer-events:none}.customer-list-page .filter-search .filter-input{padding-left:36px}.customer-list-page .filter-input{width:100%;padding:8px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;color:#1e293b;background:#f8fafc;transition:all .15s ease;height:38px;box-sizing:border-box}.customer-list-page .filter-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.customer-list-page .filter-input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.customer-list-page .filter-input::placeholder{color:#94a3b8}.customer-list-page .filter-input[type=date]{cursor:pointer;color-scheme:light}.customer-list-page .filter-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;padding:2px}.customer-list-page .filter-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.customer-list-page .table-card{background:#fff;border-radius:12px;border:1px solid #E2E8F0;overflow:visible}.customer-list-page .bulk-action-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-bottom:1px solid #BFDBFE}.customer-list-page .bulk-count{font-size:13px;color:#1e40af}.customer-list-page .bulk-count strong{font-weight:700}.customer-list-page .bulk-actions{display:flex;gap:8px}.customer-list-page .btn-transfer{background:#ede9fe;color:#7c3aed;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.customer-list-page .btn-transfer:hover{background:#ddd6fe}.customer-list-page .btn-delete{background:#dc2626;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.customer-list-page .btn-delete:hover{background:#b91c1c}.customer-list-page .btn-delete:disabled,.customer-list-page .btn-transfer:disabled{opacity:.6;cursor:not-allowed}.customer-list-page .table-wrapper{overflow-x:auto;border-radius:0 0 12px 12px}.customer-list-page .table{width:100%;min-width:1200px;border-collapse:collapse;table-layout:fixed}.customer-list-page .table th,.customer-list-page .table td{padding:12px 16px;text-align:left;border-bottom:1px solid #F1F5F9}.customer-list-page .table th{background:#f8fafc;font-weight:600;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:1px solid #E2E8F0}.customer-list-page .table td{font-size:13px;color:#334155;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-list-page .table tbody tr{transition:background .1s ease}.customer-list-page .table tbody tr:hover{background:#f8fafc}.customer-list-page .table tbody tr.row-selected{background:#eff6ff}.customer-list-page .table tbody tr.row-selected:hover{background:#dbeafe}.customer-list-page .row-checkbox,.customer-list-page .table th input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2563EB}.customer-list-page .customer-name-cell{display:flex;align-items:center;gap:8px}.customer-list-page .customer-name-link{color:#1e293b;text-decoration:none;cursor:pointer;font-weight:600;font-size:13px;transition:color .15s ease}.customer-list-page .customer-name-link:hover{color:#2563eb}.customer-list-page .vip-badge{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:4px}.customer-list-page .phone-link{color:#2563eb;text-decoration:none;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:13px;letter-spacing:.5px}.customer-list-page .phone-link:hover{text-decoration:underline}.customer-list-page .phone-masked{color:#94a3b8;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:13px;letter-spacing:1px}.customer-list-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.customer-list-page .status-CHUA_GOI{background:#dbeafe;color:#2563eb}.customer-list-page .status-DA_GOI{background:#dcfce7;color:#16a34a}.customer-list-page .status-TIEM_NANG{background:#ede9fe;color:#7c3aed}.customer-list-page .status-HEN_GOI_LAI{background:#fef3c7;color:#92400e}.customer-list-page .status-GOI_KHONG_DUOC{background:#f1f5f9;color:#374151}.customer-list-page .status-KHONG_CO_NHU_CAU{background:#dbeafe;color:#2563eb}.customer-list-page .status-SO_SAI{background:#fee2e2;color:#dc2626}.customer-list-page .status-RAC{background:#1e293b;color:#f8fafc}.customer-list-page .source-tag{display:inline-flex;align-items:center;padding:3px 8px;background:#f1f5f9;color:#64748b;border-radius:4px;font-size:12px;font-weight:500}.customer-list-page .reclaim-badge{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:52px;height:24px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;cursor:default}.customer-list-page .reclaim-green{background:#dcfce7;color:#16a34a}.customer-list-page .reclaim-orange{background:#fff7ed;color:#ea580c}.customer-list-page .reclaim-red{background:#fee2e2;color:#dc2626}.customer-list-page .callback-time{color:#7c3aed;font-weight:500;font-size:13px}.customer-list-page .table th:last-child,.customer-list-page .table td:last-child{position:sticky;right:0;z-index:2}.customer-list-page .table th:last-child{background:#f8fafc}.customer-list-page .table td:last-child{background:#fff;box-shadow:-4px 0 8px #0000000a}.customer-list-page .table tbody tr:hover td:last-child{background:#f8fafc}.customer-list-page .table tbody tr.row-selected td:last-child{background:#eff6ff}.customer-list-page .action-buttons{display:flex;flex-direction:row;gap:4px;align-items:center;justify-content:center}.customer-list-page .action-buttons-visible{opacity:1!important;visibility:visible!important}.customer-list-page .btn-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;width:100%}.customer-list-page .btn-action-detail{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.customer-list-page .btn-action-detail:hover{background:#e2e8f0;color:#1e293b}.customer-list-page .btn-action-reclaim{background:#fef2f2;color:#dc2626;border-color:#fecaca}.customer-list-page .btn-action-reclaim:hover{background:#fee2e2;color:#b91c1c}.customer-list-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#64748b}.customer-list-page .empty-state svg{margin-bottom:16px}.customer-list-page .empty-state p{margin:0 0 4px;font-size:15px;font-weight:500;color:#475569}.customer-list-page .empty-state span{font-size:13px;color:#94a3b8}.customer-list-page .pagination-modern{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #F1F5F9}.customer-list-page .pagination-info{font-size:13px;color:#64748b}.customer-list-page .pagination-info strong{color:#1e293b;font-weight:600}.customer-list-page .pagination-buttons{display:flex;gap:4px;align-items:center}.customer-list-page .page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:1px solid #E2E8F0;background:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .15s ease}.customer-list-page .page-btn:hover:not(:disabled):not(.active){background:#f1f5f9;border-color:#cbd5e1}.customer-list-page .page-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}.customer-list-page .page-btn:disabled{opacity:.4;cursor:not-allowed}.customer-list-page .page-dots{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#94a3b8;font-size:14px;letter-spacing:2px}.customer-list-page .text-center{text-align:center}.customer-list-page .text-muted{color:#94a3b8}.customer-list-page .text-nowrap{white-space:nowrap}.customer-list-page .loading-container{display:flex;flex-direction:column;align-items:center;padding:60px;color:#64748b}.customer-list-page .spinner{width:40px;height:40px;border:3px solid #E2E8F0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.customer-list-page .btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease}.customer-list-page .btn-sm{padding:6px 14px;font-size:13px;border-radius:6px}.customer-list-page .btn-secondary{background:#f1f5f9;color:#475569}.customer-list-page .btn-secondary:hover{background:#e2e8f0}.customer-list-page .btn-danger{background:#fee2e2;color:#dc2626}.customer-list-page .btn-danger:hover{background:#fecaca}.customer-list-page .btn:disabled{opacity:.6;cursor:not-allowed}.customer-list-page .badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.customer-list-page .badge-gray{background:#f1f5f9;color:#64748b}.customer-list-page .badge-green{background:#dcfce7;color:#16a34a}.customer-list-page .badge-yellow{background:#fef3c7;color:#d97706}.customer-list-page .badge-blue{background:#dbeafe;color:#2563eb}.customer-list-page .badge-red{background:#fee2e2;color:#dc2626}.customer-list-page .badge-dark{background:#1e293b;color:#f8fafc}.customer-list-page .badge-gold{background:#fef3c7;color:#b45309}.customer-list-page .badge-purple{background:#ede9fe;color:#7c3aed}.customer-list-page .badge-cyan{background:#cffafe;color:#0891b2}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:16px;max-width:800px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.customer-detail-modal{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E2E8F0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.modal-header .btn-close{background:none;border:none;font-size:24px;cursor:pointer;color:#94a3b8;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.modal-header .btn-close:hover{background:#f1f5f9;color:#475569}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #E2E8F0}.customer-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.customer-info-grid .info-group{display:flex;flex-direction:column;gap:4px}.customer-info-grid .info-group.full-width{grid-column:span 2}.customer-info-grid .info-group label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.customer-info-grid .info-group span{font-size:14px;color:#1e293b}.care-history-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.care-history-item{background:#f8fafc;border-radius:8px;padding:12px 16px;border-left:3px solid #2563EB}.care-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.care-history-time{font-size:12px;color:#64748b}.care-history-content{font-size:14px;color:#334155;margin-bottom:8px}.care-history-employee{font-size:12px;color:#94a3b8}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#334155;margin-bottom:6px}.form-group textarea.input{width:100%;resize:vertical}.customer-list-page .inline-status-select{padding:4px 8px;border:1px solid #E2E8F0;border-radius:6px;font-size:12px;font-weight:500;background:#fff;color:#334155;cursor:pointer;min-width:120px;transition:border-color .15s}.customer-list-page .inline-status-select:hover{border-color:#94a3b8}.customer-list-page .inline-status-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.customer-list-page .inline-status-select:disabled{opacity:.5;cursor:not-allowed}.customer-list-page .modal-status-form select.input,.customer-list-page .modal-status-form input.input,.customer-list-page .modal-status-form textarea.input{padding:8px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}@media(max-width:1200px){.customer-list-page .stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.customer-list-page{padding:16px}.customer-list-page .stats-row{grid-template-columns:1fr 1fr;gap:12px}.customer-list-page .stat-card{padding:16px}.customer-list-page .stat-value{font-size:22px}.customer-list-page .page-header{flex-direction:column;gap:12px}.customer-list-page .header-actions{width:100%;justify-content:flex-end}.customer-list-page .customer-tabs-card{gap:4px;padding:4px}.customer-list-page .customer-tab-pill{padding:6px 12px;font-size:12px}.customer-list-page .filters-row{grid-template-columns:1fr}.customer-list-page .pagination-modern{flex-direction:column;gap:12px}.customer-list-page .bulk-action-bar{flex-direction:column;gap:8px;align-items:flex-start}.customer-info-grid{grid-template-columns:1fr}.customer-info-grid .info-group.full-width{grid-column:span 1}}@media(max-width:480px){.customer-list-page .stats-row{grid-template-columns:1fr}}.reclaim-settings-page{padding:24px;max-width:1200px;margin:0 auto}.settings-container{display:grid;gap:24px}.settings-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:500;color:var(--color-text, #1f2937);margin-bottom:8px}.label-description{display:block;font-size:13px;font-weight:400;color:var(--color-text-secondary, #6b7280);margin-top:4px}.form-control{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px #007bff1a}.input-with-unit{display:flex;align-items:center;gap:12px}.input-with-unit .form-control{max-width:120px}.input-unit{font-size:14px;color:var(--color-text-secondary, #6b7280);font-weight:500}.form-text{display:block;margin-top:6px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.toggle-switch{display:flex;align-items:center;gap:12px}.toggle-switch input[type=checkbox]{display:none}.toggle-label{position:relative;display:inline-block;width:52px;height:28px;background-color:#ccc;border-radius:28px;cursor:pointer;transition:background-color .3s}.toggle-switch input[type=checkbox]:checked+.toggle-label{background-color:var(--color-primary, #007bff)}.toggle-switch-btn{position:absolute;top:3px;left:3px;width:22px;height:22px;background-color:#fff;border-radius:50%;transition:transform .3s}.toggle-switch input[type=checkbox]:checked+.toggle-label .toggle-switch-btn{transform:translate(24px)}.toggle-text{font-size:14px;font-weight:500;color:var(--color-text, #1f2937)}.form-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--color-primary, #007bff);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #0056b3)}.btn-secondary{background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #d1d5db)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6)}.btn-danger{background:var(--color-danger, #ef4444);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn:disabled{opacity:.6;cursor:not-allowed}.manual-actions{display:grid;gap:16px}.action-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-bg-secondary, #f9fafb);border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.action-info h3{font-size:15px;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 4px}.action-info p{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0}.preview-card{background:#f0f9ff;border:1px solid #bae6fd}.preview-stats{margin-bottom:20px}.stat-item{display:flex;justify-content:space-between;padding:12px;background:#fff;border-radius:6px}.stat-label{font-size:14px;color:var(--color-text-secondary, #6b7280)}.stat-value{font-size:18px;font-weight:600;color:var(--color-primary, #007bff)}.preview-table-container{overflow-x:auto}.preview-table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden}.preview-table thead{background:var(--color-bg-secondary, #f9fafb)}.preview-table th{padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase}.preview-table td{padding:12px;font-size:14px;border-top:1px solid var(--color-border, #e5e7eb)}.days-badge{display:inline-block;padding:4px 8px;background:#fee2e2;color:#991b1b;border-radius:4px;font-size:12px;font-weight:500}.preview-note{margin-top:12px;font-size:13px;color:var(--color-text-secondary, #6b7280);text-align:center}.info-card{background:#fffbeb;border:1px solid #fde68a}.info-list{list-style:none;padding:0;margin:0}.info-list li{padding:10px 0;font-size:14px;color:var(--color-text, #1f2937);border-bottom:1px solid #fde68a}.info-list li:last-child{border-bottom:none}.info-list strong{color:#92400e}@media(max-width:768px){.reclaim-settings-page{padding:16px}.page-title{font-size:24px}.action-item{flex-direction:column;gap:12px;align-items:flex-start}.action-item .btn{width:100%}}.reclaim-history-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:32px}.page-title{font-size:28px;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 8px}.page-subtitle{font-size:15px;color:var(--color-text-secondary, #6b7280);margin:0}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px}.stat-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary, #f3f4f6);border-radius:12px}.stat-content{flex:1}.stat-label{font-size:13px;color:var(--color-text-secondary, #6b7280);margin-bottom:4px}.stat-value{font-size:24px;font-weight:700;color:var(--color-primary, #007bff)}.filters-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.card-title{font-size:18px;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--color-border, #e5e7eb)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column}.filter-label{font-size:13px;font-weight:500;color:var(--color-text, #1f2937);margin-bottom:6px}.filter-input{padding:8px 12px;font-size:14px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;transition:border-color .2s}.filter-input:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px #007bff1a}.history-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-info{font-size:14px;color:var(--color-text-secondary, #6b7280)}.table-container{overflow-x:auto;margin-bottom:20px}.history-table{width:100%;border-collapse:collapse}.history-table thead{background:var(--color-bg-secondary, #f9fafb)}.history-table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;border-bottom:2px solid var(--color-border, #e5e7eb)}.history-table td{padding:14px 12px;font-size:14px;border-bottom:1px solid var(--color-border, #e5e7eb)}.history-table tbody tr:hover{background:var(--color-bg-secondary, #f9fafb)}.customer-info{display:flex;flex-direction:column;gap:4px}.customer-name{font-weight:500;color:var(--color-text, #1f2937)}.customer-phone{font-size:13px;color:var(--color-text-secondary, #6b7280)}.days-badge{display:inline-block;padding:4px 10px;background:#fee2e2;color:#991b1b;border-radius:6px;font-size:12px;font-weight:600}.reason-cell{max-width:300px;color:var(--color-text-secondary, #6b7280);font-size:13px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding-top:20px;border-top:1px solid var(--color-border, #e5e7eb)}.pagination-btn{padding:8px 16px;font-size:14px;font-weight:500;background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #d1d5db);border-radius:6px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6);border-color:var(--color-primary, #007bff)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--color-text-secondary, #6b7280);font-weight:500}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.spinner{width:40px;height:40px;border:3px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #007bff);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--color-text-secondary, #6b7280);margin:0}@media(max-width:768px){.reclaim-history-page{padding:16px}.page-title{font-size:24px}.statistics-grid,.filters-grid{grid-template-columns:1fr}.history-table{font-size:13px}.history-table th,.history-table td{padding:10px 8px}}.import-order-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.import-order-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;width:95%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column}.import-order-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.import-order-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.import-order-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.import-order-close:hover{background-color:#f3f4f6}.import-summary-cards{display:flex;gap:16px;padding:16px 24px}.import-summary-card{flex:1;padding:12px 16px;border-radius:8px;text-align:center}.import-summary-card.total{background:#f0f9ff;border:1px solid #bfdbfe}.import-summary-card.valid{background:#f0fdf4;border:1px solid #bbf7d0}.import-summary-card.error{background:#fef2f2;border:1px solid #fecaca}.import-summary-card .card-value{font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.import-summary-card.total .card-value{color:#1d4ed8}.import-summary-card.valid .card-value{color:#16a34a}.import-summary-card.error .card-value{color:#dc2626}.import-summary-card .card-label{font-size:13px;color:#6b7280}.import-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid #e5e7eb}.import-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.import-tab:hover{color:#374151}.import-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.import-table-area{flex:1;overflow-y:auto;padding:0 24px 16px}.import-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.import-table th{background:#f9fafb;padding:8px 10px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.import-table td{padding:8px 10px;border-bottom:1px solid #f3f4f6;color:#374151}.import-table tr:hover td{background:#f9fafb}.import-error-text{color:#dc2626;font-weight:500}.import-order-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.import-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.import-btn:disabled{opacity:.5;cursor:not-allowed}.import-btn-cancel{background:#f3f4f6;color:#374151}.import-btn-cancel:hover:not(:disabled){background:#e5e7eb}.import-btn-confirm{background:#3b82f6;color:#fff}.import-btn-confirm:hover:not(:disabled){background:#2563eb}.import-stock-warnings{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;margin:12px 24px 0;font-size:13px;color:#92400e}.import-stock-warnings strong{display:block;margin-bottom:4px}.orders-page .orders-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.orders-page .orders-header-left h1{font-size:24px;font-weight:700;color:#18181b;margin:0 0 2px}.orders-page .orders-header-left p{font-size:13px;color:#71717a;margin:0}.orders-page .orders-header-actions{display:flex;gap:10px;align-items:center}.orders-page .orders-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid #e4e4e7;background:#fff;color:#52525b;transition:all .15s ease}.orders-page .orders-btn:hover{background:#f4f4f5;border-color:#d4d4d8}.orders-page .orders-btn:disabled{opacity:.5;cursor:not-allowed}.orders-page .orders-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600;padding:0 16px}.orders-page .orders-btn-primary:hover{background:#1d4ed8}.orders-page .orders-btn svg{width:16px;height:16px;flex-shrink:0}.orders-page .orders-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}.orders-page .orders-stat-card{display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:#fff;border:1px solid #e4e4e7;border-radius:12px;transition:box-shadow .2s ease}.orders-page .orders-stat-card:hover{box-shadow:0 4px 12px #0000000f}.orders-page .orders-stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.orders-page .orders-stat-icon svg{width:18px;height:18px}.orders-page .orders-stat-icon.blue{background:#eff6ff;color:#2563eb}.orders-page .orders-stat-icon.green{background:#ecfdf5;color:#059669}.orders-page .orders-stat-icon.amber{background:#fffbeb;color:#d97706}.orders-page .orders-stat-label{font-size:12px;font-weight:500;color:#71717a}.orders-page .orders-stat-value{font-size:28px;font-weight:700;color:#18181b;line-height:1.1}.orders-page .orders-stat-value.blue{color:#2563eb}.orders-page .orders-stat-value.green{color:#059669}.orders-page .orders-stat-value.amber{color:#d97706}.orders-page .orders-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid #e4e4e7;border-radius:10px;margin-bottom:20px;flex-wrap:wrap;gap:12px}.orders-page .orders-summary-stats{display:flex;gap:32px;align-items:center;flex-wrap:wrap}.orders-page .orders-summary-item{display:flex;flex-direction:column;gap:2px}.orders-page .orders-summary-item-label{font-size:11px;font-weight:500;color:#71717a}.orders-page .orders-summary-item-value{font-size:14px;font-weight:700;color:#18181b}.orders-page .orders-summary-item-value.danger{color:#dc2626}.orders-page .orders-summary-actions{display:flex;gap:8px;align-items:center}.orders-page .orders-filter-toggle{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid #e4e4e7;background:#f4f4f5;color:#52525b;transition:all .15s ease}.orders-page .orders-filter-toggle:hover{background:#e4e4e7}.orders-page .orders-filter-toggle svg{width:14px;height:14px}.orders-page .orders-filters-wrapper{position:relative;z-index:20;overflow:hidden;transition:max-height .3s ease}.orders-page .orders-filters-wrapper.open{overflow:visible}.orders-page .orders-filters-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:20px;margin-bottom:20px}.orders-page .orders-filters-title{font-size:14px;font-weight:600;color:#18181b;margin:0 0 12px}.orders-page .orders-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.orders-page .orders-filter-group{display:flex;flex-direction:column;gap:4px}.orders-page .orders-filter-group label{font-size:11px;font-weight:600;color:#52525b;text-transform:uppercase;letter-spacing:.3px}.orders-page .orders-filter-input{height:36px;padding:0 12px;border:1px solid #e4e4e7;border-radius:8px;font-size:13px;color:#18181b;background:#fafafa;outline:none;transition:border-color .15s ease,background .15s ease;width:100%}.orders-page .orders-filter-input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.orders-page .orders-filter-input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.orders-page .orders-filters-actions{display:flex;gap:10px;margin-top:16px}.orders-page .orders-status-dropdown-trigger{height:36px;padding:0 12px;border:1px solid #e4e4e7;border-radius:8px;font-size:13px;background:#fafafa;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;transition:border-color .15s ease}.orders-page .orders-status-dropdown-trigger:hover{border-color:#d4d4d8}.orders-page .orders-status-dropdown-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18181b}.orders-page .orders-status-dropdown-arrow{font-size:10px;margin-left:4px;color:#71717a}.orders-page .orders-status-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:240px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #e4e4e7;border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:100;padding:4px}.orders-page .orders-status-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;border-radius:6px;font-size:13px;color:#18181b;transition:background .1s ease}.orders-page .orders-status-dropdown-item:hover{background:#f4f4f5}.orders-page .orders-status-dropdown-item.selected{background:#eff6ff}.orders-page .orders-status-dropdown-item input[type=checkbox]{width:15px;height:15px;accent-color:#2563eb;margin:0;cursor:pointer}.orders-page .orders-table-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;overflow:hidden}.orders-page .orders-tabs{display:flex;padding:0 20px;border-bottom:1px solid #e4e4e7}.orders-page .orders-tab{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 20px;border:none;background:none;font-size:13px;font-weight:500;color:#71717a;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease}.orders-page .orders-tab:hover{color:#52525b}.orders-page .orders-tab.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb}.orders-page .orders-tab-badge{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:600;background:#eff6ff;color:#2563eb}.orders-page .orders-table-wrapper{overflow-x:auto}.orders-page .orders-table{width:100%;border-collapse:collapse}.orders-page .orders-table th{background:#f9fafb;padding:10px 20px;text-align:left;font-size:11px;font-weight:600;color:#52525b;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-bottom:1px solid #e4e4e7}.orders-page .orders-table th.center{text-align:center}.orders-page .orders-table th.right{text-align:right}.orders-page .orders-table td{padding:12px 20px;font-size:13px;color:#18181b;border-bottom:1px solid #f4f4f5;vertical-align:middle}.orders-page .orders-table td.center{text-align:center}.orders-page .orders-table td.right{text-align:right}.orders-page .orders-table tbody tr{transition:background .1s ease}.orders-page .orders-table tbody tr:hover{background:#fafbfc}.orders-page .orders-table .orders-cell-checkbox{width:40px;text-align:center}.orders-page .orders-table .orders-cell-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.orders-page .orders-code{font-weight:600;color:#18181b;white-space:nowrap}.orders-page .orders-customer-name{font-weight:500;color:#18181b}.orders-page .orders-customer-phone{font-size:11px;color:#a1a1aa;margin-top:1px}.orders-page .orders-staff{font-size:13px;color:#71717a}.orders-page .orders-date{font-size:13px;color:#52525b;white-space:nowrap}.orders-page .orders-date-time{font-size:11px;color:#a1a1aa}.orders-page .orders-amount{font-weight:600;color:#18181b;text-align:right;white-space:nowrap}.orders-page .orders-ship-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;font-size:11px;font-weight:600}.orders-page .orders-ship-badge.ghn{background:#fef3c7;color:#92400e}.orders-page .orders-ship-badge.ghtk{background:#dbeafe;color:#1e40af}.orders-page .orders-ship-badge.jt{background:#ecfdf5;color:#065f46}.orders-page .orders-ship-badge.ninjavan{background:#fce7f3;color:#9d174d}.orders-page .orders-ship-badge.viettel{background:#f3e8ff;color:#6b21a8}.orders-page .orders-ship-select{padding:4px 8px;border-radius:6px;border:1px solid #e4e4e7;font-size:12px;cursor:pointer;min-width:120px;background:#fafafa}.orders-page .orders-ship-select:disabled{cursor:not-allowed;opacity:.6}.orders-page .orders-tracking-code{font-size:11px;color:#a1a1aa;margin-top:2px}.orders-page .orders-status-badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.orders-page .orders-status-select{padding:4px 8px;border-radius:6px;border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;min-width:150px}.orders-page .orders-status-select:disabled{cursor:not-allowed;opacity:.6}.orders-page .orders-actions-cell{display:flex;align-items:center;gap:2px;justify-content:center}.orders-page .orders-actions-cell .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;background:transparent;cursor:pointer;transition:all .15s ease;padding:0}.orders-page .orders-actions-cell .btn-icon svg{flex-shrink:0}.orders-page .orders-actions-cell .btn-icon.view{color:#64748b}.orders-page .orders-actions-cell .btn-icon.view:hover{background:#eff6ff;color:#2563eb}.orders-page .orders-actions-cell .btn-icon.edit{color:#d97706}.orders-page .orders-actions-cell .btn-icon.edit:hover{background:#fffbeb}.orders-page .orders-actions-cell .btn-icon.support{color:#d97706}.orders-page .orders-actions-cell .btn-icon.support:hover{background:#fffbeb}.orders-page .orders-pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #f4f4f5}.orders-page .orders-pagination-info{font-size:13px;color:#71717a}.orders-page .orders-pagination-buttons{display:flex;gap:4px}.orders-page .orders-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:6px;border:1px solid #e4e4e7;background:#fff;color:#52525b;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.orders-page .orders-page-btn:hover:not(:disabled):not(.active){background:#f4f4f5;border-color:#d4d4d8}.orders-page .orders-page-btn.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.orders-page .orders-page-btn:disabled{opacity:.4;cursor:not-allowed}.orders-page .orders-empty{text-align:center;padding:48px 20px;color:#71717a}.orders-page .orders-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:#71717a}.orders-page .orders-loading .spinner{width:36px;height:36px;border:3px solid #e4e4e7;border-top-color:#2563eb;border-radius:50%;animation:orders-spin .8s linear infinite;margin-bottom:12px}@keyframes orders-spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.orders-page .orders-stats-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.orders-page .orders-header{flex-direction:column;align-items:flex-start;gap:12px}.orders-page .orders-stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.orders-page .orders-stat-value{font-size:22px}.orders-page .orders-summary-bar{flex-direction:column;align-items:flex-start}.orders-page .orders-summary-stats{gap:16px}.orders-page .orders-tabs{overflow-x:auto;padding:0 12px}.orders-page .orders-tab{padding:0 14px;font-size:12px}.orders-page .orders-pagination{flex-direction:column;gap:12px;align-items:center}}.address-selector{width:100%}.address-selector__error{background-color:var(--danger-bg, #fee);color:var(--danger, #c00);padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem;border-left:3px solid var(--danger, #c00)}.address-selector__row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.address-selector__field{display:flex;flex-direction:column;gap:.5rem}.address-selector__field label{font-weight:500;color:var(--text-primary, #333);font-size:.875rem}.address-selector__field label .required{color:var(--danger, #c00);margin-left:.25rem}@media(max-width:768px){.address-selector__row{grid-template-columns:1fr}}.order-history-modal{max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f5f5f5;color:#333}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.timeline{position:relative;padding:10px 0}.timeline:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#e0e0e0,#f5f5f5)}.timeline-item{position:relative;display:flex;gap:20px;margin-bottom:30px}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:relative;z-index:1;flex-shrink:0}.timeline-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border:3px solid var(--color-primary);border-radius:50%;font-size:20px;box-shadow:0 2px 8px #0000001a}.timeline-content{flex:1;background:#f8f9fa;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;transition:all .2s}.timeline-content:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-action{font-weight:600;font-size:1.1rem;color:var(--color-primary)}.timeline-date{font-size:.875rem;color:#666}.timeline-body{color:#333}.timeline-content-text{margin:0 0 8px;line-height:1.6}.timeline-staff{margin:0 0 12px;font-size:.875rem;color:#666;font-style:italic}.log-changes{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.log-changes strong{display:block;margin-bottom:8px;color:#555;font-size:.9rem}.log-changes ul{margin:0;padding-left:20px;list-style:none}.log-changes li{margin-bottom:6px;font-size:.875rem;line-height:1.5}.change-field{font-weight:600;color:#555}.change-old{color:#d32f2f;text-decoration:line-through;padding:2px 4px;background-color:#ffebee;border-radius:3px}.change-new{color:#388e3c;padding:2px 4px;background-color:#e8f5e9;border-radius:3px;font-weight:500}@media(max-width:768px){.order-history-modal{width:95%;max-height:95vh}.timeline:before{left:16px}.timeline-icon{width:36px;height:36px;font-size:16px}.timeline-header{flex-direction:column;align-items:flex-start;gap:4px}.modal-header h2{font-size:1.25rem}}.tickets-page{height:100vh;display:flex;flex-direction:column;background-color:#f5f7fa}.tickets-page .page-header{display:flex;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid #E5E7EB}.tickets-page .header-left{display:flex;align-items:center;gap:12px}.header-icon-bg{width:36px;height:36px;border-radius:10px;background-color:#eff6ff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#2563eb}.page-header h1{margin:0;font-size:22px;font-weight:700;color:#111827;white-space:nowrap}.tickets-page .header-right{display:flex;gap:12px;align-items:center;margin-left:auto}.btn-refresh{width:46px;height:46px;border-radius:10px;border:none;background:#f9fafb;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s;flex-shrink:0}.btn-refresh:hover{background:#f3f4f6;color:#374151}.search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:#9ca3af;pointer-events:none;z-index:1}.search-input{padding:0 14px 0 38px;border:none;border-radius:10px;width:320px;height:40px;font-size:13px;background:#f9fafb;color:#374151;transition:all .2s}.search-input:focus{outline:none;box-shadow:0 0 0 2px #2563eb33}.search-input::placeholder{color:#9ca3af}.btn-create{display:flex;align-items:center;gap:8px;padding:0 20px;height:40px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-create:hover{background:#1d4ed8}.filter-bar{display:flex;flex-wrap:nowrap;gap:8px!important;align-items:center;padding:10px 24px;background:#fff;border-bottom:1px solid #E5E7EB;overflow-x:auto;justify-content:stretch!important}.filter-bar::-webkit-scrollbar{height:0;display:none}.filter-bar{scrollbar-width:none;-ms-overflow-style:none}.filter-divider{width:1px;height:18px;background:#e5e7eb;margin:0 2px;flex-shrink:0}.filter-chip{padding:0 12px;height:32px;border:none;background:#f3f4f6;border-radius:16px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:400;color:#374151;transition:all .2s;display:flex;align-items:center;gap:5px;flex:1;justify-content:center;min-width:min-content}.filter-chip:hover{background-color:#e5e7eb}.filter-chip.active{background-color:#2563eb;color:#fff;font-weight:600}.chip-count{padding:2px 7px;border-radius:10px;font-size:11px;font-weight:500;min-width:18px;text-align:center}.filter-chip.active .chip-count{background-color:#ffffff40;color:#fff;font-weight:600}.filter-chip:not(.active) .chip-count{background-color:#e5e7eb;color:#6b7280}.filter-chip.my-tickets-chip:not(.active){background-color:#eff6ff;border:1px solid #BFDBFE;color:#2563eb;font-weight:500}.filter-chip.my-tickets-chip:not(.active):hover{background-color:#dbeafe}.filter-chip.my-tickets-chip:not(.active) .chip-count{background-color:#2563eb;color:#fff;font-weight:600}.tickets-container{display:flex;gap:20px;flex:1;overflow:hidden;padding:12px 0;min-height:0}.ticket-list{width:400px;min-width:400px;background:#fff;border-radius:0;border-right:1px solid #E5E7EB;overflow:hidden;display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid #F3F4F6}.sidebar-header-title{font-size:14px;font-weight:600;color:#111827}.sidebar-header-count{font-size:12px;color:#9ca3af;font-weight:400;margin-left:8px}.ticket-list-body{flex:1;overflow-y:auto}.ticket-card{padding:16px 24px;cursor:pointer;transition:all .15s;position:relative;background:#fff;border-bottom:1px solid #F3F4F6}.ticket-card:last-child{border-bottom:none}.ticket-card:hover{background:#fafbff}.ticket-card.selected{background-color:#eff6ff;border-left:3px solid #2563EB}.ticket-card.unread{border-left:3px solid #F59E0B;border-bottom:1px solid #F59E0B}.ticket-card.selected.unread{border-left:3px solid #2563EB}.ticket-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ticket-code{font-weight:600;color:#2563eb;font-size:14px}.card-header-right{display:flex;align-items:center;gap:6px}.ticket-status{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.unread-badge{background-color:#f59e0b;color:#fff;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.ticket-card-title{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.category-badge{background-color:#f3f4f6;color:#6b7280;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;width:fit-content}.ticket-card-title .card-title-text{font-size:13px;font-weight:500;color:#111827}.ticket-card-title .card-title-text.bold{font-weight:600}.ticket-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9ca3af}.footer-left{display:flex;align-items:center;gap:6px}.footer-dot{color:#d1d5db}.ticket-time{font-size:11px;color:#9ca3af}.ticket-closed-time{display:flex;align-items:center;gap:5px;margin-top:8px;padding:5px 10px;background:#ecfdf5;border:1px solid #A7F3D0;border-radius:6px;font-size:11px;font-weight:500;color:#065f46}.ticket-closed-time svg{flex-shrink:0;color:#10b981}.ticket-detail{flex:1;background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:15px}.ticket-detail-con.tickets-page,.tickets-page *{box-sizing:border-box}.tickets-page{display:flex;flex-direction:column;height:100vh;background-color:#f9fafb;overflow:hidden;overflow-x:hidden;min-width:0}.ticket-detail-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.ticket-detail-scrollable{overflow-y:auto;flex-shrink:1;min-height:0}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #F3F4F6}.detail-title-wrap{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.detail-title-wrap h2{margin:0;font-size:18px;font-weight:700;color:#111827;line-height:1.4}.detail-subtitle{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.detail-subtitle .dot{color:#d1d5db}.status-badge{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;margin-left:16px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.detail-delete-btn{width:50px;height:50px;border-radius:10px;border:1px solid #FEE2E2;background-color:#fef2f2;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;margin-left:12px}.detail-delete-btn svg{width:22px!important;height:22px!important}.detail-description{margin:16px 20px;padding:16px;background-color:#f9fafb;border-radius:12px;border:1px solid #F3F4F6}.detail-description label{display:block;font-size:13px;font-weight:600;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.025em}.description-content{font-size:15px;line-height:1.6;color:#1f2937;white-space:pre-wrap;word-break:break-word}.detail-delete-btn:hover{background-color:#fee2e2;border-color:#fca5a5;transform:scale(1.05)}.detail-delete-btn:active{transform:scale(.95)}.detail-meta{display:flex;flex-wrap:wrap;gap:20px;padding:20px 24px;border-bottom:1px solid #F3F4F6}.meta-item{display:flex;flex-direction:column;gap:4px;min-width:160px}.meta-item label{font-size:11px;color:#9ca3af;font-weight:600;letter-spacing:.5px}.meta-item span{font-size:14px;color:#111827;font-weight:500}.detail-actions{display:flex;align-items:center;gap:12px;padding:16px 24px;background-color:#fafbfc;border-bottom:1px solid #F3F4F6}.chat-section{display:flex;flex-direction:column;flex:1;padding:20px 24px 0;min-height:0;overflow:hidden}.chat-section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chat-section-header h3{margin:0;font-size:16px;font-weight:700;color:#111827}.chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:16px 0;scrollbar-width:none;-ms-overflow-style:none}.chat-messages::-webkit-scrollbar{display:none}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;text-align:center;color:#9ca3af;font-size:14px}.empty-chat-sub{font-size:12px;color:#d1d5db}.chat-input-wrapper{padding:16px 0 8px;flex-shrink:0}.gemini-input-box{display:flex;flex-direction:row;align-items:center;background:#f3f4f6;border-radius:24px;padding:6px 6px 6px 12px;gap:8px}.gemini-preview-area{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:12px}.preview-thumb{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0}.preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.preview-thumb-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#0000008c;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;padding:0;z-index:1}.preview-thumb-close:hover{background:#000000bf}.gemini-text-area{flex:1}.gemini-text-area input{width:100%;border:none;background:transparent;font-size:14px;color:#374151;outline:none;padding:8px 4px}.gemini-text-area input::placeholder{color:#9ca3af}.gemini-toolbar{display:flex;align-items:center}.attach-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;flex-shrink:0;transition:all .2s}.attach-btn:hover{background:#e5e7eb;color:#374151}.send-btn{width:32px;height:32px;border-radius:50%;background:#e5e7eb;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff!important;padding:0!important;flex-shrink:0;transition:all .2s}.send-btn.active{background:#3b82f6}.send-btn.active:hover{background:#2563eb}.send-btn:disabled{background:#e5e7eb;cursor:not-allowed}.btn{padding:0 16px;height:36px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #E5E7EB}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6}.tickets-page .btn-warning{background-color:#f59e0b!important;color:#fff!important;border:1px solid #D97706}.tickets-page .btn-warning:hover:not(:disabled){background-color:#d97706!important}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#9ca3af}.spinner{width:36px;height:36px;border:3px solid #F3F4F6;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.ticket-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #F3F4F6}@media(max-width:1024px){.tickets-container{flex-direction:column}.ticket-list{width:100%;min-width:unset;max-height:400px}.search-input{width:200px}}.mobile-back-button,.floating-attachments-btn{display:none}.attachments-modal-overlay{position:fixed;inset:0;z-index:9998;background:#0009;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.attachments-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.attachments-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E5E7EB}.attachments-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.attachments-modal-close{background:transparent;border:none;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:background .2s}.attachments-modal-close:hover{background:#f3f4f6}.attachments-modal-body{padding:24px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1200px){.ticket-detail-scrollable{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;gap:0!important;padding:0!important;position:relative!important;height:100%!important;min-height:0!important;max-width:100%!important;overflow:hidden!important}.detail-main-column{grid-column:1!important;display:flex!important;flex-direction:column!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;min-width:0!important}.ticket-detail-scrollable:has(.attachments-section){grid-template-columns:1fr 344px!important;gap:0!important}.ticket-detail-scrollable:has(.attachments-section):after{content:""!important;position:absolute!important;right:344px!important;top:0!important;bottom:0!important;width:1px!important;background:#e5e7eb!important;pointer-events:none!important;z-index:10!important}.detail-main-column>*{width:100%!important}.detail-header{padding:16px 24px!important;margin:0!important;border-bottom:1px solid #F3F4F6!important;flex-shrink:0!important}.detail-header .detail-title-wrap h2{margin:0!important;line-height:1.3!important;font-size:17px!important}.detail-header .detail-subtitle{margin-top:4px!important;font-size:12px!important}.detail-meta{padding:16px 24px!important;margin:0!important;border-bottom:1px solid #F3F4F6!important;flex-shrink:0!important}.detail-actions{margin:0!important;padding:12px 24px!important;flex-shrink:0!important}.detail-actions:empty{display:none!important}.chat-section{padding:16px 24px!important;margin:0!important;border-top:none!important;display:flex!important;flex-direction:column!important;flex:1!important;min-height:400px!important}.chat-section .chat-section-header{margin-bottom:12px!important;flex-shrink:0!important}.chat-section .chat-messages{flex:1!important;overflow-y:auto!important;margin-bottom:0!important;min-height:0!important;max-height:100%!important}.chat-section .chat-input-wrapper{padding:12px 0 0!important;margin:0!important;flex-shrink:0!important;background:#fff!important;z-index:5!important}.chat-section .gemini-input-box{margin-bottom:0!important}.ticket-detail-scrollable:has(.attachments-section) .chat-section{height:auto!important}.attachments-section{grid-column:2!important;grid-row:1 / 999!important;position:sticky!important;top:20px!important;align-self:start!important;width:auto!important;max-height:calc(100vh - 40px)!important;overflow-y:auto!important;background:#fff!important;padding:16px 20px!important;margin:20px!important;border:1px solid #E5E7EB!important;border-radius:12px!important}.attachments-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:0!important}.attachments-title{display:flex!important;align-items:center!important;gap:8px!important;font-size:15px!important;font-weight:600!important;color:#111827!important}.attachments-title svg{color:#4b5563!important;width:18px!important;height:18px!important}.attachments-count{font-size:13px!important;font-weight:500!important;color:#6b7280!important}.attachments-divider{width:100%!important;height:1px!important;background:#f3f4f6!important;margin:16px 0!important}.attachments-list{display:flex!important;flex-direction:column!important;gap:12px!important}.attachments-section .attachment-item{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:1px solid #F3F4F6!important;border-radius:10px!important;background:#fff!important;text-decoration:none!important;transition:all .2s ease!important;width:100%!important;box-shadow:0 1px 2px #00000005!important}.attachments-section .attachment-item:hover{background:#f9fafb!important;border-color:#e5e7eb!important}.attachments-section .attachment-preview{flex-shrink:0!important;width:48px!important;height:48px!important;border-radius:6px!important;overflow:hidden!important;border:1px solid #F3F4F6!important}.attachments-section .attachment-preview img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.attachments-section .attachment-icon{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:6px!important}.attachments-section .attachment-icon.pdf-icon{background:#fef2f2!important;color:#ef4444!important}.attachments-section .attachment-icon.file-icon{background:#f3f4f6!important;color:#6b7280!important}.attachments-section .attachment-info{flex:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important;justify-content:center!important}.attachments-section .attachment-name{font-size:14px!important;font-weight:500!important;color:#111827!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important}.attachments-section .attachment-meta{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important}.attachments-section .attachment-size{color:#9ca3af!important;font-weight:400!important}.attachments-section .attachment-dot{color:#e5e7eb!important}.attachments-section .attachment-type{color:#9ca3af!important;font-weight:400!important}.attachments-section .attachment-action{flex-shrink:0!important;color:#9ca3af!important;transition:color .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important}.attachments-section .attachment-item:hover .attachment-action{color:#6b7280!important}}@media(max-width:768px){.tickets-page{background-color:#fff}.tickets-page .page-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.tickets-page .header-left{width:100%}.tickets-page .header-right{width:100%;margin-left:0;gap:8px}.btn-refresh{flex-shrink:0}.search-wrapper{flex:1;min-width:0}.search-input{width:100%;min-width:0}.btn-create{flex-shrink:0;white-space:nowrap;padding:0;width:46px;height:46px;border-radius:10px;font-size:0;justify-content:center;align-items:center;gap:0}.btn-create svg{font-size:20px;width:20px;height:20px}.filter-bar{padding:9px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tickets-container{padding:0;gap:0;flex-direction:row}.ticket-list{width:100%;min-width:100%;max-height:none;border-radius:0}.tickets-container.detail-active .ticket-list{display:none}.ticket-detail{width:100%;border-radius:0}.tickets-container:not(.detail-active) .ticket-detail{display:none}.ticket-detail-content{display:flex;flex-direction:column;height:100vh;overflow-y:auto}.ticket-detail-scrollable{overflow-y:auto!important;flex:1;min-height:0;height:calc(100vh - 130px)!important}.mobile-back-button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:none;border-bottom:1px solid #E5E7EB;cursor:pointer;color:#3b82f6;font-size:15px;font-weight:500;width:100%;text-align:left}.mobile-back-button:active{background:#f9fafb}.floating-attachments-btn{display:flex;position:fixed;top:70px;right:16px;z-index:100;width:48px;height:48px;background:#3b82f6;border:none;border-radius:24px;box-shadow:0 4px 12px #3b82f666;cursor:pointer;align-items:center;justify-content:center;color:#fff;transition:all .2s}.floating-attachments-btn:active{transform:scale(.95);box-shadow:0 2px 8px #3b82f64d}.attachments-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid #FFFFFF}.attachments-modal-content{width:95%;max-height:75vh;border-radius:16px 16px 0 0;position:fixed;bottom:0;max-width:none}.attachments-modal-overlay{align-items:flex-end}.attachments-modal-body{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;padding:16px}.attachments-modal-body .attachment-item.attachment-image{aspect-ratio:1;overflow:hidden;position:relative;padding:0;border:1px solid #E5E7EB}.attachments-modal-body .attachment-item.attachment-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.detail-header{padding:12px 16px;border-bottom:1px solid #E5E7EB}.detail-title-wrap h2{font-size:15px;font-weight:500;line-height:1.4}.detail-subtitle{font-size:12px}.status-badge{font-size:11px;padding:4px 10px}.detail-meta{display:none}.attachments-section{display:none!important}.detail-actions{padding:12px 16px;flex-wrap:wrap}.chat-section{flex:1;min-height:400px;padding:0;display:flex;flex-direction:column}.chat-section-header{padding:12px 16px;margin-bottom:0;border-bottom:1px solid #E5E7EB;background:#f9fafb;flex-shrink:0}.chat-section-header h3{font-size:13px;color:#9ca3af;font-weight:500;letter-spacing:.3px}.chat-messages{flex:1;min-height:0;overflow-y:auto!important;padding:16px;background:#f9fafb}.chat-messages img{max-width:200px!important;max-height:200px!important;width:auto!important;height:auto!important;object-fit:cover;border-radius:8px;display:block;cursor:pointer}.chat-input-wrapper{padding:12px 16px 24px;background:#fff;border-top:1px solid #E5E7EB;flex-shrink:0;position:relative;bottom:0;z-index:20;box-shadow:0 -2px 10px #0000000d}.gemini-input-box{border-radius:20px;margin:0}.gemini-text-area input{font-size:15px}.send-btn{width:32px!important;height:32px!important}.btn{width:100%;justify-content:center;font-size:13px;height:40px}.sidebar-header,.ticket-card{padding:16px}}.ticket-modal-actions,.assign-ticket-modal-actions{display:flex!important;justify-content:flex-end!important;gap:12px!important;margin-top:20px!important;text-align:right!important}.ticket-modal-actions button,.assign-ticket-modal-actions button{padding:8px 20px!important;border-radius:6px!important;font-weight:500!important;width:auto!important}.ticket-modal-actions button:first-child,.assign-ticket-modal-actions button:first-child{background-color:#fff!important;color:#374151!important;border:1px solid #E5E7EB!important}.ticket-modal-actions button:first-child:hover,.assign-ticket-modal-actions button:first-child:hover{background-color:#f3f4f6!important}.ticket-modal-actions button:last-child,.assign-ticket-modal-actions button:last-child{background-color:#2563eb!important;color:#fff!important;border:none!important}.ticket-modal-actions button:last-child:hover,.assign-ticket-modal-actions button:last-child:hover{background-color:#1d4ed8!important}.assign-overlay{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000}.assign-card{position:relative;background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 40px -4px #0000001f;animation:assignSlideUp .25s ease-out}@keyframes assignSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.assign-close-btn{position:absolute;top:16px;right:20px;width:32px;height:32px;border-radius:16px;border:none;background:#f1f5f9;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.assign-close-btn:hover{background:#e2e8f0;color:#64748b}.assign-top{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 32px 20px}.assign-icon-circle{width:56px;height:56px;border-radius:28px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center}.assign-title{margin:0;font-size:20px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.assign-subtitle{margin:0;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.assign-body{display:flex;flex-direction:column;gap:16px;padding:0 32px}.assign-field-group{display:flex;flex-direction:column;gap:8px}.assign-label-row{display:flex;align-items:center;gap:8px}.assign-label-row label{font-size:14px;font-weight:500;color:#0f172a;font-family:Inter,sans-serif}.assign-required-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fef2f2;color:#ef4444;font-size:11px;font-weight:500;font-family:Inter,sans-serif}.assign-select-wrapper{position:relative}.assign-select{width:100%;height:48px;padding:0 40px 0 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#0f172a;background:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .2s;box-sizing:border-box}.assign-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.assign-select:invalid,.assign-select option[value=""]{color:#94a3b8}.assign-loading{height:48px;display:flex;align-items:center;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#94a3b8;background:#f8fafc}.assign-helper{margin:0;font-size:12px;color:#94a3b8;font-family:Inter,sans-serif}.assign-divider{height:1px;background:#e2e8f0;margin-top:16px}.assign-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px 24px}.assign-btn-cancel{height:44px;padding:0 24px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s}.assign-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.assign-btn-confirm{height:44px;padding:0 28px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.assign-btn-confirm:hover{background:#1d4ed8}.assign-btn-confirm:active{transform:scale(.98)}.assign-btn-confirm:disabled{background:#93c5fd;cursor:not-allowed}.resolve-overlay{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000}.resolve-card{position:relative;background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 40px -4px #0000001f;animation:resolveSlideUp .25s ease-out}@keyframes resolveSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.resolve-close-btn{position:absolute;top:16px;right:20px;width:32px;height:32px;border-radius:16px;border:none;background:#f1f5f9;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.resolve-close-btn:hover{background:#e2e8f0;color:#64748b}.resolve-top{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 32px 20px}.resolve-icon-circle{width:56px;height:56px;border-radius:28px;background:#f0fdf4;color:#16a34a;display:flex;align-items:center;justify-content:center}.resolve-title{margin:0;font-size:20px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.resolve-subtitle{margin:0;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.resolve-body{display:flex;flex-direction:column;gap:16px;padding:0 32px}.resolve-ticket-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:8px;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.resolve-ticket-badge strong{color:#0f172a;font-weight:600}.resolve-field-group{display:flex;flex-direction:column;gap:8px}.resolve-label-row{display:flex;align-items:center;gap:8px}.resolve-label-row label{font-size:14px;font-weight:500;color:#0f172a;font-family:Inter,sans-serif}.resolve-required-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fef2f2;color:#ef4444;font-size:11px;font-weight:500;font-family:Inter,sans-serif}.resolve-field-group textarea{width:100%;height:120px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#0f172a;resize:vertical;transition:border-color .2s;box-sizing:border-box}.resolve-field-group textarea::placeholder{color:#94a3b8}.resolve-field-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.resolve-helper{margin:0;font-size:12px;color:#94a3b8;font-family:Inter,sans-serif}.resolve-divider{height:1px;background:#e2e8f0;margin-top:16px}.resolve-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px 24px}.resolve-btn-cancel{height:44px;padding:0 24px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s}.resolve-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.resolve-btn-confirm{height:44px;padding:0 28px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.resolve-btn-confirm:hover{background:#1d4ed8}.resolve-btn-confirm:active{transform:scale(.98)}.reopen-overlay{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000}.reopen-card{position:relative;background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 8px 40px -4px #0000001f;animation:reopenSlideUp .25s ease-out}@keyframes reopenSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.reopen-close-btn{position:absolute;top:16px;right:20px;width:32px;height:32px;border-radius:16px;border:none;background:#f1f5f9;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.reopen-close-btn:hover{background:#e2e8f0;color:#64748b}.reopen-top{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 32px 20px}.reopen-icon-circle{width:56px;height:56px;border-radius:28px;background:#fef3c7;color:#f59e0b;display:flex;align-items:center;justify-content:center}.reopen-title{margin:0;font-size:20px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.reopen-subtitle{margin:0;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.reopen-body{display:flex;flex-direction:column;gap:16px;padding:0 32px}.reopen-ticket-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:8px;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.reopen-ticket-badge strong{color:#0f172a;font-weight:600}.reopen-field-group{display:flex;flex-direction:column;gap:8px}.reopen-label-row{display:flex;align-items:center;gap:8px}.reopen-label-row label{font-size:14px;font-weight:500;color:#0f172a;font-family:Inter,sans-serif}.reopen-required-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#fef2f2;color:#ef4444;font-size:11px;font-weight:500;font-family:Inter,sans-serif}.reopen-field-group textarea{width:100%;height:120px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#0f172a;resize:vertical;transition:border-color .2s;box-sizing:border-box}.reopen-field-group textarea::placeholder{color:#94a3b8}.reopen-field-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.reopen-helper{margin:0;font-size:12px;color:#94a3b8;font-family:Inter,sans-serif}.reopen-divider{height:1px;background:#e2e8f0;margin-top:16px}.reopen-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px 24px}.reopen-btn-cancel{height:44px;padding:0 24px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s}.reopen-btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.reopen-btn-confirm{height:44px;padding:0 28px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.reopen-btn-confirm:hover{background:#1d4ed8}.reopen-btn-confirm:active{transform:scale(.98)}.star-rating{display:inline-flex;gap:4px}.star{font-size:24px;color:#d1d5db;cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.star.filled{color:#fbbf24}.star.readonly{cursor:default}.star:not(.readonly):hover{transform:scale(1.1)}.dashboard-report-page{padding:28px 32px;background:#f8fafc;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard-report-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-report-page .page-title{margin:0;font-size:20px;font-weight:700;color:#18181b}.dashboard-report-page .page-subtitle{margin:4px 0 0;font-size:13px;color:#a1a1aa}.dashboard-report-page .header-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dashboard-report-page .filter-select{padding:8px 14px;border:1px solid #E4E4E7;border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:#18181b;min-width:140px;cursor:pointer;transition:border-color .15s}.dashboard-report-page .filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.dashboard-report-page .btn-refresh{padding:8px 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:8px}.dashboard-report-page .btn-refresh:hover{background:#1d4ed8}.dashboard-report-page .kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.dashboard-report-page .kpi-card{background:#fff;border:1px solid #E4E4E7;border-left:4px solid #E4E4E7;border-radius:16px;padding:20px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000000d}.dashboard-report-page .kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.dashboard-report-page .kpi-icon-circle{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.dashboard-report-page .kpi-content{flex:1;min-width:0}.dashboard-report-page .kpi-label{font-size:12px;color:#71717a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-report-page .kpi-value{font-size:24px;font-weight:700;color:#18181b;margin-bottom:4px}.dashboard-report-page .kpi-change{font-size:12px;color:#a1a1aa}.dashboard-report-page .kpi-change.positive{color:#10b981}.dashboard-report-page .kpi-change.negative{color:#ef4444}.dashboard-report-page .chart-and-products{display:flex;gap:16px;margin-bottom:24px}.dashboard-report-page .chart-card{background:#fff;border:1px solid #E4E4E7;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000d;flex:1;min-width:0}.dashboard-report-page .top-products-card{background:#fff;border:1px solid #E4E4E7;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000d;width:220px;flex-shrink:0}.dashboard-report-page .top-products-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-report-page .top-products-header h3{margin:0;font-size:14px;font-weight:700;color:#18181b}.dashboard-report-page .top-products-badge{font-size:11px;font-weight:600;color:#10b981;background:#ecfdf5;padding:3px 8px;border-radius:6px}.dashboard-report-page .top-products-list{display:flex;flex-direction:column;gap:12px}.dashboard-report-page .top-product-item{display:flex;align-items:center;gap:8px;font-size:13px}.dashboard-report-page .top-product-rank{font-weight:700;color:#71717a;width:20px;flex-shrink:0}.dashboard-report-page .top-product-name{flex:1;color:#18181b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-report-page .top-product-qty{color:#2563eb;font-weight:600;white-space:nowrap;font-size:12px}.dashboard-report-page .chart-container{width:100%}.dashboard-report-page .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dashboard-report-page .chart-header-left h3{margin:0;font-size:16px;font-weight:700;color:#18181b}.dashboard-report-page .chart-period{font-size:12px;color:#a1a1aa;margin-top:4px;display:block}.dashboard-report-page .chart-legend-inline{display:flex;gap:16px;align-items:center}.dashboard-report-page .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#71717a}.dashboard-report-page .legend-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.dashboard-report-page .chart-empty{text-align:center;padding:48px;color:#a1a1aa;font-size:14px}.dashboard-report-page .no-access{padding:60px 20px;text-align:center;color:#71717a}.dashboard-report-page .no-access h3{margin:0 0 8px;font-size:18px;color:#18181b}.dashboard-report-page .loading-container{text-align:center;padding:48px;color:#71717a}.dashboard-report-page .loading-container .spinner{width:32px;height:32px;border:3px solid #E4E4E7;border-top-color:#2563eb;border-radius:50%;animation:drp-spin .8s linear infinite;margin:0 auto 12px}@keyframes drp-spin{to{transform:rotate(360deg)}}.dashboard-report-page .empty-state{text-align:center;padding:48px;color:#a1a1aa}@media(max-width:1024px){.dashboard-report-page{padding:20px}.dashboard-report-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-report-page .kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-report-page .chart-and-products{flex-direction:column}.dashboard-report-page .top-products-card{width:100%}}@media(max-width:768px){.dashboard-report-page{padding:16px}.dashboard-report-page .kpi-grid{grid-template-columns:1fr}.dashboard-report-page .kpi-value{font-size:20px}.dashboard-report-page .header-filters{width:100%}.dashboard-report-page .filter-select{flex:1;min-width:0}}.order-trends-page{padding:28px 32px;background:#f8fafc;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.order-trends-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.order-trends-page .page-header h2{margin:0;font-size:20px;font-weight:700;color:#18181b}.order-trends-page .page-header p{margin:4px 0 0;font-size:13px;color:#a1a1aa}.order-trends-page .header-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.order-trends-page .filter-select{padding:8px 14px;border:1px solid #E4E4E7;border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:#18181b;min-width:140px;cursor:pointer;transition:border-color .15s}.order-trends-page .filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.order-trends-page .btn-refresh{padding:8px 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:8px}.order-trends-page .btn-refresh:hover{background:#1d4ed8}.order-trends-page .summary-cards{display:flex;gap:14px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.order-trends-page .summary-card{background:#fff;border:1px solid #E4E4E7;border-left:4px solid #2563EB;border-radius:16px;padding:14px 18px;display:flex;flex-direction:row;align-items:center;gap:12px;min-width:160px;flex:1 1 0;box-shadow:0 2px 8px #0000000d;transition:transform .2s,box-shadow .2s}.order-trends-page .summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.order-trends-page .summary-card:nth-child(2){border-left-color:#10b981}.order-trends-page .summary-card:nth-child(3){border-left-color:#f59e0b}.order-trends-page .summary-card.peak{border-left-color:#f59e0b;background:linear-gradient(135deg,#f59e0b08,#f59e0b0f)}.order-trends-page .summary-card.bottom{border-left-color:#ef4444;background:linear-gradient(135deg,#ef444408,#ef44440f)}.order-trends-page .summary-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.order-trends-page .summary-icon.blue{background:#eff6ff}.order-trends-page .summary-icon.green{background:#ecfdf5}.order-trends-page .summary-icon.yellow,.order-trends-page .summary-icon.orange{background:#fff7ed}.order-trends-page .summary-icon.red{background:#fef2f2}.order-trends-page .summary-label{font-size:11px;color:#71717a;margin-bottom:2px;white-space:nowrap}.order-trends-page .summary-value{font-size:22px;font-weight:700;color:#18181b;white-space:nowrap}.order-trends-page .chart-card,.order-trends-page .table-card{background:#fff;border:1px solid #E4E4E7;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.order-trends-page .chart-card h3,.order-trends-page .table-card h3{margin:0 0 20px;font-size:16px;font-weight:700;color:#18181b}.order-trends-page .line-chart{width:100%}.order-trends-page .chart-legend{display:flex;justify-content:flex-end;gap:16px;margin-top:8px;padding-right:8px}.order-trends-page .chart-empty{text-align:center;padding:48px;color:#a1a1aa;font-size:14px}.order-trends-page .table-container{overflow-x:auto}.order-trends-page .data-table{width:100%;border-collapse:collapse;font-size:13px}.order-trends-page .data-table th{background:#f8fafc;padding:10px 16px;text-align:left;font-weight:600;font-size:11px;color:#71717a;letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid #E4E4E7;white-space:nowrap}.order-trends-page .data-table td{padding:10px 16px;border-bottom:1px solid #F4F4F5;color:#18181b}.order-trends-page .data-table tbody tr:nth-child(2n){background:#fafafa}.order-trends-page .data-table tbody tr:hover{background:#f4f4f5}.order-trends-page .percent-bar-container{display:flex;align-items:center;gap:8px}.order-trends-page .percent-bar{height:4px;background:#2563eb;border-radius:2px;min-width:4px;transition:width .3s}.order-trends-page .percent-bar-track{width:80px;height:4px;background:#e4e4e7;border-radius:2px;overflow:hidden}.order-trends-page .percent-bar-container span{font-size:12px;color:#71717a;min-width:40px;font-weight:600}.order-trends-page .loading-container{text-align:center;padding:48px;color:#71717a}.order-trends-page .loading-container .spinner{width:32px;height:32px;border:3px solid #E4E4E7;border-top-color:#2563eb;border-radius:50%;animation:otp-spin .8s linear infinite;margin:0 auto 12px}@keyframes otp-spin{to{transform:rotate(360deg)}}.order-trends-page .empty-state{text-align:center;padding:48px;color:#a1a1aa}@media(max-width:1024px){.order-trends-page{padding:20px}.order-trends-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.order-trends-page .summary-card{min-width:180px}}@media(max-width:768px){.order-trends-page{padding:16px}.order-trends-page .summary-card{min-width:200px}.order-trends-page .header-filters{width:100%}.order-trends-page .filter-select{flex:1;min-width:0}}.marketing-report-page{padding:24px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.summary-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;transition:transform .2s}.summary-card:hover{transform:translateY(-4px)}.summary-label{font-size:.875rem;color:#6b7280;margin-bottom:8px;font-weight:500}.summary-value{font-size:1.875rem;font-weight:700;margin-bottom:4px}.summary-hint{font-size:.75rem;color:#9ca3af}.text-primary{color:#2563eb}.text-danger{color:#dc2626}.filters-bar{background:#fff;padding:16px 20px;border-radius:12px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;align-items:flex-end;box-shadow:0 1px 3px #0000001a}.filter-group label{font-size:.75rem;font-weight:600;color:#4b5563;text-transform:uppercase}.filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#f9fafb;min-width:160px;outline:none;transition:border-color .2s}.filter-group select:focus{border-color:#2563eb;background-color:#fff}.filter-group select:disabled{background-color:#f3f4f6;cursor:not-allowed}.filter-group input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#f9fafb;min-width:160px;outline:none;transition:border-color .2s;font-size:.875rem;color:#1f2937}.filter-group input[type=date]:focus{border-color:#2563eb;background-color:#fff}.section-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-header{padding:20px;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.section-header h3{margin:0;font-size:1.125rem;color:#111827}.report-table{width:100%;border-collapse:collapse}.report-table th{background:#f9fafb;padding:12px 20px;text-align:left;font-size:.75rem;font-weight:600;color:#4b5563;text-transform:uppercase;border-bottom:1px solid #f3f4f6}.report-table td{padding:16px 20px;font-size:.875rem;color:#1f2937;border-bottom:1px solid #f3f4f6}.report-table tr:hover{background-color:#f9fafb}.numeric{text-align:right}.font-bold{font-weight:700}.font-medium{font-weight:500}.program-name{font-weight:600;color:#111827}.program-code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.75rem}.badge{padding:4px 8px;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-promo{background:#dcfce7;color:#166534}.badge-combo{background:#e0f2fe;color:#075985}.efficiency-bar-container{display:flex;align-items:center;gap:8px;justify-content:flex-end}.efficiency-bar{height:6px;background:#2563eb;border-radius:3px;opacity:.7}.efficiency-text{min-width:45px;font-weight:600}.empty-row{text-align:center;padding:40px!important;color:#6b7280;font-style:italic}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{padding:16px;border-radius:8px;margin-bottom:24px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.report-table th.sortable:hover{background:#eef2ff;color:#2563eb}.record-count{font-size:.8rem;color:#6b7280;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:4px;padding:16px 20px;border-top:1px solid #f3f4f6}.pagination-btn{min-width:36px;height:36px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.text-muted{color:#6b7280}.marketing-report-page.is-refreshing{position:relative;pointer-events:none}.marketing-report-page.is-refreshing:after{content:"";position:absolute;inset:0;background:#ffffff80;z-index:10}.marketing-report-page.is-refreshing .summary-cards,.marketing-report-page.is-refreshing .section-card{opacity:.6;transition:opacity .2s}@media(max-width:768px){.marketing-report-page{padding:16px}.filters-bar{flex-direction:column}.summary-cards{grid-template-columns:repeat(2,1fr);gap:12px}.summary-value{font-size:1.25rem}}.backlog-report-page{padding:24px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.report-header h2{font-size:24px;font-weight:600;color:#111827;margin:0}.report-controls{display:flex;gap:12px}.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;min-width:150px}.section-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.section-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:20px;display:flex;align-items:center;gap:8px}.section-title .badge{background:#eff6ff;color:#3b82f6;font-size:12px;padding:2px 8px;border-radius:12px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#f9fafb;border-radius:8px;padding:16px;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.stat-card.hover-card:hover{cursor:pointer;transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.stat-card.highlight{background:#eff6ff;border-color:#bfdbfe}.stat-label{font-size:14px;color:#6b7280;margin-bottom:8px}.stat-value{font-size:24px;font-weight:700;color:#111827}.stat-subtext{font-size:12px;color:#9ca3af;margin-top:4px}.chart-container{height:300px;margin-top:20px}.delayed-orders-list{margin-top:24px}.delayed-orders-list h4{font-size:16px;font-weight:600;color:#ef4444;margin-bottom:12px;display:flex;align-items:center;gap:8px}.order-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #f3f4f6;transition:background .2s}.order-list-item:hover{background:#f9fafb}.order-info{display:flex;flex-direction:column;gap:4px}.order-code{font-weight:500;color:#3b82f6;text-decoration:none}.order-code:hover{text-decoration:underline}.delay-time{font-size:13px;color:#ef4444;font-weight:500}.order-meta{font-size:12px;color:#6b7280}.action-btn{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid #d1d5db;background:#fff}.action-btn:hover{background:#f3f4f6}.podium-container{display:flex;justify-content:center;align-items:flex-end;height:320px;gap:16px;padding:14px;margin-bottom:14px}.podium-item{display:flex;flex-direction:column;align-items:center;position:relative;transition:transform .3s}.podium-item:hover{transform:translateY(-5px)}.podium-rank-1{order:2;z-index:3}.podium-rank-2{order:1;z-index:2}.podium-rank-3{order:3;z-index:1}.avatar-container{position:relative;margin-bottom:-15px;z-index:4}.avatar-border{width:80px;height:80px;border-radius:50%;border:4px solid white;box-shadow:0 4px 6px #0000001a;overflow:hidden;background:#f3f4f6}.podium-rank-1 .avatar-border{width:100px;height:100px;border-color:#fbbf24}.podium-rank-2 .avatar-border{border-color:#94a3b8}.podium-rank-3 .avatar-border{border-color:#b45309}.avatar-img{width:100%;height:100%;object-fit:cover}.rank-badge{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);background:#111827;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;border:2px solid white}.podium-rank-1 .rank-badge{background:#fbbf24;color:#fff;width:32px;height:32px;font-size:16px}.podium-rank-2 .rank-badge{background:#94a3b8}.podium-rank-3 .rank-badge{background:#b45309}.podium-base{width:140px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:8px 8px 0 0;display:flex;flex-direction:column;align-items:center;padding-top:24px;color:#fff;box-shadow:0 10px 15px -3px #0000001a}.podium-rank-1 .podium-base{height:220px;width:160px;background:linear-gradient(180deg,#fbbf24,#d97706)}.podium-rank-2 .podium-base{height:160px;background:linear-gradient(180deg,#94a3b8,#475569)}.podium-rank-3 .podium-base{height:120px;background:linear-gradient(180deg,#d97706,#92400e)}.podium-name{font-weight:600;font-size:14px;text-align:center;margin-bottom:4px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.podium-rank-1 .podium-name{font-size:16px;font-weight:700}.podium-metric{font-size:18px;font-weight:700;margin-bottom:4px}.podium-rank-1 .podium-metric{font-size:22px}.podium-submetric{font-size:12px;opacity:.9}.podium-crown{font-size:32px;margin-bottom:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:float 3s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}:root{--primary-color: #4f46e5;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-color: #f8fafc;--surface-color: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-md: .75rem;--radius-lg: 1rem}.performance-page{padding:32px;background-color:var(--bg-color);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary)}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:var(--surface-color);padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.performance-header h2{font-size:24px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.025em;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.back-btn{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:500;transition:all .2s;background:transparent;border:none;cursor:pointer;padding:8px 12px;border-radius:8px}.back-btn:hover{color:var(--primary-color);background-color:#eef2ff}.performance-controls{display:flex;gap:12px}.filter-select{padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background-color:var(--surface-color);color:var(--text-primary);font-size:14px;font-weight:500;min-width:160px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.section-container{background:var(--surface-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);margin-bottom:24px;border:1px solid rgba(255,255,255,.5);transition:transform .2s ease,box-shadow .2s ease}.section-container:hover{box-shadow:var(--shadow-lg)}.section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:24px;display:flex;align-items:center;gap:10px}.kpi-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:24px;margin-bottom:24px}@media(min-width:768px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}.kpi-card{background:var(--surface-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary-gradient);opacity:0;transition:opacity .3s}.kpi-card:hover:before{opacity:1}.performance-table-container{overflow-x:hidden;border-radius:var(--radius-lg)}.performance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.performance-table th{background-color:#f1f5f9;color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.05em;padding:16px 24px;border-bottom:1px solid var(--border-color)}.performance-table td{padding:16px 24px;border-bottom:1px solid var(--border-color);color:var(--text-primary);background-color:#fff;transition:background-color .1s}.performance-table tr:last-child td{border-bottom:none}.performance-table tr:hover td{background-color:#f8fafc}.status-badge{padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.status-8{background-color:#dcfce7;color:var(--success-color)}.status-5,.status-12{background-color:#fee2e2;color:var(--danger-color)}.status-16,.status-17{background-color:#ffedd5;color:var(--warning-color)}.profile-card{display:flex;align-items:center;gap:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;border:4px solid white;box-shadow:var(--shadow-md);object-fit:cover}.profile-info h3{font-size:20px;font-weight:700;margin:0 0 4px}.profile-tag{display:inline-block;padding:4px 12px;background-color:#e0e7ff;color:var(--primary-color);border-radius:6px;font-size:12px;font-weight:600;margin-top:8px}.metric-value{font-size:28px;font-weight:800;color:var(--text-primary);line-height:1.2}.metric-label{font-size:13px;color:var(--text-secondary);font-weight:500;margin-bottom:4px}.my-performance-page{width:100%;display:flex;flex-direction:column;min-height:calc(100vh - 60px)}.v2-top-row{display:grid;grid-template-columns:240px 1fr;gap:12px;margin-bottom:12px}.v2-profile-card{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;padding:20px 14px;color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.v2-profile-card .profile-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3);margin-bottom:10px}.v2-profile-card .profile-avatar img{width:100%;height:100%;object-fit:cover}.v2-profile-card .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff3;font-size:26px;font-weight:600;color:#fff}.v2-profile-card .profile-name{font-size:1rem;font-weight:600;margin:0 0 3px;color:#fff}.v2-profile-card .profile-position{font-size:.78rem;opacity:.85;margin:0 0 10px;color:#fff}.v2-profile-card .profile-tags{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.v2-profile-card .tag{padding:3px 10px;border-radius:12px;font-size:.68rem;font-weight:500}.v2-profile-card .tag-team{background:#fff3;color:#fff}.v2-profile-card .tag-branch{background:#ffffff26;color:#fff}.v2-kpi-card{background:#fff;border-radius:14px;padding:16px 24px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.kpi-details{display:flex;gap:16px;width:100%;justify-content:center}.kpi-item{flex:0 1 auto;text-align:center}.kpi-label{display:block;font-size:.7rem;color:#6b7280;margin-bottom:3px;text-transform:uppercase;letter-spacing:.3px}.kpi-value{display:block;font-size:.85rem;font-weight:600}.kpi-value.achieved{color:#4f46e5}.kpi-value.target{color:#9ca3af}.kpi-divider{width:1px;background:#e5e7eb;align-self:stretch}.v2-filter-row{display:flex;align-items:center;gap:10px;width:100%;justify-content:center}.employee-filter-select{padding:6px 28px 6px 10px;border:1px solid #4F46E5;border-radius:8px;font-size:.8rem;background:#f5f3ff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234F46E5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:14px;cursor:pointer;color:#4f46e5;font-weight:500;min-width:160px}.v2-time-filter{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f3ff;border:1px solid #E0E7FF;border-radius:8px;color:#6d28d9;font-size:.8rem;cursor:pointer}.v2-time-filter svg{flex-shrink:0;color:#6d28d9}.v2-time-select{appearance:none;border:none;background:transparent;color:#6d28d9;font-size:.8rem;font-weight:500;cursor:pointer;outline:none;padding:0}.v2-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.v2-metric-card{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000d;display:flex;align-items:center;gap:12px}.v2-metric-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.v2-metric-info{display:flex;flex-direction:column;gap:2px;min-width:0}.v2-metric-value{font-size:1.15rem;font-weight:700;color:#111827;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-metric-value.success{color:#059669}.v2-metric-value.danger{color:#dc2626}.v2-metric-label{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.v2-bottom-row{display:grid;grid-template-columns:1fr 340px;gap:12px;flex:1}.v2-chart-section{background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column}.v2-chart-section .chart-container{flex:1;display:flex;align-items:stretch}.v2-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v2-section-header h3{margin:0;font-size:.95rem;font-weight:600;color:#111827}.v2-chart-legend{display:flex;gap:16px}.v2-legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#6b7280}.v2-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.chart-container{width:100%;overflow-x:auto}.chart-container svg{display:block;min-width:500px}.v2-orders-panel{background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column}.v2-orders-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px;flex-wrap:wrap}.v2-orders-header h3{margin:0;font-size:.95rem;font-weight:600;color:#111827;white-space:nowrap}.order-filter-tabs{display:flex;gap:4px}.order-filter-tabs .tab{padding:4px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:.7rem;cursor:pointer;transition:all .2s;white-space:nowrap}.order-filter-tabs .tab:hover{background:#f3f4f6}.order-filter-tabs .tab.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.v2-orders-list{flex:1;overflow-y:auto}.v2-empty-orders{text-align:center;color:#9ca3af;padding:32px 16px;font-size:.85rem}.v2-order-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;transition:background .15s}.v2-order-row.even{background:#f9fafb}.v2-order-row:hover{background:#f3f4f6}.v2-order-left{display:flex;flex-direction:column;gap:2px;min-width:0}.v2-order-code{font-family:SF Mono,Fira Code,monospace;font-size:.78rem;font-weight:600;color:#4f46e5}.v2-order-customer{font-size:.7rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.v2-order-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.v2-order-amount{font-size:.78rem;font-weight:600;color:#111827;white-space:nowrap}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:500;white-space:nowrap}.status-badge.status-4,.status-badge.status-8{background:#dcfce7;color:#166534}.status-badge.status-5,.status-badge.status-6,.status-badge.status-7,.status-badge.status-12,.status-badge.status-16,.status-badge.status-17{background:#fee2e2;color:#991b1b}.status-badge.status-3{background:#dbeafe;color:#1e40af}.status-badge.status-1,.status-badge.status-11,.status-badge.status-2{background:#fef3c7;color:#92400e}.v2-orders-footer{padding-top:10px;border-top:1px solid #F3F4F6;margin-top:6px;text-align:center}.v2-view-all{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:#4f46e5;font-weight:500;cursor:pointer;transition:color .2s}.v2-view-all:hover{color:#3730a3}@media(max-width:1200px){.v2-bottom-row{grid-template-columns:1fr}}@media(max-width:1024px){.v2-top-row{grid-template-columns:1fr 1fr}.v2-metrics-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.v2-top-row{grid-template-columns:1fr}.v2-metrics-row{grid-template-columns:repeat(2,1fr)}.v2-section-header{flex-direction:column;gap:10px;align-items:flex-start}.v2-orders-header{flex-direction:column;align-items:flex-start}.order-filter-tabs{flex-wrap:wrap}.v2-filter-row{flex-direction:column;gap:8px}.employee-filter-select{width:100%}}@media(max-width:480px){.v2-metrics-row{grid-template-columns:1fr}.v2-metric-card{padding:12px}.v2-profile-card{padding:16px 12px}.v2-kpi-card{padding:14px}}.product-report-page{max-width:1400px;margin:0 auto}.filters-bar{display:flex;align-items:flex-end;gap:16px;padding:20px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;flex-wrap:wrap}.filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:10px 36px 10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;background:#fff;min-width:160px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;cursor:pointer}.filter-group select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.btn-export{margin-left:auto;padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-export:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000000f}.summary-value{display:block;font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:4px}.summary-label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.chart-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.chart-title{margin:0 0 20px;font-size:1rem;font-weight:600;color:#111827}.bar-chart{display:flex;flex-direction:column;gap:12px}.bar-row{display:flex;align-items:center;gap:12px}.bar-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:6px;font-size:.75rem;font-weight:600;color:#6b7280}.bar-label{width:140px;font-size:.8rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-container{flex:1;height:24px;background:#f3f4f6;border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px;transition:width .5s ease}.bar-value{width:90px;text-align:right;font-size:.8rem;font-weight:600;color:#111827}.empty-chart{text-align:center;color:#9ca3af;padding:40px}.product-grid-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.product-grid-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.product-grid-section .section-header h3{margin:0;font-size:1rem;font-weight:600}.tab-filters{display:flex;gap:8px}.tab-filters .tab{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.tab-filters .tab:hover{background:#f9fafb}.tab-filters .tab.active{background:#6366f1;color:#fff;border-color:#6366f1}.product-table{width:100%;border-collapse:collapse}.product-table th,.product-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.product-table th{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb}.product-table th.numeric,.product-table td.numeric{text-align:right}.product-table tbody tr:hover{background:#f9fafb}.product-cell{min-width:200px}.product-code{font-family:monospace;font-size:.75rem;color:#6366f1;margin-bottom:2px}.product-name{font-size:.875rem;color:#111827}.font-bold{font-weight:600}.text-muted{color:#9ca3af}.text-success{color:#22c55e}.text-danger{color:#ef4444}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.empty-row{text-align:center;color:#9ca3af;padding:40px!important}@media(max-width:1200px){.charts-section{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.filters-bar{flex-direction:column;align-items:stretch}.filter-group select{width:100%}.btn-export{margin-left:0;justify-content:center}.summary-cards{grid-template-columns:1fr 1fr}.tab-filters{flex-wrap:wrap}}.alp-wrapper{background:#f8fafc;border-radius:12px;padding:32px 40px;max-width:900px;display:flex;flex-direction:column;gap:24px}.alp-header{display:flex;align-items:center;justify-content:space-between}.alp-header-left{display:flex;flex-direction:column;gap:4px}.alp-title{margin:0;font-size:24px;font-weight:700;color:#0f172a;font-family:Inter,sans-serif}.alp-subtitle{margin:0;font-size:14px;color:#64748b;font-family:Inter,sans-serif}.alp-status-badge{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:100px;font-size:13px;font-weight:500;color:#16a34a;font-family:Inter,sans-serif}.alp-status-dot{width:8px;height:8px;border-radius:50%;background:#16a34a}.alp-metrics{display:flex;gap:16px}.alp-metric-card{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:6px}.alp-metric-label{font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.5px;font-family:Inter,sans-serif}.alp-metric-value{font-size:24px;font-weight:700;color:#0f172a;font-family:Inter,sans-serif}.alp-metric-value-blue{color:#2563eb}.alp-metric-value-medium{font-size:20px;font-weight:600}.alp-metric-sub{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-family:Inter,sans-serif}.alp-metric-sub-text{font-size:12px;color:#64748b;font-family:Inter,sans-serif}.alp-alert{padding:12px 16px;border-radius:8px;font-size:14px;font-family:Inter,sans-serif}.alp-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alp-alert-success{background:#f0fdf4;color:#166534;border:1px solid #86efac}.alp-alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.alp-loading{text-align:center;padding:40px;color:#94a3b8;font-family:Inter,sans-serif}.alp-form-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:20px}.alp-form-header{display:flex;align-items:center;justify-content:space-between}.alp-form-title{margin:0;font-size:18px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.alp-form-desc{margin:0;font-size:13px;color:#64748b;line-height:1.5;font-family:Inter,sans-serif}.alp-fields-row{display:flex;gap:16px}.alp-field{flex:1;display:flex;flex-direction:column;gap:6px}.alp-field-label{font-size:13px;font-weight:500;color:#0f172a;font-family:Inter,sans-serif}.alp-select{width:100%;height:44px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#0f172a;background:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .2s;box-sizing:border-box}.alp-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.alp-input{width:100%;height:44px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;color:#0f172a;background:#fff;transition:border-color .2s;box-sizing:border-box}.alp-input::placeholder{color:#94a3b8}.alp-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.alp-form-actions{display:flex;justify-content:flex-end}.alp-btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 28px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s}.alp-btn-save:hover:not(:disabled){background:#1d4ed8}.alp-btn-save:active:not(:disabled){transform:scale(.98)}.alp-btn-save:disabled{background:#93c5fd;cursor:not-allowed}.alp-history-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.alp-history-header{display:flex;align-items:center;justify-content:space-between}.alp-history-title{margin:0;font-size:18px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.alp-history-badge{padding:4px 10px;background:#f8fafc;border-radius:100px;font-size:12px;color:#64748b;font-family:Inter,sans-serif}.alp-no-history{color:#94a3b8;font-size:14px;text-align:center;padding:20px;font-family:Inter,sans-serif}.alp-timeline{display:flex;flex-direction:column}.alp-timeline-item{display:flex;gap:16px;padding:16px 0 0;border-top:1px solid #e2e8f0}.alp-timeline-dot{width:10px;height:10px;border-radius:5px;background:#e2e8f0;flex-shrink:0;margin-top:4px}.alp-timeline-dot-active{background:#2563eb}.alp-timeline-content{display:flex;flex-direction:column;gap:4px;flex:1}.alp-timeline-top{display:flex;align-items:center;gap:12px}.alp-timeline-date{font-size:14px;font-weight:600;color:#0f172a;font-family:Inter,sans-serif}.alp-timeline-desc{font-size:13px;color:#64748b;font-family:Inter,sans-serif}.alp-timeline-who{font-weight:500;color:#0f172a}.alp-timeline-change{font-size:13px;color:#64748b;font-family:Inter,sans-serif}.alp-timeline-change strong{color:#2563eb;font-weight:600}.alp-timeline-reason{font-size:12px;color:#94a3b8;font-style:italic;font-family:Inter,sans-serif}@media(max-width:768px){.alp-wrapper{padding:16px;gap:16px}.alp-header{flex-direction:column;align-items:flex-start;gap:12px}.alp-metrics,.alp-fields-row{flex-direction:column}.alp-form-card,.alp-history-card{padding:16px}}.bank-accounts-page{padding:20px;max-width:1400px;margin:0 auto}.bank-accounts-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bank-accounts-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.bank-accounts-page .bank-filters-bar{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:12px 20px;margin-bottom:20px}.bank-accounts-page .bank-search-box{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;padding:8px 14px;width:360px}.bank-accounts-page .bank-search-box .search-icon{color:#94a3b8;flex-shrink:0}.bank-accounts-page .bank-search-box input{border:none;background:transparent;outline:none;font-size:14px;color:#0f172a;width:100%}.bank-accounts-page .bank-search-box input::placeholder{color:#94a3b8}.bank-accounts-page .bank-filter-divider{width:1px;height:32px;background:#e2e8f0;flex-shrink:0}.bank-accounts-page .bank-filter-group{display:flex;align-items:center;gap:10px}.bank-accounts-page .bank-filter-group label{font-size:13px;color:#64748b;font-weight:500;white-space:nowrap}.bank-accounts-page .bank-filter-group select{padding:8px 14px;border:1px solid #E2E8F0;border-radius:8px;background:#f8fafc;font-size:14px;color:#0f172a;outline:none;cursor:pointer}.bank-accounts-page .bank-filter-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.bank-accounts-page .bank-filter-spacer{flex:1}.bank-accounts-page .bank-count-badge{padding:6px 12px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:13px;font-weight:500;white-space:nowrap}.bank-accounts-page .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.bank-accounts-table{width:100%;border-collapse:collapse}.bank-accounts-table th,.bank-accounts-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.bank-accounts-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.bank-accounts-table tbody tr:hover{background:var(--color-bg-hover)}.bank-accounts-table .bank-name{font-weight:500}.bank-accounts-table .bank-code{font-size:.8rem;color:var(--color-text-muted);font-family:monospace}.bank-accounts-table .account-number{font-family:monospace;font-weight:500;color:var(--color-primary)}.bank-accounts-table .status-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;display:inline-block}.bank-accounts-table .status-badge.active{background:var(--color-success-light, #d4edda);color:var(--color-success, #28a745)}.bank-accounts-table .status-badge.inactive{background:var(--color-warning-light, #fff3cd);color:var(--color-warning, #856404)}.bank-accounts-table .actions-cell{white-space:nowrap}.bank-accounts-table .empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.modal-content.bank-account-modal{background:#fff;border-radius:8px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}@media(max-width:768px){.bank-accounts-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.bank-accounts-page .bank-filters-bar{flex-wrap:wrap}.bank-accounts-page .bank-search-box{width:100%}.bank-accounts-page .bank-filter-divider{display:none}}.transaction-modal{max-width:540px;width:95%;max-height:90vh;overflow-y:auto;padding:0!important;border-radius:16px!important;box-shadow:0 20px 60px #0000001f,0 0 0 1px #0000000a!important;background:#fff!important}.transaction-modal .modal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 24px;margin-bottom:0;border-bottom:none}.transaction-modal .modal-header h3{margin:0;font-size:16px;font-weight:700;color:#0f172a;text-transform:none!important;letter-spacing:0}.transaction-modal .modal-header h3 small{font-size:11px;font-weight:500;color:#94a3b8;margin-left:6px}.transaction-modal .modal-close{background:#f1f5f9!important;border:none!important;width:28px;height:28px;border-radius:14px!important;font-size:14px;color:#94a3b8!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.transaction-modal .modal-close:hover{background:#e2e8f0!important;color:#64748b!important}.transaction-modal .modal-divider{height:1px;background:linear-gradient(90deg,#e2e8f0,#f8fafc)}.transaction-modal .section-divider{height:1px;background:#f1f5f9;margin:4px 0}.transaction-modal .modal-footer-divider{height:1px;background:#e2e8f0}.transaction-modal .transaction-form{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.transaction-modal .form-section{border:1px solid #E2E8F0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.transaction-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.transaction-modal .form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:0}.transaction-modal .form-group label,.transaction-modal .transaction-form>.form-group>label{font-size:12px!important;font-weight:600!important;color:#64748b!important;text-transform:none!important;letter-spacing:0!important;margin-bottom:0!important}.transaction-modal .form-group.required label:after{content:" *";color:#ef4444}.transaction-modal .form-group input,.transaction-modal .form-group select,.transaction-modal .form-group textarea,.transaction-modal .form-section input,.transaction-modal .form-section select,.transaction-modal .form-section textarea{padding:9px 12px!important;border:1px solid #E2E8F0!important;border-radius:8px!important;font-size:13px!important;font-family:inherit!important;background:#f8fafc!important;color:#334155!important;height:40px!important;box-sizing:border-box!important;transition:border-color .15s ease,box-shadow .15s ease}.transaction-modal .form-group .datepicker-input,.transaction-modal .form-section .datepicker-input{padding:9px 28px 9px 8px!important;border:none!important;background:transparent!important}.transaction-modal .form-group input::placeholder,.transaction-modal .form-group textarea::placeholder{color:#94a3b8!important}.transaction-modal .form-group input:focus,.transaction-modal .form-group select:focus,.transaction-modal .form-group textarea:focus,.transaction-modal .form-section input:focus,.transaction-modal .form-section select:focus,.transaction-modal .form-section textarea:focus{outline:none!important;border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb14!important;background:#fff!important}.transaction-modal .form-group input[disabled],.transaction-modal .form-group select[disabled]{background:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed}.transaction-modal .form-group textarea{resize:vertical;min-height:64px!important;height:auto!important}.transaction-modal .amount-highlight input,.transaction-modal .amount-highlight .currency-input-wrapper input{border-color:#2563eb!important;background:#fff!important}.transaction-modal .radio-group{display:flex!important;flex-direction:row!important;gap:20px!important;align-items:center!important;height:40px}.transaction-modal .radio-group label{display:flex!important;align-items:center!important;gap:6px!important;font-size:13px!important;font-weight:500!important;color:#334155!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;margin-bottom:0!important;height:auto!important;border:none!important;background:none!important;padding:0!important}.transaction-modal .radio-group input[type=radio]{width:16px!important;height:16px!important;accent-color:#2563EB;cursor:pointer;padding:0!important;margin:0!important}.transaction-modal .upload-zone{border:2px dashed #E2E8F0;border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fafbfc}.transaction-modal .upload-zone:hover{border-color:#cbd5e1;background:#f8fafc}.transaction-modal .upload-zone-text{font-size:13px;font-weight:500;color:#64748b}.transaction-modal .upload-zone-hint{font-size:11px;color:#94a3b8}.transaction-modal .attachment-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.transaction-modal .attachment-thumb{position:relative}.transaction-modal .attachment-thumb img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #E2E8F0}.transaction-modal .attachment-remove{position:absolute;top:-4px;right:-4px;border-radius:50%;width:16px;height:16px;padding:0;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:9px;line-height:1}.transaction-modal .info-box,.transaction-modal .warning-box{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.5}.transaction-modal .info-box{background:#eff6ff;border:1px solid #BFDBFE;color:#1e40af}.transaction-modal .warning-box{background:#fff7ed;border:1px solid #FED7AA;color:#c2410c}.info-icon,.warning-icon{font-size:14px;flex-shrink:0}.warning-box strong{display:block;margin-bottom:2px;font-weight:700}.warning-box p{margin:0;font-size:11px}.transaction-modal .modal-footer{display:flex;gap:10px;height:60px;padding:0 24px;align-items:center;justify-content:flex-end}.transaction-modal .modal-footer .btn-cancel,.transaction-modal .modal-actions .btn-cancel{padding:0 20px!important;height:38px!important;border:1px solid #E2E8F0!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;color:#64748b!important;background:#fff!important;cursor:pointer;transition:all .15s ease;flex:none!important;width:auto!important}.transaction-modal .modal-footer .btn-cancel:hover,.transaction-modal .modal-actions .btn-cancel:hover{background:#f8fafc!important;border-color:#cbd5e1!important}.transaction-modal .modal-footer .btn-submit,.transaction-modal .modal-actions .btn-submit{padding:0 20px!important;height:38px!important;border:none!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;color:#fff!important;background:#2563eb!important;cursor:pointer;transition:all .15s ease;flex:none!important;width:auto!important;box-shadow:none!important;transform:none!important}.transaction-modal .modal-footer .btn-submit:hover,.transaction-modal .modal-actions .btn-submit:hover{background:#1d4ed8!important;box-shadow:0 4px 12px #2563eb40!important;transform:none!important}.transaction-modal .modal-footer .btn-cancel:disabled,.transaction-modal .modal-footer .btn-submit:disabled,.transaction-modal .modal-actions .btn-cancel:disabled,.transaction-modal .modal-actions .btn-submit:disabled{opacity:.5;cursor:not-allowed}.transaction-modal .modal-actions{display:flex;gap:10px;padding-top:16px;border-top:1px solid #E2E8F0;justify-content:flex-end;margin-top:4px}.receipt-table-container{max-height:200px;overflow-y:auto;border:1px solid #E2E8F0;border-radius:8px;margin-top:6px}.receipt-table{width:100%;border-collapse:collapse;font-size:12px}.receipt-table th,.receipt-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #F1F5F9}.receipt-table th{background:#f8fafc;font-weight:600;color:#64748b;font-size:11px;position:sticky;top:0}.receipt-table tr:hover{background:#f8fafc}.salary-info-panel{background:#f8fafc;padding:12px 14px;border-radius:8px;border:1px solid #E2E8F0;font-size:12px;margin-bottom:14px}.salary-info-row{display:flex;justify-content:space-between;margin-bottom:4px;color:#64748b}.salary-info-row.highlight{margin-top:8px;padding-top:8px;border-top:1px dashed #E2E8F0;font-weight:600;color:#0f172a}.text-success{color:#059669!important}.text-warning{color:#ef4444!important;font-size:11px;display:block;margin-top:4px}.transaction-modal .field-hint-blue{font-size:11px;color:#2563eb;display:block;margin-top:2px}.transaction-modal .field-hint-green{font-size:11px;color:#10b981;display:block;margin-top:2px}.transaction-modal .attachment-file-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}.transaction-modal .attachment-file-name{font-size:12px;color:#10b981}.transaction-modal .attachment-file-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:0;line-height:1}.transaction-modal .btn-secondary{padding:7px 14px!important;font-size:12px!important;font-weight:500!important;border:1px solid #CBD5E1!important;border-radius:6px!important;background:#fff!important;color:#64748b!important;cursor:pointer;transition:all .15s ease;height:auto!important}.transaction-modal .btn-secondary:hover:not(:disabled){border-color:#2563eb!important;color:#2563eb!important;background:#eff6ff!important}@media(max-width:560px){.transaction-modal{width:98%;max-height:95vh;border-radius:12px!important}.transaction-modal .form-row{grid-template-columns:1fr;gap:10px}.transaction-modal .modal-header h3{font-size:15px}}.cod-modal-content{background:#fff;border-radius:16px;max-width:560px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000001f,0 0 0 1px #0000000a}.cod-modal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 24px;background:transparent;border-bottom:1px solid #E2E8F0}.cod-modal-header h2{margin:0;font-size:16px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px}.modal-close-btn{background:#f1f5f9;border:none;width:28px;height:28px;border-radius:14px;font-size:14px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close-btn:hover{background:#e2e8f0;color:#64748b}.cod-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.cod-section{margin-bottom:0;padding:16px;border-radius:10px;border:1px solid #E2E8F0;background:#fff}.cod-section h3{margin:0 0 14px;font-size:13px;font-weight:700;color:#0f172a;text-transform:none;letter-spacing:0}.cod-section-header{background:#fff}.cod-section-body{background:#fff;border:1px solid #E2E8F0;border-radius:10px;overflow:visible}.cod-section-footer{background:#fff;border:1px solid #E2E8F0}.cod-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.cod-form-row:last-child{margin-bottom:0}.cod-form-group{display:flex;flex-direction:column;gap:5px}.cod-section>.cod-form-group{margin-bottom:12px}.cod-section>.cod-form-group:last-child{margin-bottom:0}.cod-form-group label{font-size:12px;font-weight:600;color:#64748b}.cod-form-group input:not([type=radio]):not([type=checkbox]),.cod-form-group select,.cod-form-group textarea{padding:9px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;font-family:inherit;background:#f8fafc;color:#334155;height:40px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.cod-form-group .datepicker-input{padding:9px 28px 9px 8px!important;border:none!important;background:transparent!important}.cod-form-group input::placeholder,.cod-form-group textarea::placeholder{color:#94a3b8}.cod-form-group input:not([type=radio]):not([type=checkbox]):focus,.cod-form-group select:focus,.cod-form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.cod-form-group textarea{resize:vertical;min-height:64px;height:auto}.cod-form-group select[disabled]{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.cod-radio-group{display:flex;gap:20px;height:40px;align-items:center}.cod-radio-group label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:500;color:#334155}.cod-radio-group input[type=radio]{width:16px;height:16px;accent-color:#2563EB;cursor:pointer;padding:0;margin:0;border:none;background:none;box-shadow:none}.cod-tabs{display:flex;gap:0;margin-bottom:0;padding:0 16px;height:40px;align-items:flex-end;border-bottom:1px solid #E2E8F0}.cod-tab{padding:0 14px;height:36px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:12px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.cod-tab:hover{color:#64748b}.cod-tab.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb}.cod-tab-content{min-height:120px;padding:12px;background:#fafbfc}.cod-summary-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}.cod-summary-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:8px;background:#f8fafc;border:1px solid #E2E8F0}.cod-summary-item label{font-size:11px;font-weight:600;color:#64748b;text-transform:none;letter-spacing:0}.cod-summary-item .amount{font-size:18px;font-weight:700;color:#0f172a}.cod-summary-item.highlight{background:#ecfdf5;border:1px solid #10B981;padding:12px 14px;border-radius:8px;color:inherit}.cod-summary-item.highlight label{color:#059669;font-size:11px}.cod-summary-item.highlight .amount-large{font-size:18px;font-weight:700;color:#059669}.cod-summary-item input{width:100%;height:32px!important;font-size:14px;border-radius:6px;background:#fff;border:1px solid #CBD5E1}.cod-badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;color:#fff;background:#2563eb;border-radius:10px;letter-spacing:.5px;vertical-align:middle}.cod-upload-zone{border:2px dashed #E2E8F0;border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fafbfc}.cod-upload-zone:hover{border-color:#cbd5e1;background:#f8fafc}.cod-upload-text{font-size:13px;font-weight:500;color:#64748b}.cod-upload-hint{font-size:11px;color:#94a3b8}.cod-attachment-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.cod-attachment-thumb{position:relative}.cod-attachment-thumb img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid #E2E8F0}.cod-attachment-remove{position:absolute;top:-4px;right:-4px;border-radius:50%;width:16px;height:16px;padding:0;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:9px;line-height:1}.cod-modal-actions{display:flex;gap:10px;padding:0 24px;height:60px;border-top:1px solid #E2E8F0;background:transparent;align-items:center;justify-content:flex-end}.cod-modal-actions .btn-cancel{padding:0 20px!important;height:38px!important;border:1px solid #E2E8F0!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;color:#64748b!important;background:#fff!important;cursor:pointer;transition:all .15s ease;flex:none!important;width:auto!important}.cod-modal-actions .btn-cancel:hover:not(:disabled){background:#f8fafc!important;border-color:#cbd5e1!important}.cod-modal-actions .btn-submit{padding:0 20px!important;height:38px!important;border:none!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;color:#fff!important;background:#2563eb!important;cursor:pointer;transition:all .15s ease;flex:none!important;width:auto!important;box-shadow:none!important;transform:none!important}.cod-modal-actions .btn-submit:hover:not(:disabled){background:#1d4ed8!important;box-shadow:0 4px 12px #2563eb40!important;transform:none!important}.cod-modal-actions .btn-cancel:disabled,.cod-modal-actions .btn-submit:disabled{opacity:.5;cursor:not-allowed}.excel-tab-placeholder,.manual-tab-placeholder{padding:40px 20px;text-align:center;color:#94a3b8;font-size:13px}.cod-tab-content .filter-bar{padding:12px;border-color:#e2e8f0}.cod-tab-content .filter-row{grid-template-columns:1fr 1fr;gap:10px}.cod-tab-content .filter-group input,.cod-tab-content .filter-group select{height:36px;font-size:13px;padding:7px 10px;border-color:#e2e8f0;border-radius:8px;background:#f8fafc}.cod-tab-content .filter-group .datepicker-input{padding:7px 28px 7px 8px!important;height:36px;border:none!important;background:transparent!important}.cod-tab-content .filter-group label{font-size:11px;font-weight:600;color:#64748b}.cod-tab-content .btn-load{height:36px;font-size:12px;border-radius:8px;padding:0 16px;background:#2563eb;width:100%}.cod-tab-content .btn-load:hover:not(:disabled){background:#1d4ed8}.cod-tab-content .empty-state{padding:40px 16px;font-size:13px;color:#94a3b8}@media(max-width:600px){.cod-modal-content{width:98%;border-radius:12px}.cod-form-row,.cod-summary-row{grid-template-columns:1fr}.cod-modal-header h2{font-size:15px}.cod-modal-body{padding:16px 20px}.cod-modal-actions{padding:0 20px}}.excel-import-tab{display:flex;flex-direction:column;gap:16px}.upload-section{display:flex;gap:12px;align-items:center;padding:16px;background:#fff;border-radius:6px;border:2px dashed #d1d5db;transition:all .2s}.upload-section:hover{border-color:#3b82f6;background:#f9fafb}.upload-btn{padding:10px 20px;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s;border:none}.upload-btn:hover{background:#2563eb}.template-link{color:#3b82f6;text-decoration:none;font-weight:500;font-size:14px;transition:color .2s}.template-link:hover{color:#2563eb;text-decoration:underline}.loading{text-align:center;padding:40px;color:#6b7280;font-size:14px}.preview-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:12px}.preview-tab{padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;color:#6b7280}.preview-tab:hover{color:#374151;background:#f9fafb}.preview-tab.valid{color:#059669}.preview-tab.warning{color:#d97706}.preview-tab.error{color:#dc2626}.preview-tab.active{background:transparent}.preview-tab.active.valid{border-bottom-color:#059669;color:#059669}.preview-tab.active.warning{border-bottom-color:#d97706;color:#d97706}.preview-tab.active.error{border-bottom-color:#dc2626;color:#dc2626}.preview-grid{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.preview-grid table{width:100%;border-collapse:collapse}.preview-grid th{position:sticky;top:0;background:#f9fafb;padding:10px 12px;text-align:left;font-weight:600;font-size:12px;color:#374151;border-bottom:1px solid #e5e7eb;text-transform:uppercase;letter-spacing:.5px}.preview-grid td{padding:10px 12px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#111827}.preview-grid tr:hover{background:#f9fafb}.preview-grid tr.valid{background:#f0fdf4}.preview-grid tr.valid:hover{background:#dcfce7}.preview-grid tr.warning{background:#fffbeb}.preview-grid tr.warning:hover{background:#fef3c7}.preview-grid tr.error{background:#fef2f2}.preview-grid tr.error:hover{background:#fee2e2}.manual-select-tab{display:flex;flex-direction:column;gap:16px}.filter-bar{padding:16px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.filter-row{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;align-items:end}.filter-group label{font-size:12px;font-weight:500;color:#374151}.filter-group input{padding:9px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s;color:#000;background:#fff}.filter-group input::placeholder{color:#9ca3af}.filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-load{padding:9px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.btn-load:hover:not(:disabled){background:#2563eb}.btn-load:disabled{opacity:.5;cursor:not-allowed}.orders-grid{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background:#fff}.grid-header{padding:10px 16px;background:#f9fafb;font-weight:500;font-size:13px;color:#374151;border-bottom:1px solid #e5e7eb}.orders-grid table{width:100%;border-collapse:collapse}.orders-grid th{background:#f9fafb;padding:10px 12px;text-align:left;font-weight:600;font-size:12px;color:#374151;border-bottom:1px solid #e5e7eb;text-transform:uppercase;letter-spacing:.5px}.orders-grid td{padding:10px 12px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#111827}.orders-grid tr:hover{background:#f9fafb}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af;font-size:14px}@media(max-width:900px){.filter-row{grid-template-columns:1fr}.preview-grid,.orders-grid{font-size:12px}.preview-grid th,.preview-grid td,.orders-grid th,.orders-grid td{padding:8px 10px}}.detail-modal{max-width:560px!important;width:95%!important;max-height:90vh;overflow-y:auto;padding:0!important;border-radius:16px!important;box-shadow:0 20px 60px #0000001f,0 0 0 1px #0000000a!important;background:#fff!important}.detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 24px;border-bottom:1px solid #E2E8F0;background:transparent;margin-bottom:0}.detail-modal .modal-header .header-info{display:flex;align-items:center;gap:10px}.detail-modal .modal-header h3{margin:0;font-size:16px;font-weight:700;color:#0f172a;text-transform:none!important;letter-spacing:0}.detail-modal .modal-close{background:#f1f5f9!important;border:none!important;width:28px;height:28px;border-radius:14px!important;font-size:14px;color:#94a3b8!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.detail-modal .modal-close:hover{background:#e2e8f0!important;color:#64748b!important}.detail-modal .status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:0}.detail-modal .badge-warning{background:#fef3c7;color:#92400e}.detail-modal .badge-success{background:#d1fae5;color:#065f46}.detail-modal .badge-danger{background:#fee2e2;color:#991b1b}.detail-modal .badge-secondary{background:#e5e7eb;color:#4b5563}.detail-modal .modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.detail-modal .detail-section{margin-bottom:0;padding:16px;border-radius:10px;border:1px solid #E2E8F0;background:#fff}.detail-modal .detail-section:last-child{border-bottom:1px solid #E2E8F0;margin-bottom:0}.detail-modal .detail-section h4{margin:0 0 14px;font-size:13px;font-weight:700;color:#0f172a;text-transform:none;letter-spacing:0}.detail-modal .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-modal .info-item{display:flex;flex-direction:column;gap:3px}.detail-modal .info-item label{font-size:11px;font-weight:600;color:#64748b;text-transform:none;letter-spacing:0}.detail-modal .info-item span{font-size:13px;font-weight:500;color:#0f172a}.detail-modal .info-item.highlight span{font-size:18px;font-weight:700}.detail-modal .info-item span.code{font-family:Consolas,SF Mono,monospace;background:#f1f5f9;padding:2px 8px;border-radius:6px;font-size:12px;color:#334155}.detail-modal .text-success{color:#059669!important}.detail-modal .text-danger{color:#ef4444!important}.detail-modal .description-box{margin-top:12px;padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid #F1F5F9}.detail-modal .description-box label{display:block;font-size:11px;font-weight:600;color:#64748b;margin-bottom:4px}.detail-modal .description-box p{margin:0;font-size:13px;color:#334155;line-height:1.5}.detail-modal .orders-summary{display:flex;gap:20px;padding:12px 14px;background:#eff6ff;border-radius:8px;border:1px solid #BFDBFE}.detail-modal .orders-summary span{font-size:12px;color:#1e40af;font-weight:500}.detail-modal .orders-summary span.highlight{font-weight:700;color:#1d4ed8}.detail-modal .attachments-grid{display:flex;gap:8px;flex-wrap:wrap}.detail-modal .attachment-thumb{width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid #E2E8F0;transition:all .15s ease}.detail-modal .attachment-thumb:hover{border-color:#2563eb;transform:scale(1.05)}.detail-modal .attachment-thumb img{width:100%;height:100%;object-fit:cover}.detail-modal .audit-timeline{display:flex;flex-direction:column;gap:12px}.detail-modal .timeline-item{display:flex;align-items:flex-start;gap:10px}.detail-modal .timeline-dot{width:8px;height:8px;border-radius:50%;background:#10b981;margin-top:5px;flex-shrink:0}.detail-modal .timeline-item.rejected .timeline-dot,.detail-modal .timeline-item.reject .timeline-dot{background:#ef4444}.detail-modal .timeline-item.cancelled .timeline-dot,.detail-modal .timeline-item.cancel .timeline-dot{background:#94a3b8}.detail-modal .timeline-item.created .timeline-dot,.detail-modal .timeline-item.create .timeline-dot{background:#f59e0b}.detail-modal .timeline-content{display:flex;flex-direction:column;gap:2px}.detail-modal .timeline-content .time{font-size:11px;color:#94a3b8;font-weight:400}.detail-modal .timeline-content .user{font-size:12px;font-weight:600;color:#0f172a}.detail-modal .timeline-content .desc{font-size:12px;color:#64748b}.detail-modal .rejection-box,.detail-modal .cancellation-box{padding:12px 14px;border-radius:8px;font-size:13px;margin-top:0;line-height:1.5}.detail-modal .rejection-box{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.detail-modal .cancellation-box{background:#f8fafc;border:1px solid #E2E8F0;color:#64748b}.detail-modal .modal-footer{display:flex;gap:8px;height:60px;padding:0 24px;align-items:center;justify-content:flex-end;border-top:1px solid #E2E8F0;background:transparent}.detail-modal .modal-footer .btn{padding:0 16px!important;height:34px!important;border-radius:8px!important;font-size:12px!important;font-weight:600!important;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;flex:none!important;width:auto!important;border:none}.detail-modal .modal-footer .btn-outline-primary{background:#fff!important;color:#2563eb!important;border:1px solid #2563EB!important;padding:0 16px!important;height:34px!important;border-radius:8px!important;font-size:12px!important;font-weight:600!important}.detail-modal .modal-footer .btn-outline-primary:hover:not(:disabled){background:#eff6ff!important}.detail-modal .modal-footer .btn-danger{background:#ef4444!important;color:#fff!important;border:none!important}.detail-modal .modal-footer .btn-danger:hover:not(:disabled){background:#dc2626!important}.detail-modal .modal-footer .btn-success{background:#10b981!important;color:#fff!important;border:none!important}.detail-modal .modal-footer .btn-success:hover:not(:disabled){background:#059669!important}.detail-modal .modal-footer .btn-secondary{background:#f1f5f9!important;color:#64748b!important;border:1px solid #E2E8F0!important}.detail-modal .modal-footer .btn-secondary:hover:not(:disabled){background:#e2e8f0!important;border-color:#cbd5e1!important}.detail-modal .modal-footer .btn-outline-danger{background:#fff!important;color:#ef4444!important;border:1px solid #EF4444!important}.detail-modal .modal-footer .btn-outline-danger:hover:not(:disabled){background:#fef2f2!important}.detail-modal .modal-footer .btn-primary{background:#2563eb!important;color:#fff!important;border:none!important}.detail-modal .modal-footer .btn-primary:hover:not(:disabled){background:#1d4ed8!important}.detail-modal .modal-footer .btn:disabled{opacity:.5;cursor:not-allowed}.detail-modal .popup-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100}.detail-modal .popup-content{background:#fff;padding:24px;border-radius:16px;width:400px;max-width:90%;box-shadow:0 20px 60px #0000001f,0 0 0 1px #0000000a}.detail-modal .popup-content h4{margin:0 0 8px;font-size:15px;font-weight:700;color:#0f172a}.detail-modal .popup-content p{margin:0 0 12px;font-size:13px;color:#64748b}.detail-modal .popup-content textarea{width:100%;padding:9px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;font-family:inherit;background:#f8fafc;color:#334155;resize:vertical;margin-bottom:16px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.detail-modal .popup-content textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.detail-modal .popup-content .warning-box{background:#fff7ed;border:1px solid #FED7AA;color:#c2410c;padding:10px 14px;border-radius:8px;font-size:12px;margin-bottom:12px;line-height:1.5}.detail-modal .popup-actions{display:flex;justify-content:flex-end;gap:8px}.detail-modal .popup-actions button{padding:0 16px;height:34px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #E2E8F0;background:#fff;color:#64748b;transition:all .15s ease}.detail-modal .popup-actions button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.detail-modal .popup-actions button.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.detail-modal .popup-actions button.btn-danger:hover:not(:disabled){background:#dc2626}.detail-modal .popup-actions button.btn-danger:disabled{background:#fca5a5;border-color:#fca5a5;cursor:not-allowed}.detail-modal .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;font-size:13px}.detail-modal .error-state{text-align:center;padding:40px}.detail-modal .error-state p{color:#94a3b8;font-size:13px;margin-bottom:16px}.detail-modal .edit-form-section{background:#fffbf0;border:1px solid #FDE68A!important;border-radius:10px;padding:16px}.detail-modal .edit-form{display:flex;flex-direction:column;gap:12px}.detail-modal .edit-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-modal .edit-form .form-group{display:flex;flex-direction:column;gap:5px}.detail-modal .edit-form .form-group.full-width{grid-column:span 2}.detail-modal .edit-form .form-group label{font-size:12px;font-weight:600;color:#64748b}.detail-modal .edit-form .form-group input,.detail-modal .edit-form .form-group select,.detail-modal .edit-form .form-group textarea{padding:9px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;font-family:inherit;background:#f8fafc;color:#334155;height:40px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.detail-modal .edit-form .form-group textarea{resize:vertical;min-height:64px;height:auto}.detail-modal .edit-form .form-group input:focus,.detail-modal .edit-form .form-group select:focus,.detail-modal .edit-form .form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.detail-modal .threshold-warning{background:#fff7ed;border:1px solid #FED7AA;color:#c2410c;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.5}@media(max-width:600px){.detail-modal{width:98%!important;border-radius:12px!important}.detail-modal .modal-header{padding:0 20px}.detail-modal .modal-header h3{font-size:15px}.detail-modal .modal-body{padding:16px 20px}.detail-modal .info-grid,.detail-modal .edit-form .form-row{grid-template-columns:1fr}.detail-modal .modal-footer{padding:0 20px}}.cf-v3{padding:24px 28px!important;background:#fff!important;font-family:inherit!important;min-height:100vh;display:flex;flex-direction:column}.cf-v3 *{text-transform:inherit!important;font-family:inherit!important}.cf-v3 .cf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cf-v3 .cf-header-left{display:flex;align-items:center;gap:12px}.cf-v3 .cf-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:16px;color:var(--color-text-secondary);transition:var(--transition)}.cf-v3 .cf-back-btn:hover{background:var(--color-bg-hover)}.cf-v3 .cf-title-block{display:flex;flex-direction:column;gap:2px}.cf-v3 .cf-breadcrumb{font-size:12px;color:var(--color-text-muted);margin:0}.cf-v3 .cf-title{font-size:22px;font-weight:700;color:var(--color-text);margin:0}.cf-v3 .cf-header-right{display:flex;align-items:center;gap:10px}.cf-v3 .cf-date-range{display:flex;align-items:center;gap:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0;height:38px;overflow:hidden}.cf-v3 .cf-date-range .datepicker-wrapper{width:auto}.cf-v3 .cf-date-range .datepicker-input{height:36px;width:130px;padding:0 6px;font-size:13px;font-weight:500;background:transparent;border:none;border-radius:0;box-sizing:border-box}.cf-v3 .cf-date-range .datepicker-input:focus{background:#fff;box-shadow:none;outline:none}.cf-v3 .cf-date-range .datepicker-toggle{display:none}.cf-v3 .cf-date-range-sep{font-size:13px;color:var(--color-text-muted);padding:0 4px;flex-shrink:0}.cf-v3 .cf-btn-filter-sm{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:38px;padding:0 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.cf-v3 .cf-btn-filter-sm:hover{background:var(--color-primary-hover)}.cf-v3 .cf-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}.cf-v3 .cf-btn-primary:hover{background:var(--color-primary-hover)}.cf-v3 .cf-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;background:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.cf-v3 .cf-btn-secondary:hover{background:var(--color-bg-hover)}.cf-v3 .cf-kpi-row{display:flex;gap:12px;margin-bottom:20px}.cf-v3 .cf-kpi-card{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:10px;border:1px solid var(--color-border);background:#fff}.cf-v3 .cf-kpi-card.blue{background:var(--color-primary-light);border-color:#bfdbfe}.cf-v3 .cf-kpi-card.green{background:var(--color-success-light);border-color:#bbf7d0}.cf-v3 .cf-kpi-card.red{background:#fff1f2;border-color:#fecdd3}.cf-v3 .cf-kpi-top{display:flex;justify-content:space-between;align-items:center}.cf-v3 .cf-kpi-label{font-size:12px;font-weight:500;color:var(--color-text-muted)}.cf-v3 .cf-kpi-card.blue .cf-kpi-label{color:var(--color-primary)}.cf-v3 .cf-kpi-card.green .cf-kpi-label{color:var(--color-success)}.cf-v3 .cf-kpi-card.red .cf-kpi-label{color:var(--color-danger)}.cf-v3 .cf-kpi-trend{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.cf-v3 .cf-kpi-trend.up{background:#dcfce7;color:var(--color-success)}.cf-v3 .cf-kpi-trend.down{background:#fee2e2;color:var(--color-danger)}.cf-v3 .cf-kpi-value{font-size:20px;font-weight:700;color:var(--color-text)}.cf-v3 .cf-kpi-card.blue .cf-kpi-value{color:var(--color-primary-hover)}.cf-v3 .cf-kpi-card.green .cf-kpi-value{color:var(--color-success)}.cf-v3 .cf-kpi-card.red .cf-kpi-value{color:var(--color-danger)}.cf-v3 .cf-kpi-sub{font-size:11px;color:var(--color-text-muted)}.cf-v3 .cf-split{display:flex;gap:16px;flex:1 1 0;min-height:0}.cf-v3 .cf-chart-panel{flex:1;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:10px;background:#fff;overflow:hidden}.cf-v3 .cf-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--color-border-light)}.cf-v3 .cf-panel-title{font-size:14px;font-weight:600;color:var(--color-text)}.cf-v3 .cf-panel-tabs{display:flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.cf-v3 .cf-panel-tab{padding:5px 12px;font-size:11px;font-weight:500;color:var(--color-text-muted);background:#fff;border:none;cursor:pointer;transition:var(--transition)}.cf-v3 .cf-panel-tab.active{background:var(--color-primary);color:#fff;font-weight:600}.cf-v3 .cf-chart-area{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;gap:12px;min-height:250px}.cf-v3 .cf-bars-row{display:flex;align-items:flex-end;justify-content:space-around;flex:1;gap:8px;min-height:200px;height:100%}.cf-v3 .cf-bar-group{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;flex:1;height:100%}.cf-v3 .cf-bar{width:32px;border-radius:4px 4px 0 0;transition:all .3s ease}.cf-v3 .cf-bar:hover{opacity:.8}.cf-v3 .cf-bar-label{font-size:11px;color:var(--color-text-muted);text-align:center}.cf-v3 .cf-tx-panel{width:420px;min-width:420px;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:10px;background:#fff;overflow:hidden}.cf-v3 .cf-tx-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--color-border-light)}.cf-v3 .cf-tx-title{font-size:14px;font-weight:600;color:var(--color-text)}.cf-v3 .cf-tx-link{font-size:12px;font-weight:500;color:var(--color-primary);cursor:pointer;background:none;border:none;padding:0;transition:var(--transition)}.cf-v3 .cf-tx-link:hover{text-decoration:underline}.cf-v3 .cf-tx-list{flex:1;overflow-y:auto}.cf-v3 .cf-tx-item{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:var(--transition)}.cf-v3 .cf-tx-item:hover{background:var(--color-bg-secondary)}.cf-v3 .cf-tx-item:last-child{border-bottom:none}.cf-v3 .cf-tx-left{display:flex;align-items:center;gap:10px}.cf-v3 .cf-tx-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.cf-v3 .cf-tx-icon.receipt{background:#dcfce7;color:var(--color-success)}.cf-v3 .cf-tx-icon.payment{background:#fee2e2;color:var(--color-danger)}.cf-v3 .cf-tx-info{display:flex;flex-direction:column;gap:2px}.cf-v3 .cf-tx-name{font-size:13px;font-weight:500;color:var(--color-text)}.cf-v3 .cf-tx-code{font-size:11px;color:var(--color-text-muted)}.cf-v3 .cf-tx-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.cf-v3 .cf-tx-amount{font-size:13px;font-weight:600}.cf-v3 .cf-tx-amount.positive{color:var(--color-success)}.cf-v3 .cf-tx-amount.negative{color:var(--color-danger)}.cf-v3 .cf-tx-status{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500}.cf-v3 .cf-tx-status.approved{background:#dcfce7;color:var(--color-success)}.cf-v3 .cf-tx-status.pending{background:var(--color-warning-light);color:#d97706}.cf-v3 .cf-tx-status.rejected{background:#fee2e2;color:var(--color-danger)}.cf-v3 .cf-tx-status.cancelled{background:#f4f4f5;color:#71717a}.cf-v3 .cf-filter-bar{display:flex;align-items:flex-end;gap:12px;padding:16px 20px;background:#fff;border:1px solid var(--color-border);border-radius:10px;margin-bottom:16px}.cf-v3 .cf-filter-bar>.cf-filter-group{flex:1;min-width:0}.cf-v3 .cf-filter-group{display:flex;flex-direction:column;gap:6px;min-width:0}.cf-v3 .cf-filter-group label{font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em}.cf-v3 .cf-filter-group select,.cf-v3 .cf-filter-group input{width:100%;height:38px;padding:0 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cf-v3 .cf-filter-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.cf-v3 .cf-filter-group select:hover,.cf-v3 .cf-filter-group input:hover{border-color:#cbd5e1}.cf-v3 .cf-filter-group select:focus,.cf-v3 .cf-filter-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a;background-color:#fff}.cf-v3 .cf-filter-actions{display:flex;gap:8px;align-items:flex-end;padding-bottom:1px}.cf-v3 .cf-btn-filter{height:38px;padding:0 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.cf-v3 .cf-btn-filter:hover{background:var(--color-primary-hover)}.cf-v3 .cf-btn-reset{height:38px;padding:0 14px;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center}.cf-v3 .cf-btn-reset:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.cf-v3 .cf-filter-group .datepicker-wrapper{width:100%}.cf-v3 .cf-filter-group .datepicker-input{height:38px;padding:0 10px;font-size:13px;font-weight:500;background:transparent;border:none;border-radius:0;box-sizing:border-box}.cf-v3 .cf-filter-group .datepicker-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.cf-v3 .cf-table-wrapper{border:1px solid var(--color-border);border-radius:10px;background:#fff;overflow:hidden;flex:1;display:flex;flex-direction:column}.cf-v3 .cf-table-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--color-border-light)}.cf-v3 .cf-table-count{font-size:13px;font-weight:500;color:var(--color-text-muted)}.cf-v3 .cf-table-actions{display:flex;align-items:center;gap:8px}.cf-v3 .cf-search-box{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid var(--color-border);border-radius:6px}.cf-v3 .cf-search-box input{border:none;outline:none;font-size:12px;color:var(--color-text);background:transparent;width:120px}.cf-v3 .cf-search-box input::placeholder{color:var(--color-text-muted)}.cf-v3 .cf-tab-group{display:flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.cf-v3 .cf-tab{padding:5px 12px;font-size:11px;font-weight:500;color:var(--color-text-muted);background:#fff;border:none;cursor:pointer;transition:var(--transition)}.cf-v3 .cf-tab.active{background:var(--color-primary);color:#fff;font-weight:600}.cf-v3 .cf-tab.warning{color:#d97706}.cf-v3 .cf-table-scroll{overflow-x:auto;flex:1}.cf-v3 .cf-table{width:100%;border-collapse:collapse;min-width:900px}.cf-v3 .cf-table thead th{background:var(--color-bg-secondary);padding:10px 14px;font-size:10px;font-weight:600;color:var(--color-text-muted);letter-spacing:.8px;text-transform:uppercase!important;text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border)}.cf-v3 .cf-table thead th.text-right{text-align:right}.cf-v3 .cf-table thead th.text-center{text-align:center}.cf-v3 .cf-table tbody td{padding:11px 14px;font-size:12px;color:var(--color-text);border-bottom:1px solid var(--color-border-light);white-space:nowrap}.cf-v3 .cf-table tbody tr:hover{background:var(--color-bg-secondary)}.cf-v3 .cf-table tbody tr.cancelled{background:#fafaf5}.cf-v3 .cf-table tbody tr.cancelled td{color:var(--color-text-muted)}.cf-v3 .cf-table td.text-right{text-align:right}.cf-v3 .cf-table td.text-center{text-align:center}.cf-v3 .cf-table .cell-code{color:var(--color-primary);font-weight:500;cursor:pointer}.cf-v3 .cf-table .cell-code:hover{text-decoration:underline}.cf-v3 .cf-table .cell-date{color:var(--color-text-muted)}.cf-v3 .cf-table .cell-amount{font-weight:600}.cf-v3 .cf-table .cell-amount.positive{color:var(--color-success)}.cf-v3 .cf-table .cell-amount.negative{color:var(--color-danger)}.cf-v3 .cf-table .cell-amount.cancelled-amount{color:#8b6914;text-decoration:line-through}.cf-v3 .cf-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.cf-v3 .cf-type-badge.receipt{background:#dcfce7;color:var(--color-success)}.cf-v3 .cf-type-badge.payment{background:#fee2e2;color:var(--color-danger)}.cf-v3 .cf-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cf-v3 .cf-status-badge.approved{background:#dcfce7;color:var(--color-success)}.cf-v3 .cf-status-badge.pending{background:var(--color-warning-light);color:#d97706}.cf-v3 .cf-status-badge.rejected{background:#fee2e2;color:var(--color-danger)}.cf-v3 .cf-status-badge.cancelled{background:#f4f4f5;color:#71717a}.cf-v3 .cf-attachment-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;background:var(--color-bg-secondary);border-radius:4px;font-size:11px;color:var(--color-text-secondary)}.cf-v3 .cf-table .cell-actions{display:flex;align-items:center;gap:2px;justify-content:center}.cf-v3 .cf-table .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;background:transparent;padding:0}.cf-v3 .cf-table .btn-icon svg{flex-shrink:0}.cf-v3 .cf-table .btn-icon.view{color:var(--color-text-muted)}.cf-v3 .cf-table .btn-icon.view:hover{background:var(--color-primary-light);color:var(--color-primary)}.cf-v3 .cf-table .btn-icon.approve{color:var(--color-success)}.cf-v3 .cf-table .btn-icon.approve:hover{background:#f0fdf4}.cf-v3 .cf-table .btn-icon.reject{color:var(--color-danger)}.cf-v3 .cf-table .btn-icon.reject:hover{background:#fef2f2}.cf-v3 .cf-table .btn-icon.edit{color:#d97706}.cf-v3 .cf-table .btn-icon.edit:hover{background:#fffbeb}.cf-v3 .cf-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid var(--color-border)}.cf-v3 .cf-pagination-info{font-size:12px;color:var(--color-text-muted)}.cf-v3 .cf-pagination-btns{display:flex;gap:4px}.cf-v3 .cf-page-btn{padding:5px 10px;border:1px solid var(--color-border);border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:var(--transition)}.cf-v3 .cf-page-btn:hover{background:var(--color-bg-hover)}.cf-v3 .cf-page-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.cf-v3 .cf-page-btn:disabled{opacity:.4;cursor:not-allowed}.cf-v3 .cf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;gap:16px}.cf-v3 .cf-spinner{width:36px;height:36px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:cf-spin .8s ease-in-out infinite}@keyframes cf-spin{to{transform:rotate(360deg)}}.cf-v3 .cf-loading-text{font-size:14px;color:var(--color-text-muted)}.cf-v3 .cf-empty{text-align:center;padding:40px;color:var(--color-text-muted);font-size:14px}.cf-v3 .cf-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cf-v3 .cf-modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:500px;padding:24px}.cf-v3 .cf-modal-content h3{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--color-text)}.cf-v3 .cf-modal-content textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text);resize:vertical;box-sizing:border-box}.cf-v3 .cf-modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.cf-v3 .cf-no-access{padding:60px 20px;text-align:center;color:var(--color-text-muted)}.cf-v3 .cf-no-access h3{font-size:18px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}@media(max-width:1024px){.cf-v3 .cf-split{flex-direction:column}.cf-v3 .cf-tx-panel{width:100%;min-width:100%;max-height:400px}.cf-v3 .cf-kpi-row{flex-wrap:wrap}.cf-v3 .cf-kpi-card{min-width:calc(50% - 6px)}}@media(max-width:768px){.cf-v3 .cf-header{flex-direction:column;align-items:flex-start;gap:12px}.cf-v3 .cf-header-right{flex-wrap:wrap}.cf-v3 .cf-kpi-card{min-width:100%}.cf-v3 .cf-filter-bar{flex-wrap:wrap}.cf-v3 .cf-filter-bar>.cf-filter-group{flex:1 1 calc(50% - 12px);min-width:120px}}.cfr-page{padding:24px 28px;max-width:1440px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cfr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cfr-header h1{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 2px}.cfr-header .subtitle{font-size:13px;color:#64748b;margin:0}.cfr-header-actions{display:flex;gap:8px}.cfr-btn{padding:9px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.cfr-btn:hover{background:#f9fafb;border-color:#9ca3af}.cfr-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.cfr-btn.primary:hover{background:#1d4ed8}.cfr-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a}.cfr-filter{display:flex;flex-direction:column;gap:3px}.cfr-filter label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.cfr-filter input,.cfr-filter select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fafafa;color:#1e293b;transition:border-color .15s;min-width:130px}.cfr-filter input:focus,.cfr-filter select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.cfr-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.cfr-card{padding:18px 20px;border-radius:14px;position:relative;overflow:hidden}.cfr-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.08;transform:translate(20px,-20px)}.cfr-card.opening{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.cfr-card.opening:before{background:#0284c7}.cfr-card.receipts{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.cfr-card.receipts:before{background:#16a34a}.cfr-card.payments{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca}.cfr-card.payments:before{background:#dc2626}.cfr-card.closing{background:linear-gradient(135deg,#1e40af,#3b82f6);border:none}.cfr-card-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.cfr-card.closing .cfr-card-label{color:#ffffffbf}.cfr-card-value{font-size:22px;font-weight:700;color:#0f172a}.cfr-card.receipts .cfr-card-value{color:#15803d}.cfr-card.payments .cfr-card-value{color:#b91c1c}.cfr-card.closing .cfr-card-value{color:#fff}.cfr-card-icon{position:absolute;top:14px;right:16px;font-size:22px;opacity:.5}.cfr-card.closing .cfr-card-icon{opacity:.4}.cfr-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f1f5f9;border-radius:10px;padding:4px;width:fit-content}.cfr-tab{padding:8px 20px;background:transparent;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.cfr-tab.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a;font-weight:600}.cfr-tab:hover:not(.active){color:#374151}.cfr-charts{display:flex;flex-direction:column;gap:18px}.cfr-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.cfr-chart-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1e293b}.cfr-chart-subtitle{font-size:12px;color:#94a3b8;margin:0 0 16px}.cfr-chart-legend{display:flex;gap:20px;justify-content:flex-end;margin-bottom:12px}.cfr-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.cfr-legend-dot{width:10px;height:10px;border-radius:3px}.cfr-svg-chart{width:100%;height:auto}.cfr-pie-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cfr-pie-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.cfr-pie-card h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#1e293b}.cfr-pie-wrapper{display:flex;gap:24px;align-items:center}.cfr-donut{width:130px;height:130px;border-radius:50%;flex-shrink:0;position:relative}.cfr-donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#64748b}.cfr-pie-legend{display:flex;flex-direction:column;gap:10px;flex:1}.cfr-pie-item{display:flex;align-items:center;gap:10px}.cfr-pie-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.cfr-pie-name{flex:1;font-size:13px;color:#374151}.cfr-pie-pct{font-size:13px;font-weight:700;color:#1e293b;min-width:36px;text-align:right}.cfr-pie-amount{font-size:11px;color:#94a3b8;min-width:70px;text-align:right}.cfr-ledger{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.cfr-ledger h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.cfr-table-wrap{overflow-x:auto}.cfr-table{width:100%;border-collapse:separate;border-spacing:0}.cfr-table th{text-align:left;padding:10px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e5e7eb}.cfr-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9}.cfr-table tbody tr:hover{background:#f8fafc}.cfr-table .code-cell{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:#2563eb;font-weight:500}.cfr-table .num{text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.cfr-table .num.positive{color:#16a34a;font-weight:600}.cfr-table .num.negative{color:#dc2626;font-weight:600}.cfr-table .num.bold{font-weight:700;color:#0f172a}.cfr-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.cfr-type-badge.receipt{background:#dcfce7;color:#15803d}.cfr-type-badge.payment{background:#fee2e2;color:#b91c1c}.cfr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8;font-size:14px}.cfr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px}.cfr-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:cfr-spin .7s linear infinite}@keyframes cfr-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.cfr-summary{grid-template-columns:repeat(2,1fr)}.cfr-pie-row{grid-template-columns:1fr}}@media(max-width:640px){.cfr-page{padding:16px}.cfr-summary{grid-template-columns:1fr}.cfr-filters{flex-direction:column}.cfr-header{flex-direction:column;gap:12px;align-items:flex-start}}.pl-page{padding:24px 28px;max-width:1440px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.pl-header h1{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 2px}.pl-header .subtitle{font-size:13px;color:#64748b;margin:0}.pl-header-actions{display:flex;gap:8px}.pl-btn{padding:9px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.pl-btn:hover{background:#f9fafb;border-color:#9ca3af}.pl-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.pl-btn.primary:hover{background:#1d4ed8}.pl-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.pl-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a}.pl-filter{display:flex;flex-direction:column;gap:3px}.pl-filter label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.pl-filter input,.pl-filter select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fafafa;color:#1e293b;transition:border-color .15s;min-width:130px}.pl-filter input:focus,.pl-filter select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.pl-preset-btns{display:flex;gap:4px}.pl-preset-btn{padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.pl-preset-btn:hover{border-color:#2563eb;color:#2563eb}.pl-preset-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.pl-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.pl-scorecard{padding:18px 20px;border-radius:14px;position:relative;overflow:hidden}.pl-scorecard:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.08;transform:translate(20px,-20px)}.pl-scorecard.revenue{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.pl-scorecard.revenue:before{background:#16a34a}.pl-scorecard.costs{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca}.pl-scorecard.costs:before{background:#dc2626}.pl-scorecard.profit{background:linear-gradient(135deg,#1e40af,#3b82f6);border:none}.pl-scorecard.profit .pl-scorecard-label{color:#ffffffbf}.pl-scorecard.profit .pl-scorecard-value{color:#fff}.pl-scorecard.profit .pl-scorecard-change{color:#ffffffb3}.pl-scorecard.profit.negative{background:linear-gradient(135deg,#991b1b,#dc2626)}.pl-scorecard.return-rate{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.pl-scorecard.return-rate:before{background:#0284c7}.pl-scorecard-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.pl-scorecard-value{font-size:22px;font-weight:700;color:#0f172a;margin-bottom:4px}.pl-scorecard.revenue .pl-scorecard-value{color:#15803d}.pl-scorecard.costs .pl-scorecard-value{color:#b91c1c}.pl-scorecard-change{font-size:12px;font-weight:500}.pl-scorecard-change.up{color:#16a34a}.pl-scorecard-change.down{color:#dc2626}.pl-scorecard-change.neutral{color:#94a3b8}.pl-charts-row{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;margin-bottom:20px}.pl-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.pl-chart-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1e293b}.pl-chart-subtitle{font-size:12px;color:#94a3b8;margin:0 0 16px}.pl-donut-wrapper{display:flex;gap:24px;align-items:center}.pl-donut{width:150px;height:150px;border-radius:50%;flex-shrink:0;position:relative}.pl-donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#64748b;text-align:center;line-height:1.3}.pl-donut-legend{display:flex;flex-direction:column;gap:10px;flex:1}.pl-donut-item{display:flex;align-items:center;gap:10px}.pl-donut-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pl-donut-name{flex:1;font-size:13px;color:#374151}.pl-donut-amount{font-size:12px;color:#94a3b8;min-width:70px;text-align:right}.pl-donut-pct{font-size:13px;font-weight:700;color:#1e293b;min-width:36px;text-align:right}.pl-svg-chart{width:100%;height:auto}.pl-chart-legend{display:flex;gap:20px;justify-content:flex-end;margin-bottom:12px}.pl-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.pl-legend-dot{width:10px;height:10px;border-radius:3px}.pl-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.pl-table-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.pl-table-wrap{overflow-x:auto}.pl-table{width:100%;border-collapse:separate;border-spacing:0}.pl-table th{text-align:left;padding:10px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e5e7eb}.pl-table th:nth-child(2),.pl-table th:nth-child(3){text-align:right}.pl-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9}.pl-table tbody tr:hover{background:#f8fafc}.pl-table .num{text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.pl-table .num.positive{color:#16a34a;font-weight:600}.pl-table .num.negative{color:#dc2626;font-weight:600}.pl-table tr.subtotal td{font-weight:700;font-size:13.5px;border-top:2px solid #e5e7eb;border-bottom:2px solid #e5e7eb;background:#f8fafc}.pl-table tr.subtotal.positive td{color:#15803d}.pl-table tr.subtotal.negative td{color:#dc2626}.pl-table tr.subtotal.highlight td{background:#f0fdf4;font-size:14px}.pl-table tr.subtotal.highlight.negative td{background:#fef2f2}.pl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8;font-size:14px}.pl-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px}.pl-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:pl-spin .7s linear infinite}@keyframes pl-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.pl-scorecards{grid-template-columns:repeat(2,1fr)}.pl-charts-row{grid-template-columns:1fr}}@media(max-width:640px){.pl-page{padding:16px}.pl-scorecards{grid-template-columns:1fr}.pl-filters{flex-direction:column}.pl-header{flex-direction:column;gap:12px;align-items:flex-start}}.sr-page{padding:24px 28px;max-width:1440px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sr-header h1{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 2px}.sr-header .subtitle{font-size:13px;color:#64748b;margin:0}.sr-header-actions{display:flex;gap:8px}.sr-btn{padding:9px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.sr-btn:hover{background:#f9fafb;border-color:#9ca3af}.sr-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.sr-btn.primary:hover{background:#1d4ed8}.sr-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a}.sr-filter{display:flex;flex-direction:column;gap:3px}.sr-filter label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.sr-filter input,.sr-filter select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fafafa;color:#1e293b;transition:border-color .15s;min-width:130px}.sr-filter input:focus,.sr-filter select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.sr-preset-btns{display:flex;gap:4px}.sr-preset-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.sr-preset-btn:hover{background:#f1f5f9}.sr-preset-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.sr-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.sr-scorecard{padding:18px 20px;border-radius:14px;position:relative;overflow:hidden}.sr-scorecard.revenue{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.sr-scorecard.orders{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.sr-scorecard.aov{background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a}.sr-scorecard.success{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd}.sr-scorecard-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.sr-scorecard-value{font-size:22px;font-weight:700;color:#0f172a}.sr-scorecard-change{font-size:12px;margin-top:4px}.sr-scorecard-change.up{color:#16a34a}.sr-scorecard-change.down{color:#dc2626}.sr-scorecard-change.neutral{color:#94a3b8}.sr-charts-row{display:flex;gap:18px;margin-bottom:20px}.sr-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.sr-chart-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1e293b}.sr-chart-subtitle{font-size:12px;color:#94a3b8;margin:0 0 16px}.sr-svg-chart{width:100%;height:auto}.sr-donut-wrapper{display:flex;gap:20px;align-items:center}.sr-donut{width:130px;height:130px;border-radius:50%;flex-shrink:0;position:relative}.sr-donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#64748b}.sr-donut-legend{display:flex;flex-direction:column;gap:8px;flex:1}.sr-donut-item{display:flex;align-items:center;gap:8px}.sr-donut-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.sr-donut-name{flex:1;font-size:12px;color:#374151}.sr-donut-val{font-size:12px;color:#64748b;min-width:30px;text-align:right}.sr-donut-pct{font-size:12px;font-weight:700;color:#1e293b;min-width:36px;text-align:right}.sr-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.sr-table-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.sr-table-wrap{overflow-x:auto}.sr-table{width:100%;border-collapse:separate;border-spacing:0}.sr-table th{text-align:left;padding:10px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e5e7eb}.sr-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9}.sr-table tbody tr:hover{background:#f8fafc}.sr-table .num{text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.sr-table .num.positive{color:#16a34a;font-weight:600}.sr-table .num.bold{font-weight:700;color:#0f172a}.sr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px}.sr-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:sr-spin .7s linear infinite}@keyframes sr-spin{to{transform:rotate(360deg)}}.sr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8;font-size:14px}@media(max-width:1024px){.sr-scorecards{grid-template-columns:repeat(2,1fr)}.sr-charts-row{flex-direction:column}}@media(max-width:640px){.sr-page{padding:16px}.sr-scorecards{grid-template-columns:1fr}.sr-filters{flex-direction:column}.sr-header{flex-direction:column;gap:12px;align-items:flex-start}}.ir-page{padding:24px 28px;max-width:1440px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ir-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ir-header h1{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 2px}.ir-header .subtitle{font-size:13px;color:#64748b;margin:0}.ir-header-actions{display:flex;gap:8px}.ir-btn{padding:9px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.ir-btn:hover{background:#f9fafb;border-color:#9ca3af}.ir-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.ir-btn.primary:hover{background:#1d4ed8}.ir-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a}.ir-filter{display:flex;flex-direction:column;gap:3px}.ir-filter label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.ir-filter input,.ir-filter select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fafafa;color:#1e293b;transition:border-color .15s;min-width:130px}.ir-filter input:focus,.ir-filter select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.ir-preset-btns{display:flex;gap:4px}.ir-preset-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.ir-preset-btn:hover{background:#f1f5f9}.ir-preset-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.ir-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.ir-scorecard{padding:18px 20px;border-radius:14px;position:relative;overflow:hidden}.ir-scorecard.value{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.ir-scorecard.sku{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.ir-scorecard.low-stock{background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a}.ir-scorecard.expiring{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca}.ir-scorecard-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.ir-scorecard-value{font-size:22px;font-weight:700;color:#0f172a}.ir-scorecard-alert{font-size:11px;color:#dc2626;margin-top:4px;font-weight:500}.ir-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.ir-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.ir-chart-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1e293b}.ir-chart-subtitle{font-size:12px;color:#94a3b8;margin:0 0 16px}.ir-chart-legend{display:flex;gap:20px;justify-content:flex-end;margin-bottom:12px}.ir-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.ir-legend-dot{width:10px;height:10px;border-radius:3px}.ir-svg-chart{width:100%;height:auto}.ir-hbar-chart{display:flex;flex-direction:column;gap:12px}.ir-hbar-row{display:flex;align-items:center;gap:12px}.ir-hbar-label{min-width:100px;font-size:13px;color:#374151;font-weight:500;text-align:right}.ir-hbar-track{flex:1;height:28px;background:#f1f5f9;border-radius:6px;overflow:hidden}.ir-hbar-fill{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:60px;transition:width .3s ease}.ir-hbar-value{font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.ir-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.ir-table-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.ir-table-wrap{overflow-x:auto}.ir-table{width:100%;border-collapse:separate;border-spacing:0}.ir-table th{text-align:left;padding:10px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e5e7eb}.ir-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9}.ir-table tbody tr:hover{background:#f8fafc}.ir-table .code-cell{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:#2563eb;font-weight:500}.ir-table .num{text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.ir-table .num.bold{font-weight:700;color:#0f172a}.ir-alert-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:4px}.ir-alert-badge.low_stock{background:#fef3c7;color:#92400e}.ir-alert-badge.expiring_soon{background:#fee2e2;color:#b91c1c}.ir-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px}.ir-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:ir-spin .7s linear infinite}@keyframes ir-spin{to{transform:rotate(360deg)}}.ir-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8;font-size:14px}@media(max-width:1024px){.ir-scorecards{grid-template-columns:repeat(2,1fr)}.ir-charts-row{grid-template-columns:1fr}}@media(max-width:640px){.ir-page{padding:16px}.ir-scorecards{grid-template-columns:1fr}.ir-filters{flex-direction:column}.ir-header{flex-direction:column;gap:12px;align-items:flex-start}}.cr-page{padding:24px 28px;max-width:1440px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cr-header h1{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 2px}.cr-header .subtitle{font-size:13px;color:#64748b;margin:0}.cr-header-actions{display:flex;gap:8px}.cr-btn{padding:9px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.cr-btn:hover{background:#f9fafb;border-color:#9ca3af}.cr-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.cr-btn.primary:hover{background:#1d4ed8}.cr-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a}.cr-filter{display:flex;flex-direction:column;gap:3px}.cr-filter label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.cr-filter input,.cr-filter select{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fafafa;color:#1e293b;transition:border-color .15s;min-width:130px}.cr-filter input:focus,.cr-filter select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.cr-preset-btns{display:flex;gap:4px}.cr-preset-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.cr-preset-btn:hover{background:#f1f5f9}.cr-preset-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.cr-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.cr-scorecard{padding:18px 20px;border-radius:14px;position:relative;overflow:hidden}.cr-scorecard.total{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.cr-scorecard.new-cust{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.cr-scorecard.vip{background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a}.cr-scorecard.conversion{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd}.cr-scorecard-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.cr-scorecard-value{font-size:22px;font-weight:700;color:#0f172a}.cr-scorecard-change{font-size:12px;margin-top:4px}.cr-scorecard-change.up{color:#16a34a}.cr-scorecard-change.down{color:#dc2626}.cr-scorecard-change.neutral{color:#94a3b8}.cr-scorecard-sub{font-size:11px;color:#94a3b8;margin-top:4px}.cr-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.cr-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.cr-chart-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#1e293b}.cr-chart-subtitle{font-size:12px;color:#94a3b8;margin:0 0 16px}.cr-svg-chart{width:100%;height:auto}.cr-donut-wrapper{display:flex;gap:20px;align-items:center}.cr-donut{width:130px;height:130px;border-radius:50%;flex-shrink:0;position:relative}.cr-donut-hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#64748b}.cr-donut-legend{display:flex;flex-direction:column;gap:8px;flex:1}.cr-donut-item{display:flex;align-items:center;gap:8px}.cr-donut-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.cr-donut-name{flex:1;font-size:12px;color:#374151}.cr-donut-val{font-size:12px;color:#64748b;min-width:30px;text-align:right}.cr-donut-pct{font-size:12px;font-weight:700;color:#1e293b;min-width:36px;text-align:right}.cr-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #0000000a}.cr-table-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#1e293b}.cr-table-wrap{overflow-x:auto}.cr-table{width:100%;border-collapse:separate;border-spacing:0}.cr-table th{text-align:left;padding:10px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e5e7eb}.cr-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9}.cr-table tbody tr:hover{background:#f8fafc}.cr-table .num{text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.cr-table .num.bold{font-weight:700;color:#0f172a}.cr-type-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600}.cr-type-badge.regular{background:#e0f2fe;color:#0369a1}.cr-type-badge.seed{background:#dcfce7;color:#15803d}.cr-type-badge.vip{background:#fef3c7;color:#92400e}.cr-type-badge.inactive{background:#f1f5f9;color:#64748b}.cr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px}.cr-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:cr-spin .7s linear infinite}@keyframes cr-spin{to{transform:rotate(360deg)}}.cr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#94a3b8;font-size:14px}@media(max-width:1024px){.cr-scorecards{grid-template-columns:repeat(2,1fr)}.cr-charts-row{grid-template-columns:1fr}}@media(max-width:640px){.cr-page{padding:16px}.cr-scorecards{grid-template-columns:1fr}.cr-filters{flex-direction:column}.cr-header{flex-direction:column;gap:12px;align-items:flex-start}}.promotions-page{padding:16px;max-width:1440px;margin:0 auto;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#f8fafc;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.header-content h1{font-size:20px;font-weight:800;color:#1e293b;margin:0 0 8px}.header-content p{color:#64748b;margin:0;font-size:15px}.header-actions{display:flex;gap:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:10px}.stat-card{background:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px #0000000d,0 10px 15px -5px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #f1f5f9}.stat-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.stat-card.active{border-top:4px solid #10b981}.stat-card.scheduled{border-top:4px solid #3b82f6}.stat-card.paused{border-top:4px solid #f59e0b}.stat-card.ended{border-top:4px solid #94a3b8}.stat-icon{font-size:32px;background:#f8fafc;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:14px}.stat-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1}.stat-label{font-size:14px;font-weight:500;color:#64748b;margin-top:6px}.filter-bar{background:#fff;padding:10px 16px;border-radius:16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 1px 2px #0000000d;border:1px solid #f1f5f9}.search-box{flex:1;max-width:400px}.search-input{width:100%;padding:10px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;transition:all .2s;background:#f8fafc}.search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.filter-group{display:flex;gap:12px}.filter-bar select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#475569;background:#fff;cursor:pointer;min-width:160px}.btn-primary{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-secondary{padding:10px 20px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.table-wrapper{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.promotions-table{width:100%;border-collapse:collapse;font-size:14px}.promotions-table th{background:#f8fafc;padding:8px 10px;text-align:left;font-weight:600;color:#64748b;text-transform:uppercase;font-size:12px;letter-spacing:.05em;border-bottom:1px solid #f1f5f9}.promotions-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.promotions-table tbody tr:hover{background:#f8fafc}.priority-input{width:50px;padding:6px;border:1px solid #e2e8f0;border-radius:8px;text-align:center;font-weight:700;color:#1e293b;background-color:#f1f5f9;transition:all .2s}.priority-input:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px #3b82f61a}.priority-input::-webkit-outer-spin-button,.priority-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.priority-input{-moz-appearance:textfield;appearance:none}.promo-info{display:flex;flex-direction:column;gap:4px}.promo-name{font-weight:600;color:#1e293b;font-size:15px}.promo-code{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;width:fit-content}.mechanism-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.mechanism-badge.exclusive{background:#fff7ed;color:#9a3412;border:1px solid #ffedd5}.mechanism-badge.stackable{background:#eff6ff;color:#1e40af;border:1px solid #dbeafe}.date-range{display:flex;align-items:center;gap:8px;color:#475569}.date-sep{color:#94a3b8}.performance-cell{display:flex;align-items:center;gap:12px}.progress-container{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;min-width:80px}.progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-text{font-size:12px;font-weight:700;color:#475569;min-width:32px}.status-badge{padding:6px 12px;border-radius:30px;font-size:12px;font-weight:700}.status-active{background:#dcfce7;color:#166534}.status-scheduled{background:#e0f2fe;color:#075985}.status-paused{background:#ffedd5;color:#9a3412}.status-ended{background:#f1f5f9;color:#475569}.promotions-table .action-buttons{justify-content:center;gap:4px;flex-wrap:nowrap}.skeleton-row td{padding:20px 16px}.skeleton-box{background:#f1f5f9;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:6px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text{height:16px;width:100%}.skeleton-title{height:18px;width:80%;margin-bottom:8px}.skeleton-badge{height:24px;width:80px;border-radius:20px}.skeleton-circle{height:32px;width:32px;border-radius:8px}.loading-spinner{display:none}.empty-row{text-align:center;padding:48px!important;color:#94a3b8;font-size:16px;font-weight:500}.create-promotion-page{font-family:Inter,sans-serif;background-color:#f9fafb;min-height:100vh;padding-bottom:80px}.promotion-form{max-width:900px;margin:0 auto;padding-top:40px}.page-header{margin-bottom:32px;text-align:left}.page-header h1{font-size:28px;font-weight:800;color:#111827;letter-spacing:-.025em;margin-bottom:8px}.page-header p{color:#6b7280;font-size:15px}.form-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:32px;margin-bottom:24px;transition:box-shadow .3s ease}.form-section:hover{box-shadow:0 4px 20px -5px #0000000d}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.section-icon{width:36px;height:36px;background:#f3f4f6;color:#374151;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.section-header h2{font-size:16px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.full-width{grid-column:span 2}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13.5px;font-weight:600;color:#4b5563}.form-group input[type=text],.form-group input[type=number],.form-group input[type=datetime-local],.form-group select,.form-group textarea{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background-color:#fff;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14}.form-group input::placeholder{color:#9ca3af}.form-group input:disabled,.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed;color:#6b7280}.form-group small{font-size:12px;color:#9ca3af;margin-top:4px}.radio-group{display:flex;flex-direction:column;gap:12px;background:#f9fafb;padding:16px;border-radius:10px;border:1px solid #f3f4f6}.radio-option{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.radio-option:hover{background:#fff;box-shadow:0 2px 4px #00000005}.radio-option input[type=radio]{width:18px;height:18px;accent-color:#2563eb;margin-top:2px}.radio-label{display:flex;flex-direction:column}.radio-title{font-size:14px;font-weight:600;color:#1f2937}.radio-desc{font-size:12px;color:#6b7280;margin-top:2px}.branch-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.branch-tag{background:#fff;border:1px solid #e5e7eb;color:#4b5563;padding:6px 14px;border-radius:30px;font-size:13px;font-weight:500;transition:all .2s;cursor:pointer}.branch-tag:hover{border-color:#2563eb;color:#2563eb}.branch-tag.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 4px 6px -1px #2563eb33}.product-selector{border:1px solid #e5e7eb;border-radius:10px;max-height:280px;overflow-y:auto;background:#fff}.product-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6;transition:background .2s}.product-item:last-child{border-bottom:none}.product-item:hover{background:#f9fafb}.product-item-info{display:flex;align-items:center;gap:12px}.product-item-info input[type=checkbox]{width:18px;height:18px;accent-color:#2563eb}.product-item-info span{font-size:14px;color:#374151}.product-item-info code{font-family:monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#6b7280;font-size:12px;margin-left:8px}.qty-input{width:60px!important;padding:4px 8px!important;text-align:center;border:1px solid #d1d5db;border-radius:6px}.reward-tier{background:#fdfdfd;border:1px solid #f3f4f6;border-radius:14px;padding:24px;margin-bottom:20px}.reward-tier h3{font-size:15px;font-weight:700;color:#111827;margin-bottom:20px;display:flex;align-items:center;gap:10px}.warning-box{background:#fffbeb;border-left:4px solid #f59e0b;padding:12px 16px;border-radius:6px;color:#92400e;font-size:13px;margin-top:12px;display:flex;align-items:center}.auto-desc-box{background:#f0f7ff;border:1px solid #dbeafe;padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:8px}.auto-desc-label{font-size:11px;font-weight:700;color:#1d4ed8;text-transform:uppercase;letter-spacing:.1em}.auto-desc-text{font-size:15px;font-weight:500;color:#1e40af;line-height:1.6}.form-actions{position:sticky;bottom:0;margin:32px 0 0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 0;display:flex;justify-content:flex-end;gap:16px;border-top:1px solid #e5e7eb;z-index:50}.btn-cancel{padding:10px 24px;background:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-save{padding:10px 48px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #2563eb33}.btn-save:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 15px -3px #2563eb40}.btn-save:disabled{background:#93c5fd;cursor:not-allowed;transform:none}.switch{position:relative;display:inline-block;width:44px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:#2563eb}input:checked+.slider:before{transform:translate(22px)}.product-selector::-webkit-scrollbar{width:6px}.product-selector::-webkit-scrollbar-track{background:#f1f1f1}.product-selector::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.product-selector::-webkit-scrollbar-thumb:hover{background:#9ca3af}.combos-page{padding:16px;max-width:1440px;margin:0 auto;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#f8fafc;min-height:100vh}.kb-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.kb-header__title{font-size:20px;font-weight:800;color:#0f172a;margin:0 0 4px}.kb-header__subtitle{font-size:14px;color:#64748b;margin:0}.kb-header__right{display:flex;align-items:center;gap:12px}.kb-search{position:relative;display:flex;align-items:center}.kb-search__icon{position:absolute;left:12px;color:#94a3b8;pointer-events:none}.kb-search__input{padding:9px 14px 9px 36px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;width:220px;transition:border-color .2s,box-shadow .2s}.kb-search__input::placeholder{color:#94a3b8}.kb-search__input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.kb-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.kb-btn-primary:hover{background:#1d4ed8}.kb-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.kb-column{background:#f1f5f9;border-radius:10px;min-height:300px;display:flex;flex-direction:column}.kb-column__header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:2px solid transparent}.kb-column__header--active{border-bottom-color:#22c55e}.kb-column__header--scheduled{border-bottom-color:#3b82f6}.kb-column__header--paused{border-bottom-color:#f59e0b}.kb-column__header-left{display:flex;align-items:center;gap:8px}.kb-column__dot{width:8px;height:8px;border-radius:50%}.kb-column__dot--active{background:#22c55e}.kb-column__dot--scheduled{background:#3b82f6}.kb-column__dot--paused{background:#f59e0b}.kb-column__label{font-size:13px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.03em}.kb-column__count{font-size:12px;font-weight:700;padding:2px 10px;border-radius:12px}.kb-column__count--active{background:#dcfce7;color:#166534}.kb-column__count--scheduled{background:#dbeafe;color:#1e40af}.kb-column__count--paused{background:#fef3c7;color:#92400e}.kb-column__body{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.kb-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;transition:box-shadow .2s,border-color .2s}.kb-card:hover{box-shadow:0 4px 12px -2px #00000014;border-color:#cbd5e1}.kb-card--dimmed{opacity:.65}.kb-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.kb-card__meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.kb-card__name{font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-card__code{font-size:11px;color:#94a3b8;font-family:Inter,monospace}.kb-card__actions{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.kb-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .15s;padding:0}.kb-action-btn:hover{background:#fff;border-color:#cbd5e1;color:#334155}.kb-action-btn--warn:hover{border-color:#f59e0b;color:#d97706;background:#fffbeb}.kb-action-btn--success:hover{border-color:#22c55e;color:#16a34a;background:#f0fdf4}.kb-action-btn--danger:hover{border-color:#ef4444;color:#dc2626;background:#fef2f2}.kb-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.kb-tag{font-size:11px;font-weight:500;color:#475569;background:#f1f5f9;padding:3px 8px;border-radius:4px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.kb-tag--more{background:#eff6ff;color:#2563eb;cursor:help}.kb-card__pricing{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.kb-card__price-left{display:flex;align-items:baseline;gap:8px}.kb-card__price-new{font-size:15px;font-weight:800;color:#0f172a}.kb-card__price-old{font-size:12px;color:#94a3b8;text-decoration:line-through}.kb-card__save-badge{font-size:11px;font-weight:700;color:#166534;background:#dcfce7;padding:2px 8px;border-radius:4px}.kb-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #f1f5f9}.kb-card__footer-left{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.kb-card__footer-left svg{color:#94a3b8}.kb-card__footer-right{display:flex;align-items:center;gap:6px}.kb-scope-badge{font-size:11px;font-weight:600;color:#2563eb;background:#eff6ff;padding:2px 8px;border-radius:4px}.kb-stock-badge--out{font-size:11px;font-weight:600;color:#dc2626;background:#fef2f2;padding:2px 8px;border-radius:4px}.kb-skeleton{background:#e2e8f0;background:linear-gradient(90deg,#e2e8f0 25%,#cbd5e1,#e2e8f0 75%);background-size:200% 100%;animation:kb-shimmer 1.5s infinite linear;border-radius:10px;height:140px}@keyframes kb-shimmer{to{background-position:200% 0}}.kb-load-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;border-radius:8px;border:1px dashed #cbd5e1;background:#fff;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.kb-load-more:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.kb-stats{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.kb-stat-card{display:flex;flex-direction:column;align-items:center;padding:14px 24px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:110px;flex:1}.kb-stat-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1.2}.kb-stat-label{font-size:12px;color:#64748b;margin-top:2px}.kb-stat-card--active{border-color:#22c55e;background:#f0fdf4}.kb-stat-card--active .kb-stat-value{color:#166534}.kb-stat-card--scheduled{border-color:#3b82f6;background:#eff6ff}.kb-stat-card--scheduled .kb-stat-value{color:#1e40af}.kb-stat-card--paused{border-color:#f59e0b;background:#fffbeb}.kb-stat-card--paused .kb-stat-value{color:#92400e}.kb-stat-card--danger{border-color:#ef4444;background:#fef2f2}.kb-stat-card--danger .kb-stat-value{color:#dc2626}.kb-filters{display:flex;gap:10px;margin-bottom:16px;align-items:center}.kb-filter-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#334155;background:#fff;cursor:pointer}.kb-filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.kb-filter-locked{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#64748b;background:#f8fafc}.kb-tag__price{font-size:10px;color:#94a3b8}.kb-stock-badge{font-size:11px;font-weight:600;color:#166534;background:#dcfce7;padding:2px 8px;border-radius:4px}.kb-empty{text-align:center;padding:32px 16px;color:#94a3b8;font-size:13px}@media(max-width:1024px){.kb-board{grid-template-columns:1fr}.kb-column{min-height:auto}}@media(max-width:640px){.kb-header{flex-direction:column;gap:12px}.kb-header__right{width:100%}.kb-search__input{width:100%;flex:1}}.create-combo-page{padding:24px;background-color:#f8fafc;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif}.cc-header{display:flex;align-items:center;gap:12px;background:#fff;padding:16px 24px;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:20px;max-width:1200px;margin-left:auto;margin-right:auto}.cc-header__title{font-size:20px;font-weight:800;color:#0f172a;margin:0}.cc-header__spacer{flex:1}.cc-header__back{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.cc-header__back:hover{background:#f1f5f9;border-color:#cbd5e1}.cc-body{display:flex;gap:20px;max-width:1200px;margin:0 auto;align-items:flex-start}.cc-left{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0}.cc-right{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}.cc-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:24px;transition:box-shadow .2s}.cc-card:hover{box-shadow:0 4px 16px -4px #0000000f}.cc-card__title{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 16px}.cc-card__divider{height:2px;background:#f1f5f9;margin-bottom:20px}.cc-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.cc-field:last-child{margin-bottom:0}.cc-field__label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.cc-field__input{padding:10px 14px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fdfdfd;font-size:14px;color:#0f172a;font-family:inherit;transition:border-color .2s,box-shadow .2s}.cc-field__input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.cc-field__input::placeholder{color:#94a3b8}.cc-field__input:disabled{background:#f3f4f6;cursor:not-allowed;color:#6b7280}.cc-datepicker .datepicker-input{padding:10px 14px 10px 36px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fdfdfd;font-size:14px;color:#0f172a}.cc-datepicker .datepicker-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.cc-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.cc-search{position:relative;margin-bottom:16px}.cc-search__bar{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:10px;border:1.5px solid #e2e8f0;background:#f8f9fb;font-size:13px;color:#0f172a;font-family:inherit;transition:border-color .2s,box-shadow .2s}.cc-search__bar:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.cc-search__bar::placeholder{color:#94a3b8}.cc-search__results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:10px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #e2e8f0;z-index:100;max-height:320px;overflow-y:auto;padding:6px}.cc-search__item{padding:10px 14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .15s}.cc-search__item:hover{background:#eff6ff}.cc-search__item-info{display:flex;flex-direction:column}.cc-search__item-name{font-weight:600;color:#0f172a;font-size:13px}.cc-search__item-code{font-size:11px;color:#94a3b8}.cc-search__item-price{font-weight:700;color:#2563eb;font-size:13px}.cc-table{border-radius:10px;border:1px solid #e2e8f0;overflow:hidden}.cc-table__head{display:flex;align-items:center;padding:10px 16px;background:#f8fafc;border-bottom:2px solid #edeff2;gap:12px}.cc-table__th{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.cc-table__th--product{flex:1;min-width:0}.cc-table__th--price{width:100px;text-align:right}.cc-table__th--qty{width:60px;text-align:center}.cc-table__th--total{width:110px;text-align:right}.cc-table__th--action{width:36px}.cc-table__row{display:flex;align-items:center;padding:12px 16px;gap:12px;border-bottom:1px solid #edeff2;transition:background .15s}.cc-table__row:last-child{border-bottom:none}.cc-table__row:hover{background:#fbfcfe}.cc-table__cell--product{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cc-table__product-name{font-size:14px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-table__product-code{font-size:11px;color:#94a3b8}.cc-table__cell--price{width:100px;text-align:right;font-size:13px;color:#475569}.cc-table__cell--qty{width:60px}.cc-table__qty-input{width:100%;padding:6px 8px;border-radius:8px;border:1.5px solid #e2e8f0;font-size:13px;font-weight:600;text-align:center;background:#fdfdfd;font-family:inherit;transition:border-color .2s}.cc-table__qty-input:focus{outline:none;border-color:#2563eb}.cc-table__cell--total{width:110px;text-align:right;font-size:13px;font-weight:700;color:#0f172a}.cc-table__cell--action{width:36px;display:flex;justify-content:center}.cc-table__delete{width:28px;height:28px;border-radius:6px;border:none;background:#fee2e2;color:#ef4444;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .15s;padding:0}.cc-table__delete:hover{background:#ef4444;color:#fff}.cc-table__footer{display:flex;align-items:center;padding:10px 16px;gap:12px;background:#f8fafc;border-top:2px solid #edeff2}.cc-table__footer-label{flex:1;text-align:right;font-size:13px;font-weight:700;color:#64748b}.cc-table__footer-value{width:110px;text-align:right;font-size:15px;font-weight:800;color:#2563eb}.cc-table__footer-spacer{width:36px}.cc-table__empty{padding:48px 20px;text-align:center;color:#94a3b8}.cc-table__empty-icon{font-size:36px;margin-bottom:10px}.cc-table__empty-text{font-size:13px;font-weight:500}.cc-alert{display:flex;align-items:center;gap:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:13px;font-weight:500}.cc-img-card{padding:20px}.cc-img__label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:14px}.cc-img__box{width:100%;height:180px;border:2px dashed #e2e8f0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s;background:#f8fafc;overflow:hidden;position:relative}.cc-img__box:hover{border-color:#2563eb;background:#eff6ff}.cc-img__preview{width:100%;height:100%;object-fit:cover}.cc-img__icon{font-size:36px;color:#94a3b8}.cc-img__text{font-size:13px;font-weight:500;color:#94a3b8}.cc-img__hint{font-size:11px;color:#cbd5e1}.cc-price-card{padding:20px}.cc-price__title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 12px}.cc-price__divider{height:2px;background:#f1f5f9;margin-bottom:16px}.cc-price__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cc-price__label{font-size:13px;color:#64748b}.cc-price__retail-value{font-size:14px;color:#94a3b8;text-decoration:line-through}.cc-price__combo-field{margin-bottom:16px}.cc-price__combo-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.cc-price__combo-wrapper{position:relative;display:flex;align-items:center}.cc-price__combo-input{width:100%;padding:12px 40px 12px 14px;border-radius:10px;border:2px solid #2563eb;background:#fff;font-size:24px;font-weight:800;color:#0f172a;font-family:inherit;box-shadow:0 2px 8px #2563eb1a}.cc-price__combo-input:focus{outline:none;box-shadow:0 0 0 3px #2563eb1f}.cc-price__combo-currency{position:absolute;right:14px;font-size:18px;font-weight:700;color:#2563eb;pointer-events:none}.cc-price__separator{height:1px;background:#f1f5f9;margin-bottom:12px}.cc-price__save-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cc-price__save-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:#dcfce7;color:#166534;font-size:13px;font-weight:700}.cc-price__save-amount{font-size:15px;font-weight:700;color:#166534}.cc-btn-area{display:flex;flex-direction:column;gap:10px}.cc-btn-save{width:100%;padding:14px 20px;border-radius:12px;border:none;background:#2563eb;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;box-shadow:0 4px 12px -2px #2563eb4d}.cc-btn-save:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px -2px #2563eb59}.cc-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.cc-btn-cancel{width:100%;padding:12px 20px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.cc-btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.cc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:#64748b}.cc-spinner{width:36px;height:36px;border:3px solid #f1f5f9;border-top:3px solid #2563eb;border-radius:50%;animation:cc-spin .8s linear infinite}@keyframes cc-spin{to{transform:rotate(360deg)}}.cc-search__results::-webkit-scrollbar{width:5px}.cc-search__results::-webkit-scrollbar-track{background:#f1f5f9}.cc-search__results::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}@media(max-width:1200px){.cc-three-col{grid-template-columns:1fr 1fr}}@media(max-width:1024px){.cc-body{flex-direction:column}.cc-right{width:100%;position:static}}@media(max-width:640px){.create-combo-page{padding:8px}.cc-header{flex-wrap:wrap;padding:12px 16px;gap:8px}.cc-header__title{font-size:16px;width:100%}.cc-header__spacer{display:none}.cc-header__back{width:100%;justify-content:center;padding:10px 16px}.cc-card{padding:16px;border-radius:10px}.cc-card__title{font-size:15px}.cc-three-col{grid-template-columns:1fr;gap:12px}.cc-table__th--price,.cc-table__cell--price{display:none}.cc-table__head{padding:8px 12px}.cc-table__row{padding:10px 12px;gap:8px}.cc-table__product-name{font-size:13px}.cc-table__th--total,.cc-table__cell--total{width:90px}.cc-table__cell--total{font-size:12px}.cc-table__qty-input{font-size:12px;padding:5px 4px}.cc-table__th--qty,.cc-table__cell--qty{width:48px}.cc-table__th--action,.cc-table__cell--action{width:28px}.cc-table__footer{padding:8px 12px}.cc-table__footer-value{width:90px;font-size:14px}.cc-img-card,.cc-price-card{padding:16px}.cc-img__box{height:140px}.cc-price__combo-input{font-size:20px;padding:10px 36px 10px 12px}.cc-price__combo-currency{font-size:16px;right:12px}.cc-btn-area{position:sticky;bottom:0;background:#f8fafcf2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 -8px;padding:12px 8px;z-index:50}.cc-btn-save{padding:12px 16px;font-size:14px}.cc-btn-cancel{padding:10px 16px;font-size:13px}.cc-search__bar{font-size:13px;padding:10px 12px}}.crm-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f8fafc}.crm-content{display:flex;flex-direction:column;gap:20px;flex:1;padding:24px 28px 20px;min-height:0;overflow:hidden}.crm-header{display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0}.crm-header-left{display:flex;flex-direction:column;gap:4px}.crm-title{font-family:Inter,sans-serif;font-size:22px;font-weight:700;color:#18181b;letter-spacing:-.3px;margin:0}.crm-subtitle{font-family:Inter,sans-serif;font-size:13px;font-weight:400;color:#a1a1aa;margin:0}.crm-header-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}.crm-btn{font-family:Inter,sans-serif;font-size:13px;font-weight:500;padding:8px 14px;border-radius:8px;cursor:pointer;border:1px solid #E4E4E7;background:#fff;color:#18181b;transition:all .15s ease;white-space:nowrap}.crm-btn:hover{background:#f4f4f5}.crm-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.crm-btn-primary:hover{background:#1d4ed8}.crm-btn-warning{background:#fef3c7;color:#d97706;border-color:#f59e0b}.crm-btn-danger{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.crm-stats-row{display:flex;gap:14px;flex-shrink:0}.crm-stat-card{flex:1;display:flex;flex-direction:column;gap:6px;padding:14px 18px;background:#fff;border:1px solid #E4E4E7;border-radius:10px;transition:opacity .2s}.crm-stat-card.vip{border-color:#f59e0b}.crm-stat-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#a1a1aa}.crm-stat-card.vip .crm-stat-label{color:#f59e0b}.crm-stat-value{font-family:Inter,sans-serif;font-size:24px;font-weight:700;color:#18181b}.crm-stat-card.vip .crm-stat-value{color:#f59e0b}.crm-stat-card.revenue .crm-stat-value{color:#2563eb}.crm-tabs{display:flex;border-bottom:1px solid #E4E4E7;flex-shrink:0;overflow:visible}.crm-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;border:none;background:none;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:#71717a;white-space:nowrap;transition:all .15s ease;border-bottom:2px solid transparent;margin-bottom:-1px}.crm-tab:hover{color:#3f3f46}.crm-tab.active{color:#2563eb;font-weight:600;background:#eff6ff;border-bottom-color:#2563eb}.crm-tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:100px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;background:#f0f0f0;color:#71717a}.crm-tab.active .crm-tab-badge{background:#2563eb;color:#fff;font-weight:600}.crm-tab-badge.green{background:#dcfce7;color:#22c55e}.crm-tab-badge.red{background:#fee2e2;color:#ef4444}.crm-tab-badge.amber{background:#fef3c7;color:#f59e0b;font-weight:600}.crm-tab.active .crm-tab-badge.green,.crm-tab.active .crm-tab-badge.red,.crm-tab.active .crm-tab-badge.amber{background:#2563eb;color:#fff}.crm-table-card{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #E4E4E7;border-radius:10px;overflow:hidden;min-height:0}.crm-filters{display:flex;flex-direction:column;gap:10px;padding:16px 20px;border-bottom:1px solid #E4E4E7;flex-shrink:0}.crm-filters-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.crm-search{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #E2E8F0;border-radius:8px;background:#f8fafc;width:220px;box-sizing:border-box}.crm-search input{border:none;outline:none;font-family:Inter,sans-serif;font-size:13px;color:#0f172a;background:transparent;width:100%;box-sizing:border-box}.crm-search input::placeholder{color:#94a3b8}.crm-filter-divider{width:1px;height:28px;background:#e2e8f0;flex-shrink:0}.crm-filter-select{appearance:none;-webkit-appearance:none;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:#0f172a;padding:8px 30px 8px 12px;border:1px solid #E2E8F0;border-radius:8px;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 8px center;cursor:pointer;outline:none}.crm-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}input[type=date].crm-filter-select{background-image:none;padding-right:12px;width:140px}.crm-filter-spacer{flex:1}.crm-filter-count{padding:6px 14px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:13px;font-weight:500;white-space:nowrap}.crm-filter-date-label{font-size:12px;font-weight:500;color:#64748b;white-space:nowrap}.crm-filter-date-arrow{color:#94a3b8;font-size:14px}.crm-filter-reset{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;background:none;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#64748b;border-radius:6px;transition:all .15s ease}.crm-filter-reset:hover{background:#f1f5f9;color:#475569}.crm-table-scroll{flex:1;overflow-y:auto;min-height:0;position:relative}.crm-table-overlay{position:absolute;inset:0;background:#ffffffb3;z-index:10;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.crm-table-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.crm-table-overlay-text{font-size:13px;color:#64748b}.crm-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;table-layout:fixed}.crm-table thead{position:sticky;top:0;z-index:5}.crm-table thead tr{background:#fafafa;border-bottom:1px solid #E4E4E7}.crm-table th{padding:9px 8px;font-size:11px;font-weight:600;color:#a1a1aa;letter-spacing:.5px;text-transform:uppercase;text-align:left;white-space:nowrap}.crm-table tbody tr{border-bottom:1px solid #F4F4F5;transition:background .1s}.crm-table tbody tr:nth-child(2n){background:#fafafa}.crm-table tbody tr:hover{background:#f0f4ff}.crm-table td{padding:8px;font-size:13px;color:#18181b;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-col-chk{width:2.5%}.crm-col-alert{width:4.5%}.crm-table .crm-col-alert{text-align:center}.crm-col-name{width:14%}.crm-col-phone{width:9%}.crm-col-status{width:10%}.crm-col-nv{width:9%}.crm-col-source{width:7.5%}.crm-col-date{width:7%}.crm-col-orders{width:4%}.crm-table .crm-col-orders{text-align:center}.crm-col-note{width:25%}.crm-col-actions{width:7.5%}.crm-table .crm-col-actions{text-align:center}.crm-table .action-buttons{justify-content:center}.crm-name-link{font-weight:500;color:#2563eb;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.crm-name-link:hover{text-decoration:underline;text-decoration-style:solid}.crm-status-select{font-family:Inter,sans-serif;font-size:11px;font-weight:500;padding:3px 24px 3px 8px;border-radius:4px;cursor:pointer;border:none;outline:none;appearance:none;-webkit-appearance:none;max-width:100%;width:100%}.crm-action-btns{display:flex;align-items:center;gap:6px}.crm-action-btn{padding:4px 10px;border-radius:4px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;cursor:pointer;background:transparent;transition:all .15s;white-space:nowrap}.crm-action-btn.detail{border:1px solid #2563EB;color:#2563eb}.crm-action-btn.detail:hover{background:#eff6ff}.crm-action-btn.edit{border:1px solid #D4D4D8;color:#71717a}.crm-action-btn.edit:hover{background:#f4f4f5}.crm-action-btn.delete{border:1px solid #FCA5A5;color:#ef4444}.crm-action-btn.delete:hover{background:#fef2f2}.crm-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid #E4E4E7;flex-shrink:0}.crm-pagination-info{font-family:Inter,sans-serif;font-size:13px;color:#a1a1aa}.crm-pagination-btns{display:flex;align-items:center;gap:8px}.crm-page-btn{font-family:Inter,sans-serif;font-size:12px;font-weight:500;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid #E4E4E7;background:#fff;color:#a1a1aa;transition:all .15s}.crm-page-btn:hover:not(:disabled){background:#f4f4f5}.crm-page-btn:disabled{opacity:.5;cursor:not-allowed}.crm-page-btn.next{background:#2563eb;border-color:#2563eb;color:#fff}.crm-page-btn.next:hover:not(:disabled){background:#1d4ed8}.crm-page-btn.next:disabled{background:#93c5fd;border-color:#93c5fd}.crm-page-info{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#18181b;padding:5px 12px;border:1px solid #E4E4E7;border-radius:6px}.crm-empty-row td{text-align:center;padding:48px 20px!important}.crm-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px}.crm-empty-title{font-size:15px;font-weight:500;color:#475569;margin:4px 0 0}.crm-empty-hint{font-size:13px;color:#94a3b8}.crm-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a1a1aa}.crm-alert-icon{display:inline-flex;align-items:center;justify-content:center;cursor:help}.crm-alert-icon.amber{color:#f59e0b}.crm-alert-icon.red{color:#ef4444}.crm-alert-icon.green{color:#22c55e}.crm-text-secondary{font-size:12px;color:#a1a1aa}.crm-note-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#71717a}.crm-note-dash{color:#d4d4d8;font-size:12px}.crm-checkbox{width:14px;height:14px;border-radius:3px;cursor:pointer;accent-color:#2563EB}.crm-search-svg{flex-shrink:0;color:#a1a1aa}.crm-page .modal-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.crm-page .modal{background:#fff;border-radius:12px;width:560px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.crm-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E4E4E7}.crm-page .modal-title{font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#18181b;margin:0}.crm-page .modal-close{background:none;border:none;font-size:18px;color:#a1a1aa;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.crm-page .modal-close:hover{background:#f4f4f5;color:#18181b}.crm-page .modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.crm-page .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #E4E4E7}.crm-page .form-group{display:flex;flex-direction:column;gap:6px}.crm-page .form-label{font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:#3f3f46}.crm-page .input{font-family:Inter,sans-serif;font-size:13px;padding:8px 12px;border:1px solid #E4E4E7;border-radius:6px;outline:none;color:#18181b;transition:border-color .15s}.crm-page .input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.crm-page .btn{font-family:Inter,sans-serif;font-size:13px;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px}.crm-page .btn-secondary{background:#fff;color:#3f3f46;border:1px solid #E4E4E7}.crm-page .btn-secondary:hover{background:#f4f4f5}.crm-page .btn-primary{background:#2563eb;color:#fff;border:1px solid #2563EB}.crm-page .btn-primary:hover{background:#1d4ed8}.crm-page .btn:disabled{opacity:.5;cursor:not-allowed}.crm-page .alert-error{padding:12px 16px;background:#fef2f2;border:1px solid #FCA5A5;border-radius:8px;color:#dc2626;font-size:13px;flex-shrink:0}.crm-table tbody tr.crm-row-reclaim-warning{background:#fffbeb!important}.crm-table tbody tr.crm-row-reclaim-warning:hover{background:#fef3c7!important}.crm-table tbody tr.crm-row-reclaim-overdue{background:#fef2f2!important}.crm-table tbody tr.crm-row-reclaim-overdue:hover{background:#fee2e2!important}.cd-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cd-header-left{display:flex;align-items:center;gap:16px}.cd-header-right{display:flex;gap:8px;align-items:center}.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.cd-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;padding:20px}.cd-card-title{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e4e4e7;font-size:15px;font-weight:600;color:#18181b}.cd-info-grid{display:grid;gap:12px}.cd-info-label{font-size:12px;color:#71717a;margin-bottom:2px}.cd-info-value{font-size:14px;color:#18181b}.cd-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cd-stat-box{text-align:center;padding:16px;background:#f9fafb;border-radius:8px}.cd-stat-number{font-size:28px;font-weight:700;color:#2563eb}.cd-stat-number.green{color:#16a34a}.cd-stat-label{font-size:13px;color:#71717a;margin-top:4px}.cd-stat-meta{margin-top:12px;text-align:center}.cd-stat-meta-label{font-size:12px;color:#71717a}.cd-stat-meta-value{font-weight:500;font-size:14px;color:#18181b}.cd-tabs-header{display:flex;border-bottom:2px solid #e4e4e7;padding:0 16px;background:#fff}.cd-tab{padding:12px 20px;font-size:14px;font-weight:500;color:#71717a;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.cd-tab:hover{color:#2563eb}.cd-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.cd-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#e4e4e7;color:#52525b;border-radius:10px;font-size:12px;font-weight:600;margin-left:8px}.cd-tab.active .cd-tab-badge{background:#dbeafe;color:#2563eb}.cd-notes-container{padding:16px 20px}.cd-note-form{display:flex;gap:10px;margin-bottom:16px}.cd-note-input{flex:1;padding:10px 14px;border:1px solid #e4e4e7;border-radius:8px;font-size:13px;resize:none;outline:none;transition:border-color .2s;min-height:40px;font-family:inherit}.cd-note-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.cd-note-submit{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;align-self:flex-end;transition:background .2s}.cd-note-submit:hover:not(:disabled){background:#1d4ed8}.cd-note-submit:disabled{opacity:.5;cursor:not-allowed}.cd-notes-list{display:flex;flex-direction:column;gap:10px}.cd-note-item{display:flex;gap:12px;padding:12px 14px;background:#f9fafb;border-radius:8px;border:1px solid #f1f5f9}.cd-note-avatar{width:32px;height:32px;border-radius:50%;background:#dbeafe;color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.cd-note-body{flex:1;min-width:0}.cd-note-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cd-note-author{font-size:13px;font-weight:600;color:#18181b}.cd-note-time{font-size:12px;color:#a1a1aa}.cd-note-content{font-size:13px;color:#3f3f46;line-height:1.5;white-space:pre-wrap}.cd-note-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cd-note-type-badge.note{background:#eff6ff;color:#2563eb}.cd-note-type-badge.call{background:#f0fdf4;color:#16a34a}.cd-note-type-badge.status{background:#fef3c7;color:#d97706}.cd-note-type-badge.order{background:#faf5ff;color:#7c3aed}.cd-note-type-badge.default{background:#f4f4f5;color:#52525b}.cd-notes-empty{text-align:center;padding:40px 20px;color:#a1a1aa;font-size:14px}.cd-assigned-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:13px;font-weight:500}.cd-source-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#f0fdf4;color:#16a34a;border-radius:20px;font-size:12px;font-weight:500;border:1px solid #bbf7d0}.cd-group-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:500;border:1px solid #fde68a}.cd-group-discount{font-size:11px;font-weight:600;color:#dc2626}.cd-call-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;background:#f9fafb;border-radius:10px;border:1px solid #e4e4e7}.cd-call-form-row{display:flex;gap:12px;align-items:flex-end}.cd-call-duration-group{flex-shrink:0}.cd-call-duration-inputs{display:flex;align-items:center;gap:4px}.cd-duration-input{width:70px;padding:8px 10px;border:1px solid #e4e4e7;border-radius:6px;font-size:13px;text-align:center;outline:none;transition:border-color .2s}.cd-duration-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.cd-duration-sep{font-size:16px;font-weight:600;color:#71717a}.cd-call-recording-group{flex:1;min-width:0}.cd-recording-upload{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cd-recording-input{font-size:12px;color:#52525b;max-width:220px}.cd-recording-input::file-selector-button{padding:6px 12px;border:1px solid #e4e4e7;border-radius:6px;background:#fff;font-size:12px;color:#18181b;cursor:pointer;margin-right:8px;transition:all .15s}.cd-recording-input::file-selector-button:hover{background:#f4f4f5;border-color:#d4d4d8}.cd-recording-filename{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#eff6ff;color:#2563eb;border-radius:4px;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-recording-remove{background:none;border:none;color:#dc2626;font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.cd-note-avatar-call{background:#f0fdf4;color:#16a34a}.cd-call-duration-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0fdf4;color:#16a34a;border-radius:4px;font-size:12px;font-weight:600}.cd-recording-player{margin-top:8px}.cd-audio-player{width:100%;max-width:360px;height:36px;border-radius:6px}.cd-btn-create-order{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#16a34a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.cd-btn-create-order:hover{background:#15803d}@media(max-width:768px){.cd-grid{grid-template-columns:1fr}.cd-header{flex-direction:column;align-items:flex-start}.cd-stats-grid{grid-template-columns:1fr}.cd-tabs-header{padding:0 8px;overflow-x:auto}.cd-tab{padding:10px 14px;font-size:13px}.cd-note-form{flex-direction:column}.cd-note-submit{align-self:flex-end}.cd-call-form-row{flex-direction:column;align-items:stretch}.cd-call-recording-group{width:100%}}.suppliers-page{padding:20px;max-width:1400px;margin:0 auto}.suppliers-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.suppliers-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.suppliers-page .filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.suppliers-page .search-box input{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;width:280px;background:#fff;color:var(--color-text-primary)}.suppliers-page .filters-bar select{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:140px}.suppliers-page .filter-group{display:flex;flex-direction:column;gap:4px}.suppliers-page .filter-group label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.suppliers-page .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.suppliers-table{width:100%;border-collapse:collapse}.suppliers-table th,.suppliers-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.suppliers-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.suppliers-table tbody tr:hover{background:var(--color-bg-hover)}.suppliers-table .code-cell{font-family:monospace;font-weight:500;color:var(--color-primary)}.suppliers-table .supplier-name{font-weight:500}.suppliers-table .tax-id{font-size:.8rem;color:var(--color-text-muted)}.suppliers-table .email{font-size:.85rem;color:var(--color-text-secondary)}.suppliers-table .contact{font-size:.8rem;color:var(--color-text-muted)}.suppliers-table .currency{text-align:right;font-family:monospace}.suppliers-table .currency.over-limit{color:var(--color-danger);font-weight:600}.suppliers-table .warning-badge{display:inline-block;margin-left:4px;background:var(--color-danger);color:#fff;width:16px;height:16px;line-height:16px;border-radius:50%;text-align:center;font-size:.7rem;font-weight:700}.suppliers-table .status-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.suppliers-table .status-badge.active{background:var(--color-success-light, #d4edda);color:var(--color-success, #28a745)}.suppliers-table .status-badge.inactive{background:var(--color-warning-light, #fff3cd);color:var(--color-warning, #856404)}.suppliers-table .actions-cell{white-space:nowrap;text-align:center}.suppliers-table .actions-cell .action-buttons{justify-content:center}.suppliers-table .empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.suppliers-page .pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.suppliers-page .pagination button{padding:8px 16px;border:1px solid var(--color-border);border-radius:4px;background:#fff;cursor:pointer}.suppliers-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.suppliers-page .pagination span{color:var(--color-text-secondary)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-sm{padding:4px 8px;font-size:.8rem;border-radius:4px;border:none;cursor:pointer;margin-right:4px;display:inline-flex;align-items:center;gap:6px}.btn-sm.btn-edit{background:var(--color-warning-light, #fff3cd);color:var(--color-warning-dark, #856404)}.btn-sm.btn-delete{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.modal-content.supplier-modal{background:#fff;border-radius:8px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}.form-group textarea{resize:vertical}.form-section-title{grid-column:1 / -1;font-weight:600;color:var(--color-text-primary);margin-top:8px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}@media(max-width:768px){.suppliers-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.suppliers-page .filters-bar{flex-direction:column}.suppliers-page .search-box input{width:100%}.form-grid{grid-template-columns:1fr}}.invoices-page{padding:20px;max-width:1400px;margin:0 auto}.invoices-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.invoices-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.invoices-page .header-actions{display:flex;gap:12px}.invoices-page .filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.invoices-page .search-box input{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;width:250px;background:#fff;color:var(--color-text-primary)}.invoices-page .filters-bar select{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:140px}.invoices-page .filter-group{display:flex;flex-direction:column;gap:4px}.invoices-page .filter-group label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.invoices-page .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.invoices-table{width:100%;border-collapse:collapse}.invoices-table th,.invoices-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.invoices-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.invoices-table tbody tr:hover{background:var(--color-bg-hover)}.invoices-table .code-cell{font-family:monospace;font-weight:500;color:var(--color-primary)}.invoices-table .currency{text-align:right;font-family:monospace}.invoices-table .currency.paid{color:var(--color-success, #28a745)}.invoices-table .currency.remaining{color:var(--color-danger, #dc3545);font-weight:500}.invoices-table .status-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.invoices-table .status-badge.new{background:var(--color-info-light, #cce5ff);color:var(--color-info, #004085)}.invoices-table .status-badge.partial{background:var(--color-warning-light, #fff3cd);color:var(--color-warning-dark, #856404)}.invoices-table .status-badge.paid{background:var(--color-success-light, #d4edda);color:var(--color-success, #155724)}.invoices-table .status-badge.cancelled{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.invoices-table .actions-cell{white-space:nowrap}.invoices-table .empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.btn-sm.btn-pay{background:var(--color-success-light, #d4edda);color:var(--color-success, #155724)}.btn-sm.btn-cancel{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.invoice-summary{background:var(--color-bg-secondary);padding:16px;border-radius:8px;margin-bottom:20px}.invoice-summary p{margin:4px 0}.invoice-summary .highlight{color:var(--color-danger);font-weight:600}.modal-content.detail-modal{max-width:800px}.detail-content{padding:20px}.detail-section{margin-bottom:24px}.detail-section h3{font-size:1rem;color:var(--color-text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid>div{display:flex;gap:8px}.detail-grid label{color:var(--color-text-secondary);min-width:120px}.detail-grid .full-width{grid-column:1 / -1}.detail-grid .cancelled{color:var(--color-danger)}.payments-table{width:100%;border-collapse:collapse;font-size:.9rem}.payments-table th,.payments-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--color-border)}.payments-table th{background:var(--color-bg-secondary);font-weight:500}.no-data{color:var(--color-text-muted);text-align:center;padding:20px}.invoices-page .pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.invoices-page .pagination button{padding:8px 16px;border:1px solid var(--color-border);border-radius:4px;background:#fff;cursor:pointer}.invoices-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group.full-width{grid-column:1 / -1}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.2rem}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted)}.modal-content form{padding:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:.95rem}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border)}.btn-primary{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:8px}@media(max-width:768px){.invoices-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.invoices-page .filters-bar{flex-direction:column}.invoices-page .search-box input{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr}}.payments-page{padding:20px;max-width:1400px;margin:0 auto}.payments-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.payments-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.payments-page .pending-badge{background:var(--color-warning-light, #fff3cd);color:var(--color-warning-dark, #856404);padding:8px 16px;border-radius:20px;font-weight:500;font-size:.9rem}.payments-page .filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.payments-page .search-box input{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;width:220px;background:#fff;color:var(--color-text-primary)}.payments-page .filters-bar select{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:140px}.payments-page .filter-group{display:flex;flex-direction:column;gap:4px}.payments-page .filter-group label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.payments-page .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.payments-table{width:100%;border-collapse:collapse}.payments-table th,.payments-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.payments-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.payments-table tbody tr:hover{background:var(--color-bg-hover)}.payments-table tbody tr.pending-row{background:var(--color-warning-light, #fff3cd20)}.payments-table .code-cell{font-family:monospace;font-weight:500;color:var(--color-primary)}.payments-table .invoice-cell{display:flex;flex-direction:column;gap:2px}.payments-table .invoice-code{font-family:monospace;font-size:.85rem}.payments-table .invoice-number{font-size:.75rem;color:var(--color-text-muted)}.payments-table .currency{text-align:right;font-family:monospace;font-weight:500}.payments-table .ref-cell{font-family:monospace;font-size:.85rem;color:var(--color-text-secondary)}.payments-table .status-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.payments-table .status-badge.pending{background:var(--color-warning-light, #fff3cd);color:var(--color-warning-dark, #856404)}.payments-table .status-badge.approved{background:var(--color-success-light, #d4edda);color:var(--color-success, #155724)}.payments-table .status-badge.rejected{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.payments-table .status-badge.cancelled{background:var(--color-bg-secondary);color:var(--color-text-muted)}.payments-table .rejection-reason{display:block;font-size:.75rem;color:var(--color-danger);margin-top:2px;cursor:help}.payments-table .actions-cell{white-space:nowrap}.payments-table .no-action{color:var(--color-text-muted)}.payments-table .empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.btn-sm{padding:4px 8px;font-size:.8rem;border-radius:4px;border:none;cursor:pointer;margin-right:4px}.btn-sm.btn-approve{background:var(--color-success-light, #d4edda);color:var(--color-success, #155724)}.btn-sm.btn-reject{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24)}.btn-sm.btn-cancel{background:var(--color-warning-light, #fff3cd);color:var(--color-warning-dark, #856404)}.btn-sm:hover{opacity:.8}.payments-page .pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.payments-page .pagination button{padding:8px 16px;border:1px solid var(--color-border);border-radius:4px;background:#fff;cursor:pointer}.payments-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.payments-page .pagination span{color:var(--color-text-secondary)}@media(max-width:768px){.payments-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.payments-page .filters-bar{flex-direction:column}.payments-page .search-box input{width:100%}}.debt-report-page{padding:20px;max-width:1400px;margin:0 auto}.debt-report-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.debt-report-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.summary-card .card-label{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:8px}.summary-card .card-value{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.summary-card .card-sub{font-size:.8rem;color:var(--color-text-muted);margin-top:4px}.debt-report-page .summary-card.highlight{border-left:4px solid var(--color-primary);background:#fff}.debt-report-page .summary-card.highlight .card-label{color:var(--color-text-secondary)}.debt-report-page .summary-card.highlight .card-value{color:var(--color-primary)}.debt-report-page .summary-card.warning{border-left:4px solid var(--color-danger);background:#fff}.debt-report-page .summary-card.warning .card-value{color:var(--color-danger)}.debt-report-page .summary-card.info{border-left:4px solid var(--color-info, #17a2b8);background:#fff}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--color-border)}.tab{padding:12px 24px;background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--color-text-secondary);position:relative;bottom:-2px}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-primary);border-bottom:2px solid var(--color-primary);font-weight:500}.tab-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.table-container{overflow-x:auto}.debt-table,.aging-table{width:100%;border-collapse:collapse}.debt-table th,.debt-table td,.aging-table th,.aging-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.debt-table th,.aging-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.debt-table tbody tr:hover,.aging-table tbody tr:hover{background:var(--color-bg-hover)}.debt-table .over-limit-row{background:var(--color-danger-light, #f8d7da20)}.debt-table .code-cell{font-family:monospace;font-weight:500;color:var(--color-primary)}.debt-table .center{text-align:center}.currency{text-align:right;font-family:monospace}.currency.overdue{color:var(--color-danger);font-weight:500}.currency.warning{color:var(--color-warning-dark, #856404)}.currency.danger-light{color:#dc7a3c}.currency.danger{color:var(--color-danger);font-weight:500}.currency.total{font-weight:600}.empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.usage-bar-container{display:flex;align-items:center;gap:8px}.usage-bar{height:8px;background:var(--color-success, #28a745);border-radius:4px;min-width:4px;max-width:100px}.usage-bar.warning{background:var(--color-warning, #ffc107)}.usage-bar.danger{background:var(--color-danger, #dc3545)}.usage-text{font-size:.8rem;color:var(--color-text-secondary);min-width:40px}.aging-summary{padding:20px;border-bottom:1px solid var(--color-border)}.aging-bar{display:flex;height:32px;border-radius:4px;overflow:hidden;margin-bottom:16px}.aging-segment{transition:width .3s ease;cursor:help}.aging-segment.current{background:#28a745}.aging-segment.days1to30{background:#ffc107}.aging-segment.days31to60{background:#fd7e14}.aging-segment.over60{background:#dc3545}.aging-legend{display:flex;flex-wrap:wrap;gap:20px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.current{background:#28a745}.legend-color.days1to30{background:#ffc107}.legend-color.days31to60{background:#fd7e14}.legend-color.over60{background:#dc3545}.aging-table .supplier-code{font-family:monospace;font-size:.85rem;color:var(--color-primary);display:block}.aging-table .supplier-name{font-size:.9rem}.aging-table tfoot{background:var(--color-bg-secondary);font-weight:500}.btn-secondary{padding:8px 16px;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn-sm{padding:4px 8px;font-size:.8rem;border-radius:4px;border:none;cursor:pointer}.btn-sm.btn-view{background:var(--color-info-light, #cce5ff);color:var(--color-info, #004085)}.loading{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--color-text-muted)}.error-message{background:var(--color-danger-light, #f8d7da);color:var(--color-danger, #721c24);padding:12px;border-radius:4px;margin-bottom:16px}@media(max-width:768px){.summary-cards{grid-template-columns:1fr 1fr}.aging-legend{flex-direction:column;gap:8px}.tabs{overflow-x:auto}.tab{padding:12px 16px;white-space:nowrap}}.rv-page{padding:20px;max-width:1400px;margin:0 auto}.rv-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.rv-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.rv-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #00000014}.rv-filter-group{display:flex;flex-direction:column;gap:6px}.rv-filter-group label{font-size:13px;font-weight:600;color:#555}.rv-filter-group input,.rv-filter-group select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;color:var(--color-text-primary);background:#fff;transition:border-color .2s;outline:none}.rv-filter-group input:focus,.rv-filter-group select:focus{border-color:var(--color-primary, #2563eb)}.rv-filter-group input::placeholder{color:#aaa}.rv-scorecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.rv-scorecard{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.rv-scorecard .rv-label{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:8px}.rv-scorecard .rv-value{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.rv-scorecard.rv-highlight{border-left:4px solid var(--color-primary)}.rv-scorecard.rv-warning{border-left:4px solid #e67e22}.rv-scorecard.rv-danger{border-left:4px solid #e74c3c}.rv-scorecard.rv-success{border-left:4px solid #27ae60}.rv-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;margin-bottom:24px}.rv-section h2{font-size:1.1rem;color:var(--color-text-primary);margin:0 0 16px}.rv-aging-bar{display:flex;height:32px;border-radius:6px;overflow:hidden;margin-bottom:12px}.rv-aging-bar .rv-aging-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:500;min-width:2%;transition:width .3s ease}.rv-aging-segment.rv-current{background:#27ae60}.rv-aging-segment.rv-8to30{background:#f39c12}.rv-aging-segment.rv-31to60{background:#e67e22}.rv-aging-segment.rv-over60{background:#e74c3c}.rv-aging-legend{display:flex;gap:20px;flex-wrap:wrap}.rv-aging-legend-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-text-secondary)}.rv-aging-legend-item .rv-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rv-aging-legend-item .rv-legend-value{font-weight:600;color:var(--color-text-primary)}.rv-table-wrapper{overflow-x:auto}.rv-table{width:100%;border-collapse:collapse}.rv-table th{text-align:left;padding:10px 12px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border);white-space:nowrap}.rv-table td{padding:10px 12px;font-size:.9rem;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.rv-table tr:hover td{background:var(--color-bg-hover, #f8f9fa)}.rv-table .rv-amount{text-align:right;font-variant-numeric:tabular-nums}.rv-table .rv-text-muted{color:var(--color-text-secondary);font-size:.8rem}.rv-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.rv-badge.rv-overdue{background:#fde8e8;color:#e74c3c}.rv-badge.rv-normal{background:#e8f5e9;color:#27ae60}.rv-badge.rv-warning{background:#fff8e1;color:#e67e22}.rv-badge.rv-danger{background:#fef3e2;color:#d35400}.rv-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:16px}.rv-tab{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.rv-tab:hover{color:var(--color-primary)}.rv-tab.rv-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.rv-loading,.rv-error{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.rv-error{color:#e74c3c}.rv-empty{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:.9rem}.activity-log-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px}.page-description{color:#64748b;font-size:14px;margin:0}.tabs-container{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e2e8f0;padding-bottom:16px}.tab-btn{padding:10px 20px;border:none;background:#f1f5f9;color:#64748b;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#e2e8f0}.tab-btn.active{background:#4f46e5;color:#fff}.stats-section{margin-bottom:24px}.stats-section h3{font-size:14px;font-weight:600;color:#475569;margin:0 0 12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:16px}.stat-user{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-numbers{display:flex;gap:16px;margin-bottom:8px}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:700;color:#4f46e5}.stat-label{font-size:11px;color:#94a3b8}.stat-last{font-size:11px;color:#64748b;border-top:1px solid #e2e8f0;padding-top:8px;margin-top:4px}.filters-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:20px}.filters-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:500;color:#64748b}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;min-width:150px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.search-btn{padding:8px 20px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.search-btn:hover{background:#4338ca}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:#94a3b8;font-size:14px}.activity-table{width:100%;border-collapse:collapse}.activity-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.activity-table td{padding:12px 16px;font-size:14px;color:#334155;border-bottom:1px solid #f1f5f9}.activity-table tr:hover{background:#f8fafc}.col-time{white-space:nowrap;font-size:13px;color:#64748b}.col-user .user-info{display:flex;flex-direction:column}.col-user .user-name{font-weight:500;color:#1e293b}.col-user .user-username{font-size:12px;color:#94a3b8}.col-type .type-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;background:#e0e7ff;color:#4338ca}.type-badge.type-export_customers{background:#dcfce7;color:#166534}.type-badge.type-export_orders{background:#fef3c7;color:#92400e}.type-badge.type-export_products{background:#e0e7ff;color:#4338ca}.type-badge.type-export_suppliers{background:#fce7f3;color:#9d174d}.type-badge.type-login{background:#cffafe;color:#0e7490}.type-badge.type-logout{background:#f1f5f9;color:#475569}.type-badge.type-data_import{background:#d1fae5;color:#047857}.type-badge.type-data_delete{background:#fee2e2;color:#991b1b}.col-desc{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#64748b}.col-count{font-weight:600;color:#4f46e5}.activity-table .col-count{text-align:center}.col-file .file-info{display:flex;flex-direction:column}.col-file .file-name{font-size:12px;color:#334155;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-file .file-size{font-size:11px;color:#94a3b8}.activity-table .col-status{text-align:center}.col-status .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.status-success{background:#dcfce7;color:#166534}.status-badge.status-failed{background:#fee2e2;color:#991b1b}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px}.pagination button{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:#f1f5f9;border-color:#4f46e5}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:14px;color:#64748b}@media(max-width:768px){.filters-row{flex-direction:column}.filter-group,.filter-group select,.filter-group input{width:100%}.stats-grid{grid-template-columns:1fr}.activity-table{font-size:12px}.activity-table th,.activity-table td{padding:8px 10px}.col-desc,.col-file{display:none}}.payroll-v3{padding:32px!important;background:#fff!important;font-family:inherit!important;min-height:100vh;text-transform:none!important}.payroll-v3 *{text-transform:inherit!important}.payroll-v3 label,.payroll-v3 span,.payroll-v3 p,.payroll-v3 h1{text-transform:none!important}.payroll-v3 .v3-table thead th{text-transform:uppercase!important}.payroll-v3 .v3-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.payroll-v3 .v3-header-left{display:flex;align-items:center;gap:16px}.payroll-v3 .v3-title-block{display:flex;flex-direction:column;gap:4px}.payroll-v3 .v3-title{font-size:24px!important;font-weight:700!important;color:var(--color-text)!important;margin:0}.payroll-v3 .v3-subtitle{font-size:14px!important;color:var(--color-text-secondary)!important;margin:0}.payroll-v3 .v3-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:12px;background:#f0fdf4!important;font-size:12px;font-weight:600;color:#22c55e!important}.payroll-v3 .v3-header-actions{display:flex;align-items:center;gap:12px}.payroll-v3 .v3-btn-export{display:inline-flex!important;align-items:center;gap:6px;padding:8px 16px!important;border-radius:var(--radius-md)!important;background:var(--color-primary)!important;color:#fff!important;border:none!important;font-size:13px!important;font-weight:500!important;cursor:pointer;transition:var(--transition)}.payroll-v3 .v3-btn-export:hover{background:var(--color-primary-hover)!important}.payroll-v3 .v3-btn-secondary{padding:8px 16px!important;border-radius:var(--radius-md)!important;background:#fff!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;font-size:13px!important;font-weight:500!important;cursor:pointer}.payroll-v3 .v3-btn-secondary:hover{background:var(--color-bg-hover)!important}.payroll-v3 .v3-btn-primary{padding:8px 16px!important;border-radius:var(--radius-md)!important;background:var(--color-primary)!important;color:#fff!important;border:none!important;font-size:13px!important;font-weight:500!important;cursor:pointer}.payroll-v3 .v3-btn-primary:hover{background:var(--color-primary-hover)!important}.payroll-v3 .v3-filter-bar{display:flex;align-items:flex-end;gap:14px;padding:16px 20px!important;background:var(--color-bg-secondary)!important;border-radius:var(--radius-lg)!important;margin-bottom:24px;border:1px solid var(--color-border)!important}.payroll-v3 .v3-filter-group{display:flex;flex-direction:column;gap:6px}.payroll-v3 .v3-filter-group label{font-size:12px!important;font-weight:600!important;color:var(--color-text-muted)!important;text-transform:none!important}.payroll-v3 .v3-filter-group select{padding:10px 32px 10px 14px!important;background-color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;font-size:13px!important;font-weight:500!important;color:var(--color-text)!important;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.payroll-v3 .v3-filter-group select:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.payroll-v3 .v3-filter-year select{min-width:110px}.payroll-v3 .v3-filter-month select{min-width:130px}.payroll-v3 .v3-filter-branch select{min-width:260px}.payroll-v3 .v3-btn-filter{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:10px 20px!important;background:var(--color-primary)!important;color:#fff!important;border:none!important;border-radius:var(--radius-md)!important;font-size:13px!important;font-weight:500!important;cursor:pointer}.payroll-v3 .v3-btn-filter:hover{background:var(--color-primary-hover)!important}.payroll-v3 .v3-summary-cards{display:flex!important;gap:16px;margin-bottom:24px}.payroll-v3 .v3-card{flex:1;display:flex!important;flex-direction:column;align-items:center;gap:10px;padding:20px!important;border-radius:var(--radius-lg)!important;box-shadow:none!important}.payroll-v3 .v3-card .v3-card-label{font-size:13px!important;font-weight:500!important;text-transform:none!important}.payroll-v3 .v3-card .v3-card-value{font-size:22px!important;font-weight:700!important}.payroll-v3 .v3-card.v3-card-revenue{background:#f3f4f6!important;border:none!important}.payroll-v3 .v3-card.v3-card-revenue .v3-card-label{color:#9ca3af!important}.payroll-v3 .v3-card.v3-card-revenue .v3-card-value{color:#1a1a1a!important}.payroll-v3 .v3-card.v3-card-commission{background:#fef9c3!important;border:2px solid #fbbf24!important}.payroll-v3 .v3-card.v3-card-commission .v3-card-label,.payroll-v3 .v3-card.v3-card-commission .v3-card-value{color:#b45309!important}.payroll-v3 .v3-card.v3-card-net{background:#e8eaff!important;border:2px solid #818cf8!important}.payroll-v3 .v3-card.v3-card-net .v3-card-label,.payroll-v3 .v3-card.v3-card-net .v3-card-value{color:#4f46e5!important}.payroll-v3 .v3-card.v3-card-count{background:#dcfce7!important;border:2px solid #4ade80!important}.payroll-v3 .v3-card.v3-card-count .v3-card-label,.payroll-v3 .v3-card.v3-card-count .v3-card-value{color:#16a34a!important}.payroll-v3 .v3-table-wrapper{border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;overflow-x:auto}.payroll-v3 .v3-table{width:100%;min-width:1100px;border-collapse:collapse;table-layout:fixed}.payroll-v3 .v3-table thead th{background:var(--color-bg-secondary)!important;padding:10px 8px;height:48px;font-size:11px!important;font-weight:600!important;color:var(--color-text-muted)!important;letter-spacing:.5px;text-transform:uppercase!important;border:none!important;border-bottom:none!important;white-space:nowrap}.payroll-v3 .v3-table thead th:first-child{padding-left:16px}.payroll-v3 .v3-table thead th:last-child{padding-right:16px}.payroll-v3 .v3-table thead th.text-right{text-align:right}.payroll-v3 .v3-table thead th.text-center{text-align:center}.payroll-v3 .v3-table thead th.text-left{text-align:left}.payroll-v3 .v3-table tbody td{padding:8px;height:44px;font-size:13px!important;color:var(--color-text)!important;border-top:1px solid var(--color-border);border-bottom:none!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-v3 .v3-table tbody td:first-child{padding-left:16px}.payroll-v3 .v3-table tbody td:last-child{padding-right:16px}.payroll-v3 .v3-table tbody tr:nth-child(2n){background:#fff}.payroll-v3 .v3-table tbody tr:hover{background:#fafbfc!important}.payroll-v3 .v3-table td.text-right{text-align:right!important}.payroll-v3 .v3-table td.text-center{text-align:center!important}.payroll-v3 .v3-table .cell-code{color:var(--color-text-secondary)!important;font-weight:400!important}.payroll-v3 .v3-table .cell-name{color:var(--color-text)!important;font-weight:500!important}.payroll-v3 .v3-table .cell-zero{color:var(--color-text-muted)!important}.payroll-v3 .v3-table .cell-highlight{color:var(--color-primary)!important;font-weight:600!important}.payroll-v3 .v3-table .cell-muted{color:var(--color-text-secondary)!important}.payroll-v3 .v3-table .cell-net{color:var(--color-text)!important;font-weight:700!important}.payroll-v3 .v3-table tfoot td{padding:8px;height:44px;font-size:13px!important;font-weight:700!important;color:var(--color-text)!important;background:var(--color-bg-secondary)!important;border-top:2px solid var(--color-border)!important}.payroll-v3 .v3-table tfoot td:first-child{padding-left:16px}.payroll-v3 .v3-table tfoot td:last-child{padding-right:16px}.v3-modal-overlay{position:fixed;inset:0;background:#0006!important;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.v3-modal-content{background:#fff!important;border-radius:var(--radius-lg)!important;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.v3-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.v3-modal-header h3{font-size:18px!important;font-weight:700!important;color:var(--color-text)!important;margin:0;text-transform:none!important}.v3-modal-close{background:#f6f7f8!important;border:none!important;width:32px;height:32px;border-radius:10px!important;font-size:18px;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center}.v3-modal-close:hover{background:#e5e7eb!important;color:#6b7280}.v3-modal-body{padding:24px}.v3-form-group{margin-bottom:16px}.v3-form-group label{display:block;font-size:13px!important;font-weight:600!important;color:var(--color-text-secondary)!important;margin-bottom:6px;text-transform:none!important}.v3-form-group input{width:100%;padding:10px 14px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;background:#fff!important;font-size:14px!important;color:var(--color-text)!important;box-sizing:border-box}.v3-form-group input:focus{outline:2px solid var(--color-primary)!important;outline-offset:-2px;box-shadow:none!important}.v3-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--color-border)}.v3-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;gap:16px}.v3-spinner{width:40px;height:40px;border:3px solid #f6f7f8!important;border-top-color:var(--color-primary)!important;border-radius:50%;animation:v3-spin .8s ease-in-out infinite}@keyframes v3-spin{to{transform:rotate(360deg)}}.v3-empty-state{text-align:center;color:#9ca3af!important;padding:40px 16px!important;font-size:14px}@media(max-width:1200px){.payroll-v3 .v3-table-wrapper{overflow-x:auto}.payroll-v3 .v3-table{min-width:1000px}}@media(max-width:768px){.payroll-v3{padding:16px!important}.payroll-v3 .v3-header{flex-direction:column;gap:16px;align-items:flex-start}.payroll-v3 .v3-summary-cards{flex-direction:column}.payroll-v3 .v3-filter-bar{flex-wrap:wrap}}@media print{.payroll-v3 .v3-filter-bar,.payroll-v3 .v3-header-actions,.payroll-v3 .v3-btn-export,.payroll-v3 .v3-btn-filter,.v3-modal-overlay{display:none!important}.payroll-v3{padding:0!important}.payroll-v3 .v3-table thead th{background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.payroll-v3 .v3-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.my-payroll-page{padding:24px;max-width:900px}.my-payroll-page h2{margin:0 0 20px;font-size:22px;font-weight:600;color:#1e293b}.my-payroll-filter{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.my-payroll-filter select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.my-payroll-filter select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.my-payroll-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}.my-payroll-summary-card{background:#fff;border-radius:10px;padding:18px 20px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.my-payroll-summary-card .label{font-size:13px;color:#64748b;margin-bottom:6px}.my-payroll-summary-card .value{font-size:22px;font-weight:700;color:#1e293b}.my-payroll-summary-card.highlight{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:transparent}.my-payroll-summary-card.highlight .label{color:#fffc}.my-payroll-summary-card.highlight .value{color:#fff}.my-payroll-payslip{background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a;overflow:hidden}.payslip-header{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.payslip-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.payslip-employee-info{display:flex;gap:12px;font-size:14px;color:#475569}.payslip-employee-info .employee-code{font-family:monospace;background:#e2e8f0;padding:2px 8px;border-radius:4px;font-size:13px}.payslip-employee-info .employee-name{font-weight:500}.payslip-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.payslip-body{padding:0}.payslip-section{padding:16px 20px;border-bottom:1px solid #f1f5f9}.payslip-section:last-child{border-bottom:none}.payslip-section-title{font-size:13px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.payslip-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0}.payslip-row .row-label{color:#475569;font-size:14px;display:flex;align-items:center;gap:6px}.payslip-row .row-value{font-size:14px;font-weight:500;color:#1e293b;text-align:right}.payslip-row .row-note{font-size:12px;color:#94a3b8;margin-top:2px;font-style:italic}.payslip-row.total{padding:10px 0;margin-top:4px;border-top:1px dashed #e2e8f0}.payslip-row.total .row-label{font-weight:600;color:#1e293b}.payslip-row.total .row-value{font-weight:700;font-size:16px}.payslip-row.net-salary{padding:14px 0;margin-top:4px;border-top:2px solid #e2e8f0}.payslip-row.net-salary .row-label{font-weight:700;font-size:16px;color:#1e293b}.payslip-row.net-salary .row-value{font-weight:800;font-size:20px;color:#2563eb}.payslip-row .row-value.income{color:#16a34a}.payslip-row .row-value.deduction{color:#dc2626}.orders-link{color:#3b82f6;font-size:13px;cursor:pointer;border:none;background:none;padding:0;text-decoration:underline;font-family:inherit}.orders-link:hover{color:#2563eb}.my-payroll-empty{text-align:center;padding:60px 20px;color:#94a3b8}.my-payroll-empty .empty-icon{font-size:48px;margin-bottom:16px}.my-payroll-empty p{font-size:15px;margin:0}.my-payroll-loading{text-align:center;padding:60px 20px;color:#94a3b8;font-size:15px}.orders-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.orders-modal{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.orders-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.orders-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.orders-modal-close{background:none;border:none;font-size:22px;color:#94a3b8;cursor:pointer;padding:4px;line-height:1}.orders-modal-close:hover{color:#475569}.orders-modal-body{overflow-y:auto;padding:16px 20px;flex:1}.orders-modal-summary{display:flex;gap:20px;padding:12px 16px;background:#f8fafc;border-radius:8px;margin-bottom:16px;font-size:14px;color:#475569}.orders-modal-summary strong{color:#1e293b}.orders-table{width:100%;border-collapse:collapse;font-size:14px}.orders-table th{text-align:left;padding:10px 12px;background:#f8fafc;color:#64748b;font-weight:600;font-size:13px;border-bottom:1px solid #e2e8f0}.orders-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.orders-table tr:last-child td{border-bottom:none}.orders-table .text-right{text-align:right}.orders-table .product-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orders-loading{text-align:center;padding:40px;color:#94a3b8}.order-stats{display:flex;gap:16px;font-size:13px;color:#64748b}.order-stats span{display:flex;align-items:center;gap:4px}.order-stat-success{color:#16a34a}.order-stat-failed{color:#dc2626}.payslip-print-btn{padding:4px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;color:#475569}.payslip-print-btn:hover{background:#f1f5f9}@media print{.my-payroll-page>h2,.my-payroll-filter,.my-payroll-summary,.my-payroll-empty,.my-payroll-loading,.orders-modal-overlay{display:none!important}.my-payroll-page{padding:0!important;margin:0!important;max-width:100%!important}.my-payroll-payslip{border:none!important;box-shadow:none!important;border-radius:0!important;width:100%!important}.payslip-header{background:#fff!important;border-bottom:2px solid #000!important;padding:20px 0 12px!important}.payslip-header h3{font-size:18px!important;color:#000!important}.payslip-print-btn,.payslip-status,.orders-link{display:none!important}.payslip-body{padding:0!important}.payslip-section{padding:12px 0!important;border-bottom-color:#ccc!important}.payslip-section-title,.payslip-row .row-label,.payslip-row .row-value{color:#000!important}.payslip-row.net-salary .row-value{color:#000!important;font-size:18px!important}.payslip-row.net-salary{border-top:2px solid #000!important}}.cc-page{padding:24px}.cc-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color, #e5e7eb);margin-bottom:20px}.cc-tab{padding:10px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.cc-tab:hover{color:var(--text-primary, #1f2937)}.cc-tab.active{color:var(--primary-color, #2563eb);border-bottom-color:var(--primary-color, #2563eb)}.cc-tab-content{min-height:300px}.cc-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.cc-filters{display:flex;align-items:center;gap:8px}.cc-filters label{font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280)}.cc-filters select{padding:6px 10px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:13px}.cc-toolbar-actions{display:flex;align-items:center;gap:8px}.cc-product-count{font-size:13px;color:var(--text-secondary, #6b7280)}.cc-search-input{padding:6px 10px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:13px;width:220px}.cc-search-input:focus{border-color:var(--primary-color, #2563eb);outline:none;box-shadow:0 0 0 2px #2563eb1a}.cc-filter-select{padding:6px 10px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:13px;min-width:150px}.cc-table-container{overflow-x:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:8px}.cc-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.cc-table thead{background:var(--bg-secondary, #f9fafb)}.cc-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #6b7280);border-bottom:1px solid var(--border-color, #e5e7eb);white-space:nowrap}.cc-table td{padding:8px 12px;border-bottom:1px solid var(--border-color, #f3f4f6);vertical-align:middle}.cc-table tbody tr:hover{background:var(--bg-hover, #f9fafb)}.cc-rate{font-weight:600;color:var(--primary-color, #2563eb)}.cc-code{font-family:monospace;font-size:12px;color:var(--text-secondary, #6b7280)}.cc-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.cc-status.active{background:#dcfce7;color:#16a34a}.cc-status.inactive{background:#fee2e2;color:#dc2626}.cc-row-modified{background:#fffbeb!important}.cc-row-modified:hover{background:#fef3c7!important}.cc-actions{display:flex;gap:4px}.cc-empty{text-align:center;padding:32px 12px!important;color:var(--text-secondary, #9ca3af)}.cc-loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-secondary, #6b7280)}.cc-product-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;border:1px solid var(--border-color, #e5e7eb)}.cc-product-thumb-placeholder{width:40px;height:40px;border-radius:6px;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #e5e7eb)}.cc-rate-input{width:90px}.cc-input-number{width:130px;padding:4px 8px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:13px;text-align:right}.cc-input-number:focus{border-color:var(--primary-color, #2563eb);outline:none;box-shadow:0 0 0 2px #2563eb1a}.cc-input-text{width:160px;padding:4px 8px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:13px}.cc-input-text:focus{border-color:var(--primary-color, #2563eb);outline:none;box-shadow:0 0 0 2px #2563eb1a}.cc-bonus-type-select{padding:4px 8px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:13px;background:#fff;min-width:95px}.cc-bonus-type-select:focus{border-color:var(--primary-color, #2563eb);outline:none;box-shadow:0 0 0 2px #2563eb1a}.cc-bonus-value-group{display:flex;align-items:center}.cc-percent-input-wrapper{display:flex;align-items:center;gap:4px}.cc-percent-suffix{font-size:13px;font-weight:600;color:var(--primary-color, #2563eb)}.cc-summary{margin-top:16px;padding:12px 16px;background:var(--bg-secondary, #f0f9ff);border-radius:8px;font-size:13px;color:var(--text-secondary, #374151)}.cc-pagination-ellipsis{display:inline-flex;align-items:center;padding:0 4px;font-size:13px;color:var(--text-secondary, #9ca3af)}.btn-icon{background:none;border:none;cursor:pointer;font-size:14px;padding:4px;border-radius:4px;transition:background .15s;color:var(--text-secondary, #6b7280)}.btn-icon:hover{background:var(--bg-secondary, #f3f4f6)}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover{background:#fee2e2}.cc-no-spinner::-webkit-outer-spin-button,.cc-no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cc-no-spinner{-moz-appearance:textfield}.cc-date-range{display:flex;align-items:center;gap:2px}.cc-date-input{width:100%;min-width:0;padding:3px 4px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:12px;color:var(--text-primary, #1f2937)}.cc-date-input:focus{border-color:var(--primary-color, #2563eb);outline:none}.cc-date-sep{color:var(--text-secondary, #9ca3af);font-size:12px;flex-shrink:0}.cc-type-select{padding:4px 6px;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:13px;background:#fff;width:100%;cursor:pointer}.cc-type-select:focus{border-color:var(--primary-color, #2563eb);outline:none;box-shadow:0 0 0 2px #2563eb1a}.cc-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-table td:nth-child(3){white-space:normal;word-break:break-word}.tp-page{padding:32px;background-color:var(--bg-color);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary)}.tp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:var(--surface-color);padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.tp-header h2{font-size:24px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.025em;background:linear-gradient(135deg,#6366f1,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tp-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tp-metric-group{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px}.tp-metric-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;background:transparent;color:var(--text-secondary);transition:all .2s}.tp-metric-btn.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0000001a;font-weight:600}.tp-section{background:var(--surface-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);margin-bottom:24px;border:1px solid rgba(255,255,255,.5)}.tp-section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:24px;display:flex;align-items:center;gap:10px}.tp-table-wrap{overflow-x:auto}.tp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.tp-table th{background-color:#f1f5f9;color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.05em;padding:14px 20px;border-bottom:1px solid var(--border-color);white-space:nowrap}.tp-table td{padding:14px 20px;border-bottom:1px solid var(--border-color);color:var(--text-primary);background-color:#fff;transition:background-color .1s}.tp-table tr:last-child td{border-bottom:none}.tp-table tr:hover td{background-color:#f8fafc}.tp-table .rank-cell{text-align:center;width:50px;font-weight:700}.tp-table .rank-cell.top-rank{color:#f59e0b}.tp-table .numeric-cell{text-align:right;white-space:nowrap}.tp-team-name{color:#6366f1;cursor:pointer;font-weight:600;transition:color .2s}.tp-team-name:hover{color:#4f46e5;text-decoration:underline}.tp-leader-info{display:flex;align-items:center;gap:8px}.tp-leader-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.tp-empty{text-align:center;padding:40px;color:var(--text-secondary)}.tp-controls .filter-select:disabled{background-color:#f1f5f9;color:#64748b;cursor:not-allowed;opacity:.8}.tp-loading{display:flex;justify-content:center;padding:60px}.td-page{padding:32px;background-color:var(--bg-color);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary)}.td-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:var(--surface-color);padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.td-header-left{display:flex;align-items:center;gap:16px}.td-back-btn{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-weight:500;transition:all .2s;background:transparent;border:none;cursor:pointer;padding:8px 12px;border-radius:8px;font-size:14px}.td-back-btn:hover{color:#4f46e5;background-color:#eef2ff}.td-header h2{font-size:22px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.025em;background:linear-gradient(135deg,#6366f1,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.td-leader-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#e0e7ff;color:#4f46e5;border-radius:8px;font-size:13px;font-weight:600}.td-leader-tag img{width:24px;height:24px;border-radius:50%;object-fit:cover}.td-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}@media(max-width:900px){.td-scorecards{grid-template-columns:repeat(2,1fr)}}.td-scorecard{background:var(--surface-color);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:relative;overflow:hidden}.td-scorecard:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px}.td-scorecard:nth-child(1):before{background:linear-gradient(90deg,#6366f1,#818cf8)}.td-scorecard:nth-child(2):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.td-scorecard:nth-child(3):before{background:linear-gradient(90deg,#10b981,#34d399)}.td-scorecard:nth-child(4):before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.td-scorecard-label{font-size:13px;color:var(--text-secondary);font-weight:500;margin-bottom:8px}.td-scorecard-value{font-size:28px;font-weight:800;color:var(--text-primary);line-height:1.2}.td-section{background:var(--surface-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);margin-bottom:24px;border:1px solid rgba(255,255,255,.5)}.td-section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:24px;display:flex;align-items:center;gap:10px}.td-table-wrap{overflow-x:auto}.td-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.td-table th{background-color:#f1f5f9;color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.05em;padding:14px 20px;border-bottom:1px solid var(--border-color);white-space:nowrap}.td-table td{padding:14px 20px;border-bottom:1px solid var(--border-color);color:var(--text-primary);background-color:#fff;transition:background-color .1s}.td-table tr:last-child td{border-bottom:none}.td-table tr:hover td{background-color:#f8fafc}.td-table .numeric-cell{text-align:right;white-space:nowrap}.td-member-cell{display:flex;align-items:center;gap:10px}.td-member-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.td-member-name{color:#6366f1;cursor:pointer;font-weight:600;transition:color .2s}.td-member-name:hover{color:#4f46e5;text-decoration:underline}.td-empty{text-align:center;padding:40px;color:var(--text-secondary)}.td-loading{display:flex;justify-content:center;padding:60px}.extensions-page{padding:20px;max-width:1400px;margin:0 auto}.extensions-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.extensions-page .page-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0}.extensions-page .header-actions{display:flex;gap:8px;align-items:center}.extensions-page .btn-outline{padding:8px 16px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.extensions-page .btn-outline:hover{background:var(--color-primary);color:#fff}.extensions-page .sync-date{font-size:.85rem;color:var(--color-text-secondary);white-space:nowrap}.extensions-page .tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:20px}.extensions-page .tab-btn{padding:10px 20px;border:none;background:transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.extensions-page .tab-btn:hover{color:var(--color-primary)}.extensions-page .tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.extensions-page .stats-bar{display:flex;gap:16px;margin-bottom:20px}.extensions-page .stat-card{background:#fff;border-radius:8px;padding:16px 24px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:12px;min-width:140px}.extensions-page .stat-card .stat-label{font-size:.8rem;color:var(--color-text-secondary)}.extensions-page .stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.extensions-page .stat-card.total .stat-value{color:var(--color-primary)}.extensions-page .stat-card.in-use .stat-value{color:var(--color-success, #28a745)}.extensions-page .stat-card.available .stat-value{color:var(--color-info, #17a2b8)}.extensions-page .filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.extensions-page .search-box input{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;width:280px;background:#fff;color:var(--color-text-primary)}.extensions-page .filters-bar select{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:140px}.extensions-page .filter-group{display:flex;flex-direction:column;gap:4px}.extensions-page .filter-group label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.extensions-page .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.extensions-table{width:100%;border-collapse:collapse}.extensions-table th,.extensions-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.extensions-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.extensions-table tbody tr:hover{background:var(--color-bg-hover)}.extensions-table .ext-number{font-family:monospace;font-weight:600;color:var(--color-primary);font-size:1rem}.extensions-table .status-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;display:inline-block}.extensions-table .status-badge.online{background:var(--color-success-light, #d4edda);color:var(--color-success, #28a745)}.extensions-table .status-badge.offline{background:var(--color-bg-secondary, #f0f0f0);color:var(--color-text-muted, #999)}.extensions-table .assigned-user{display:flex;align-items:center;gap:6px}.extensions-table .assigned-user .user-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success, #28a745);display:inline-block}.extensions-table .unassigned{color:var(--color-text-muted);font-style:italic}.extensions-table .actions-cell{white-space:nowrap}.extensions-table .empty-row{text-align:center;padding:40px;color:var(--color-text-muted)}.assignment-table{width:100%;border-collapse:collapse}.assignment-table th,.assignment-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.assignment-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase}.assignment-table tbody tr:hover{background:var(--color-bg-hover)}.assignment-table select{padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:#fff;min-width:160px}.assignment-table .current-ext{font-family:monospace;font-weight:500;color:var(--color-primary)}.conflict-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100}.conflict-dialog{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:480px;box-shadow:0 8px 32px #0003}.conflict-dialog h3{margin:0 0 12px;color:var(--color-warning, #e67e22)}.conflict-dialog .conflict-info{background:var(--color-warning-light, #fff3cd);padding:12px;border-radius:6px;margin-bottom:16px;font-size:.9rem;line-height:1.5}.conflict-dialog .conflict-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.conflict-dialog .conflict-option{padding:12px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.conflict-dialog .conflict-option:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.conflict-dialog .conflict-option .option-title{font-weight:600;margin-bottom:4px}.conflict-dialog .conflict-option .option-desc{font-size:.85rem;color:var(--color-text-secondary)}.conflict-dialog .conflict-actions{display:flex;justify-content:flex-end}.modal-content.extension-modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}@media(max-width:768px){.extensions-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.extensions-page .stats-bar,.extensions-page .filters-bar{flex-direction:column}.extensions-page .search-box input{width:100%}}:root{--primary-color: #0077b6;--bg-color: #f8fafc;--text-primary: #0f172a;--text-secondary: #64748b}html,body{margin:0;padding:0;width:100%;height:100%;background-color:var(--bg-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased}#root{width:100%;min-height:100vh;margin:0;padding:0;text-align:left;display:flex;flex-direction:column}.app-loading-screen{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(135deg,#003973,#006088);color:#fff;position:fixed;top:0;left:0;z-index:9999}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.dashboard-container{padding:20px}.dashboard-welcome-card{background:linear-gradient(to right,#0077b6,#0096c7);border-radius:12px;padding:24px;color:#fff;margin-bottom:16px;box-shadow:0 10px 20px #0077b633}.dashboard-title{font-size:28px;font-weight:700;margin:0 0 10px}.dashboard-desc{font-size:16px;opacity:.9;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.stat-card{background:#fff;padding:16px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 6px #0000000d;transition:transform .2s;display:flex;align-items:center;gap:16px}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-info h3{font-size:14px;color:var(--text-secondary);margin:0 0 4px;font-weight:600}.stat-info p{font-size:24px;color:var(--text-primary);margin:0;font-weight:700}.filter-chip{color:#0f172a}@media(max-width:1024px){.dashboard-container{padding:20px}.dashboard-welcome-card{padding:30px}.dashboard-title{font-size:24px}.dashboard-desc{font-size:15px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px){.dashboard-container{padding:16px}.dashboard-welcome-card{padding:24px 20px;border-radius:12px}.dashboard-title{font-size:20px;margin-bottom:8px}.dashboard-desc{font-size:14px}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px;border-radius:12px}.stat-icon{width:44px;height:44px;font-size:22px}.stat-info h3{font-size:13px}.stat-info p{font-size:20px}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-success: #16a34a;--color-success-light: #f0fdf4;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-hover: #f1f5f9;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--sidebar-width: 230px;--sidebar-collapsed-width: 60px;--header-height: 48px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg-secondary);color:var(--color-text);font-size:14px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:var(--transition)}input,textarea,select{font-family:inherit;outline:none;transition:var(--transition);background-color:#fff;color:var(--color-text)}a{text-decoration:none;color:inherit}ul,ol{list-style:none}.btn{padding:5px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:8px;transition:var(--transition)}.btn-primary,.btn-secondary,.btn-danger,.btn-warning,.btn-success{display:inline-flex;align-items:center;gap:8px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:disabled{background-color:#94a3b8;color:#e2e8f0;cursor:not-allowed;opacity:.6}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:#d1d5db}.btn-warning{background:var(--color-warning);color:#fff}.btn-warning:hover{background:#c2410c}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:10px 20px;font-size:15px}.input{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);width:100%}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.input::placeholder{color:var(--color-text-muted)}.card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);width:100%}.table{width:100%;min-width:100%;border-collapse:collapse;background:var(--color-bg);table-layout:auto}.table thead{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.table th{padding:6px 8px;text-align:left;font-weight:600;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.table td{padding:6px 8px;border-bottom:1px solid var(--color-border-light)}.table tbody tr:hover{background:var(--color-bg-secondary)}.badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:nowrap}.btn-act{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;background:transparent}.btn-act:disabled{opacity:.35;cursor:not-allowed}.btn-act-edit{color:#f59e0b}.btn-act-edit:hover:not(:disabled){background:#fffbeb;color:#d97706}.btn-act-delete{color:#ef4444}.btn-act-delete:hover:not(:disabled){background:#fef2f2;color:#dc2626}.btn-act-view{color:#6366f1}.btn-act-view:hover:not(:disabled){background:#eef2ff;color:#4f46e5}.btn-act-key{color:#2563eb}.btn-act-key:hover:not(:disabled){background:#eff6ff;color:#1d4ed8}.btn-act-approve{color:#22c55e}.btn-act-approve:hover:not(:disabled){background:#f0fdf4;color:#16a34a}.btn-act-assign{color:#0ea5e9}.btn-act-assign:hover:not(:disabled){background:#f0f9ff;color:#0284c7}.btn-act-reopen{color:#8b5cf6}.btn-act-reopen:hover:not(:disabled){background:#f5f3ff;color:#7c3aed}.btn-act-info{color:#0284c7}.btn-act-info:hover:not(:disabled){background:#f0f9ff;color:#0369a1}.btn-act-warning{color:#f59e0b}.btn-act-warning:hover:not(:disabled){background:#fffbeb;color:#d97706}.btn-act-share{color:#14b8a6}.btn-act-share:hover:not(:disabled){background:#f0fdfa;color:#0d9488}@media(max-width:1024px){:root{--sidebar-width: 210px}}@media print{html,body,#root{height:auto!important;overflow:visible!important}body{background-color:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:768px){:root{--sidebar-width: 0px;--sidebar-collapsed-width: 0px;--header-height: 56px}body{font-size:13px}.btn{padding:7px 14px;font-size:13px}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:9px 18px;font-size:14px}.input{padding:7px 11px;font-size:13px}.table th,.table td{padding:8px;font-size:12px}.card{border-radius:var(--radius-md)}}
