html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*{box-sizing:border-box;margin:0;padding:0}:root{--theme-primary:#2563eb;--theme-primary-hover:#1d4ed8;--theme-primary-active:#1e40af;--theme-sidebar:#0f172a;--theme-sidebar-hover:#1e293b;--theme-bg:#f8fafc;--theme-card:#fff;--theme-border:#e2e8f0;--theme-border-hover:#cbd5e1;--theme-text-primary:#0f172a;--theme-text-muted:#475569;--theme-primary-soft:#eff6ff;--theme-on-primary:#fff;--theme-success:#10b981;--theme-warning:#f59e0b;--theme-danger:#ef4444;--theme-info:#3b82f6;--theme-success-bg:#f0fdf4;--theme-success-text:#166534;--theme-danger-bg:#fef2f2;--theme-danger-text:#991b1b;--theme-warning-bg:#fefce8;--theme-warning-text:#854d0e;--theme-info-bg:#eff6ff;--theme-info-text:#1e40af;--theme-code-text:#dc2626;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d}body{background:var(--theme-bg);color:var(--theme-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn,.base-modal__btn,.cap-tk-modal__btn,.confirm-dialog__btn{font:inherit;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:500;line-height:1.4;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled,.base-modal__btn:disabled,.cap-tk-modal__btn:disabled,.confirm-dialog__btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary,.base-modal__btn--primary,.cap-tk-modal__btn--primary,.confirm-dialog__btn--primary{background:var(--theme-primary);border-color:var(--theme-primary);color:var(--theme-on-primary)}.btn--primary:hover:not(:disabled),.base-modal__btn--primary:hover:not(:disabled),.cap-tk-modal__btn--primary:hover:not(:disabled),.confirm-dialog__btn--primary:hover:not(:disabled){background:var(--theme-primary-hover);border-color:var(--theme-primary-hover);color:var(--theme-on-primary)}.btn--primary:active:not(:disabled),.base-modal__btn--primary:active:not(:disabled),.cap-tk-modal__btn--primary:active:not(:disabled),.confirm-dialog__btn--primary:active:not(:disabled){background:var(--theme-primary-active);border-color:var(--theme-primary-active)}.btn--ghost,.btn--secondary,.base-modal__btn--ghost,.cap-tk-modal__btn--ghost,.confirm-dialog__btn--ghost{background:var(--theme-card);border-color:var(--theme-border);color:var(--theme-text-primary)}.btn--ghost:hover:not(:disabled),.btn--secondary:hover:not(:disabled),.base-modal__btn--ghost:hover:not(:disabled),.cap-tk-modal__btn--ghost:hover:not(:disabled),.confirm-dialog__btn--ghost:hover:not(:disabled){background:var(--theme-bg);border-color:var(--theme-border-hover);color:var(--theme-text-primary)}.btn--outline{border-color:var(--theme-border);color:var(--theme-text-primary);background:0 0}.btn--outline:hover:not(:disabled){background:var(--theme-primary-soft);border-color:var(--theme-primary);color:var(--theme-primary)}.btn--danger,.confirm-dialog__btn--danger{background:var(--theme-danger);border-color:var(--theme-danger);color:#fff}.btn--danger:hover:not(:disabled),.confirm-dialog__btn--danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn--sm{border-radius:4px;padding:5px 10px;font-size:.76rem}.btn--lg{border-radius:8px;padding:10px 20px;font-size:.9rem}.form-actions,.modal-actions,.base-modal__actions,.cap-tk-modal__actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;display:flex}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:110px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.status-badge--active{background:var(--theme-success-bg);color:var(--theme-success-text)}.status-badge--inactive{background:var(--theme-danger-bg);color:var(--theme-danger-text)}.cell-code{color:var(--theme-code-text);white-space:nowrap;font-weight:700}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:10px;width:min(100vw - 40px,380px);display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;background:#fff;border-left:4px solid #f39200;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.22s toast-in;display:flex;box-shadow:0 10px 30px #0f172a24}.toast--success{border-left-color:#16a34a}.toast--error{border-left-color:#dc2626}.toast--info{border-left-color:#0a2e38}.toast__icon{flex-shrink:0;margin-top:1px}.toast--success .toast__icon{color:#16a34a}.toast--error .toast__icon{color:#dc2626}.toast--info .toast__icon{color:#0a2e38}.toast__content{flex:1;min-width:0}.toast__message{color:#1a2b3c;margin:0;font-size:.86rem;line-height:1.5}.toast__close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.2rem;line-height:1;display:inline-flex}.toast__close:hover{color:#1a2b3c;background:#f1f5f9}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.app-layout{--sidebar-bg:var(--theme-sidebar);--sidebar-bg-muted:var(--theme-sidebar-hover);--sidebar-text:#fffffff2;--sidebar-text-dim:#cbd5e1;--color-primary:var(--theme-primary);--color-hover:var(--theme-primary-hover);--color-active:var(--theme-primary);--main-bg:var(--theme-bg);--card-bg:var(--theme-card);--text-primary:var(--theme-text-primary);--text-muted:var(--theme-text-muted);--border-light:var(--theme-border);background:var(--main-bg);height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.app-sidebar{background:var(--sidebar-bg);width:240px;height:100vh;color:var(--sidebar-text);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:20px 0;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.app-sidebar--collapsed{width:72px}.app-sidebar__top{scrollbar-width:none;flex-direction:column;flex:1;gap:24px;min-height:0;display:flex;overflow-y:auto}.app-sidebar__top::-webkit-scrollbar{display:none}.app-sidebar__brand{justify-content:center;align-items:center;min-height:48px;padding:8px 16px;display:flex}.app-sidebar__brand-logo{object-fit:contain;max-width:110px;height:auto;display:block}.app-sidebar__toggle{z-index:50;border:1px solid var(--border-light);background:var(--card-bg);width:24px;height:24px;color:var(--text-muted);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex;position:absolute;top:20px;right:-12px}.app-sidebar__toggle:hover{background:var(--main-bg);color:var(--text-primary);transform:scale(1.05)}.app-sidebar__toggle svg{width:12px;height:12px}.app-sidebar__nav{padding:0 12px}.app-sidebar__menu{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.app-sidebar__skeleton-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.app-sidebar__skeleton-item{border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.app-sidebar__skeleton-icon{background:#ffffff17;border-radius:4px;flex-shrink:0;width:18px;height:18px;animation:1.4s ease-in-out infinite sidebarSkeletonPulse}.app-sidebar__skeleton-text{background:#ffffff17;border-radius:4px;flex-shrink:0;height:14px;animation:1.4s ease-in-out infinite sidebarSkeletonPulse}.app-sidebar--collapsed .app-sidebar__skeleton-text{display:none}.app-sidebar--collapsed .app-sidebar__skeleton-item{justify-content:center;padding:10px}@keyframes sidebarSkeletonPulse{0%,to{opacity:.3}50%{opacity:.8}}.app-sidebar__link{color:var(--sidebar-text-dim);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:.85rem;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-sidebar__link:hover{background:var(--sidebar-bg-muted);color:#fff}.app-sidebar__link--active{background:var(--color-active);color:#fff;font-weight:600}.app-sidebar__link-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.app-sidebar__link--active .app-sidebar__link-icon{opacity:1}.app-sidebar__link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-sidebar__badge{background:var(--color-primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;display:flex}.app-sidebar__link--active .app-sidebar__badge{background:#fff3}.app-sidebar__item{position:relative}.app-sidebar__group-header{text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-text-dim);opacity:.75;-webkit-user-select:none;user-select:none;padding:12px 12px 4px;font-size:.7rem;font-weight:700}.app-sidebar__parent-btn{cursor:pointer;text-align:left;width:100%;color:var(--sidebar-text-dim);background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;font-size:.85rem;font-weight:500;line-height:1.4;transition:background .15s,color .15s;display:flex}.app-sidebar__parent-btn:hover{background:var(--sidebar-bg-muted);color:#fff}.app-sidebar__parent-btn--open{color:#fff;background:#ffffff0f}.app-sidebar__chevron{align-items:center;margin-left:auto;transition:transform .2s;display:flex}.app-sidebar__parent-btn--open .app-sidebar__chevron{transform:rotate(90deg)}.app-sidebar__submenu-wrapper{display:none}.app-sidebar__submenu-wrapper--open{display:block}.app-sidebar__tooltip{display:none}.app-sidebar__submenu{border-left:1px solid #ffffff1f;flex-direction:column;gap:2px;margin:2px 0 4px 20px;padding:0 0 0 28px;list-style:none;display:flex}.app-sidebar__sublink{color:var(--sidebar-text-dim);border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;font-weight:400;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-sidebar__sublink:hover{background:var(--sidebar-bg-muted);color:#fff}.app-sidebar__sublink--active{background:var(--color-active);color:#fff;font-weight:600}.app-sidebar__bottom{border-top:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:16px;padding:16px 12px 0;display:flex}.app-sidebar--collapsed .app-sidebar__brand{justify-content:center;padding:8px}.app-sidebar--collapsed .app-sidebar__brand-logo,.app-sidebar--collapsed .app-sidebar__link>.app-sidebar__link-label,.app-sidebar--collapsed .app-sidebar__parent-btn>.app-sidebar__link-label,.app-sidebar--collapsed .app-sidebar__badge,.app-sidebar--collapsed .app-sidebar__user,.app-sidebar--collapsed .app-sidebar__logout-text{display:none}.app-sidebar--collapsed .app-sidebar__top{gap:20px}.app-sidebar--collapsed .app-sidebar__nav{padding:0 8px}.app-sidebar--collapsed .app-sidebar__link,.app-sidebar--collapsed .app-sidebar__parent-btn{justify-content:center;padding:10px}.app-sidebar--collapsed .app-sidebar__chevron{display:none}.app-sidebar--collapsed .app-sidebar__bottom{align-items:center;padding:16px 8px 0}.app-sidebar__user{padding:4px}.app-sidebar__user-role{letter-spacing:.05em;color:var(--sidebar-text-dim);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.65rem;font-weight:600;overflow:hidden}.app-sidebar__user-email{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.82rem;font-weight:500;overflow:hidden}.app-sidebar__logout{white-space:nowrap;color:#fffc;cursor:pointer;background:#ffffff0a;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:.82rem;font-weight:500;transition:background .15s,color .15s;display:flex}.app-sidebar__logout:hover{color:#ef4444;background:#ef44441f}.app-sidebar--collapsed .app-sidebar__logout{border-radius:6px;justify-content:center;width:40px;height:40px;padding:0}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__top,.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__nav{overflow:visible}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__group-header{text-indent:-9999px;background:#ffffff14;height:1px;margin:8px 12px;padding:0;font-size:0;overflow:hidden}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__parent-btn--active{background:var(--color-active);color:#fff}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__submenu-wrapper{z-index:1000;background:var(--sidebar-bg);opacity:0;visibility:hidden;pointer-events:none;border:1px solid #ffffff1f;border-radius:8px;min-width:210px;max-width:280px;padding:8px;transition:opacity .18s,transform .18s,visibility .18s;display:block;position:absolute;top:0;left:calc(100% + 8px);transform:translate(-6px);box-shadow:0 12px 32px #00000073,0 4px 12px #00000040}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__submenu-wrapper:before{content:"";width:14px;height:100%;position:absolute;top:0;left:-12px}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__item:hover .app-sidebar__submenu-wrapper,.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__item:focus-within .app-sidebar__submenu-wrapper{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__submenu{border-left:none;gap:2px;margin:0;padding:0}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__submenu-wrapper .app-sidebar__link-label{text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__sublink{color:var(--sidebar-text-dim);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.83rem;display:flex}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__sublink:hover{background:var(--sidebar-bg-muted);color:#fff}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__sublink--active{background:var(--color-active);color:#fff;font-weight:600}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__tooltip{z-index:1000;background:var(--sidebar-bg);color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border:1px solid #ffffff24;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:opacity .15s,transform .15s,visibility .15s;display:block;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-6px);box-shadow:0 6px 20px #00000059}.app-sidebar--collapsed:not(.app-sidebar--mobile) .app-sidebar__item:hover .app-sidebar__tooltip{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}.app-layout__main{flex-direction:column;flex:1;min-width:0;min-height:0;padding:20px 24px;display:flex;overflow:hidden}.app-layout__mobile-menu-btn{display:none}.app-layout__page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.page-grid{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.page-card{background:var(--card-bg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:8px;padding:12px}.page-card--fill{flex-direction:column;flex:1;min-height:0;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-card__title{letter-spacing:.03em;color:var(--text-primary);text-transform:uppercase;margin:0 0 16px;font-size:.8rem;font-weight:700}.page-placeholder{background:var(--card-bg);border:1px solid var(--border-light);text-align:center;min-height:320px;box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.page-placeholder h2{color:var(--text-primary);margin:0 0 8px;font-size:1rem;font-weight:600}.page-placeholder p{color:var(--text-muted);margin:0;font-size:.85rem}@media (width<=1100px){.page-grid{grid-template-columns:1fr}}@media (width<=768px){.app-layout{height:100dvh;min-height:100dvh}.app-sidebar{border-right:none}.app-sidebar--mobile{z-index:120;width:min(84vw,300px);height:100dvh;box-shadow:none;padding:16px 0;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar--mobile.app-sidebar--mobile-open{transform:translate(0);box-shadow:0 12px 36px #0f172a4d}.app-sidebar__backdrop{z-index:110;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:pointer;background:#02061773;border:0;position:fixed;inset:0}.app-sidebar--collapsed{width:min(84vw,300px)}.app-sidebar__toggle{display:none}.app-sidebar__top{flex:1;min-height:0;overflow-y:auto}.app-sidebar__bottom{background:#ffffff05;border-top:1px solid #ffffff14;margin-top:auto;padding:12px;display:flex}.app-layout__main{padding:0;overflow:hidden}.app-layout__mobile-menu-btn{border:1px solid var(--border-light);background:var(--card-bg);width:44px;height:44px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;margin-bottom:12px;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .12s;display:inline-flex}.app-layout__mobile-menu-btn:hover{border-color:var(--theme-primary);background:color-mix(in srgb, var(--theme-primary-soft) 65%, var(--card-bg))}.app-layout__mobile-menu-btn:active{transform:translateY(.5px)}.app-layout__mobile-menu-btn:focus-visible{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-soft);outline:none}.app-layout__mobile-menu-icon{flex-direction:column;justify-content:space-between;width:18px;height:14px;display:inline-flex;position:relative}.app-layout__mobile-menu-line{transform-origin:50%;background:currentColor;border-radius:999px;width:100%;height:2px;transition:transform .2s,opacity .15s,width .2s;display:block}.app-layout__mobile-menu-btn .app-layout__mobile-menu-line:nth-child(2){width:80%;margin-left:auto}.app-layout__mobile-menu-btn--active{border-color:var(--theme-primary);background:var(--theme-primary-soft);color:var(--theme-primary)}.app-layout__mobile-menu-btn--active .app-layout__mobile-menu-line:first-child{transform:translateY(6px)rotate(45deg)}.app-layout__mobile-menu-btn--active .app-layout__mobile-menu-line:nth-child(2){opacity:0;transform:translate(3px)}.app-layout__mobile-menu-btn--active .app-layout__mobile-menu-line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}}@media (width<=768px) and (prefers-reduced-motion:reduce){.app-layout__mobile-menu-btn,.app-layout__mobile-menu-line{transition:none}}.login-page{--color-blue:var(--theme-primary);--color-orange:var(--theme-warning);--color-dark-blue:#0f172a;background:url(https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?w=1920&q=80) 50%/cover no-repeat;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.login-page__overlay{pointer-events:none;background:linear-gradient(135deg,#0f172af0 0%,#090d16d1 50%,#0f172af0 100%);position:absolute;inset:0}.login-page__content{z-index:1;flex:1;grid-template-columns:1.1fr .9fr;align-items:center;gap:64px;width:100%;max-width:1200px;margin:0 auto;padding:48px 64px 80px;display:grid;position:relative}.login-page__hero{color:#fff}.login-page__hero-inner{gap:20px;max-width:560px;display:flex}.login-page__accent{background:var(--theme-primary);border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;min-height:100px}.login-page__title{letter-spacing:-.03em;color:#fff;margin:0;font-size:2.25rem;font-weight:700;line-height:1.15}.login-page__powered{letter-spacing:.05em;color:var(--theme-primary);text-transform:uppercase;margin:8px 0 0;font-size:.85rem;font-weight:600}.login-page__desc{color:#ffffffa6;max-width:440px;margin:20px 0 0;font-size:.92rem;line-height:1.6}.login-page__card-wrap{justify-content:flex-end;display:flex}.login-card{background:var(--theme-card);border:1px solid var(--theme-border);border-radius:8px;width:100%;max-width:400px;padding:32px;box-shadow:0 20px 25px -5px #00000040,0 10px 10px -5px #00000040}.login-card__logo{justify-content:center;margin-bottom:24px;display:flex}.login-card__logo-img{object-fit:contain;width:110px;height:auto;display:block}.login-card__tagline{display:none}.login-card__form{flex-direction:column;gap:16px;display:flex}.login-card__form .ant-form-item{margin-bottom:4px}.login-card__form .ant-form-item-label>label{color:var(--theme-text-primary);font-size:.82rem;font-weight:500}.login-card__form .ant-input-outlined,.login-card__form .ant-input-affix-wrapper{border-color:var(--theme-border);background:var(--theme-card);box-shadow:none;border-radius:6px;transition:all .15s}.login-card__form .ant-input-outlined{padding:8px 12px}.login-card__form .ant-input-affix-wrapper .ant-input{background:0 0}.login-card__form .ant-input-outlined:hover,.login-card__form .ant-input-affix-wrapper:hover{border-color:var(--theme-border-hover)}.login-card__form .ant-input-outlined:focus,.login-card__form .ant-input-outlined:focus-within,.login-card__form .ant-input-affix-wrapper:focus,.login-card__form .ant-input-affix-wrapper:focus-within{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px var(--theme-primary-soft)!important}.login-card__form .anticon-eye,.login-card__form .anticon-eye-invisible{color:var(--theme-text-muted)}.login-card__form .ant-form-item-explain-error{margin-top:4px;font-size:.78rem}.login-card__submit{letter-spacing:.02em;width:100%;height:38px;box-shadow:var(--shadow-sm);margin-top:8px;transition:background .15s,border-color .15s;border:1px solid var(--theme-primary)!important;background:var(--theme-primary)!important;color:var(--theme-on-primary)!important;border-radius:6px!important;font-size:.85rem!important;font-weight:500!important}.login-card__submit:hover:not(:disabled){background:var(--theme-primary-hover)!important;border-color:var(--theme-primary-hover)!important}.login-card__submit:disabled{opacity:.5;cursor:not-allowed}.login-card__error{color:var(--theme-danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:8px 12px;font-size:.82rem}.login-page__footer{z-index:1;text-align:center;letter-spacing:.05em;color:#fff6;text-transform:uppercase;padding:16px 24px 24px;font-size:.68rem;position:relative}@media (width<=960px){.login-page__content{grid-template-columns:1fr;gap:32px;padding:32px 24px 64px}.login-page__hero-inner{max-width:none}.login-page__card-wrap{justify-content:center}.login-card{max-width:400px;margin:0 auto}}@media (width<=480px){.login-card{padding:24px}.login-page__title{font-size:1.75rem}}.confirm-dialog{z-index:1100;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog__panel{background:var(--theme-card);border:1px solid var(--theme-border);width:min(100%,400px);box-shadow:var(--shadow-lg);border-radius:8px;padding:20px}.confirm-dialog__title{color:var(--theme-text-primary);margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.confirm-dialog__message{color:var(--theme-text-muted);margin:8px 0 0;font-size:.85rem;line-height:1.5}.confirm-dialog__message--error{color:var(--theme-danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:12px;padding:8px 12px}.paged-data-table{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.data-table-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.data-table-toolbar .page-card__title{margin:0}.data-table-filters-dropdown{z-index:100;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;display:flex;position:relative}.data-table-filters-trigger{z-index:102;border-radius:6px;flex-shrink:0;height:36px;font-size:.82rem;font-weight:600;position:relative}.data-table-filters-panel{z-index:102;border:1px solid var(--theme-border);background:var(--theme-card);width:min(560px,100vw - 64px);box-shadow:var(--shadow-lg);border-radius:8px;padding:16px;position:absolute;top:calc(100% + 8px);right:0}.data-table-filters-panel__title{color:var(--theme-text-primary);align-items:center;gap:6px;margin:0 0 12px;font-size:.82rem;font-weight:600;display:inline-flex}.data-table-filters-backdrop{z-index:101;background:0 0;border:none;position:fixed;inset:0}.data-table-filters{z-index:102;flex-shrink:0;align-items:flex-end;gap:8px;position:relative}.data-table-filters__fields{flex-wrap:wrap;flex:1;gap:12px;min-width:0;display:flex}.data-table-filters__field{flex-direction:column;flex:180px;gap:6px;min-width:0;display:flex}.data-table-filters__label{letter-spacing:.03em;color:var(--theme-text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.data-table-filters__input,.data-table-filters__select,.data-table-filters__date{width:100%;min-width:0;height:36px;font-size:.85rem}.data-table-filters__select .ant-select-selector,.data-table-filters__input.ant-input,.data-table-filters__date.ant-picker{border-color:var(--theme-border)!important;border-radius:6px!important}.data-table-filters__input.ant-input:focus,.data-table-filters__input.ant-input:focus-within,.data-table-filters__select.ant-select-focused .ant-select-selector,.data-table-filters__date.ant-picker-focused{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px var(--theme-primary-soft)!important}.data-table-filters__actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.data-table-filters__actions--inline{min-height:36px}.data-table-filters__page-size{align-items:center;gap:8px;display:flex}.data-table-filters__page-size-label{color:var(--theme-text-muted);white-space:nowrap;font-size:.78rem}.data-table-filters__page-size-select{width:100px}.data-table-filters__page-size-select .ant-select-selector{border-color:var(--theme-border)!important;border-radius:6px!important}.data-table-filters__page-size-select.ant-select-focused .ant-select-selector{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px var(--theme-primary-soft)!important}.data-table-filters__btn--inline-clear.ant-btn-link{height:auto;color:var(--theme-text-muted);padding:0}.data-table-filters__btn--inline-clear.ant-btn-link:not(:disabled):hover{color:var(--theme-primary)!important}.data-table-filters__btn{border-radius:6px;flex-shrink:0;height:36px;font-size:.82rem;font-weight:600}.data-table-filters__btn--clear{border-color:var(--theme-border);color:var(--theme-text-muted)}.data-table-filters__btn--clear:not(:disabled):hover{border-color:var(--theme-primary)!important;color:var(--theme-primary)!important}.data-table-filters__btn.ant-btn-primary{background:var(--theme-primary)}.data-table-filters__btn.ant-btn-primary:hover{background:var(--theme-primary-hover)!important}.data-table-error{color:#dc2626;background:#fef2f2;border-radius:6px;flex-shrink:0;margin:0 0 12px;padding:10px 12px;font-size:.82rem}.data-table-wrap{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;overflow:auto}.data-table-wrap::-webkit-scrollbar{width:6px;height:6px}.data-table-wrap::-webkit-scrollbar-track{background:0 0}.data-table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.data-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.paged-data-table .data-table-wrap{flex:1;min-height:0;overflow:auto}.data-table-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.data-table-scroll>.ant-table-wrapper,.data-table-scroll>.data-table--antd.ant-table-wrapper{height:100%}.data-table{border-collapse:collapse;width:100%;font-size:.82rem}.data-table th{z-index:1;text-align:left;letter-spacing:.04em;color:var(--theme-text-muted);background:var(--theme-card);border-bottom:1.5px solid var(--theme-border);white-space:nowrap;font-size:.75rem;font-weight:600;position:sticky;top:0;padding:8px 12px!important}.data-table td{border-bottom:1px solid var(--theme-border);color:var(--theme-text-primary);vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word;padding:5px 12px!important}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:nth-child(odd){background:var(--theme-bg)}.data-table tbody tr:nth-child(2n){background:var(--theme-card)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--theme-primary-soft)}.data-table__status{text-align:center;color:var(--theme-text-muted);padding:24px 12px!important}.data-table__stt{text-align:center;width:72px;min-width:72px}.data-table-pagination{flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.data-table-pagination__control{margin-left:auto}.data-table--antd .ant-table-wrapper,.data-table--antd.ant-table-wrapper{flex:1;min-height:0}.data-table--antd .ant-table{font-size:.82rem}.data-table--antd.ant-table-wrapper,.data-table--antd .ant-spin-nested-loading,.data-table--antd .ant-spin-container,.data-table--antd .ant-table,.data-table--antd .ant-table-container{height:100%}.data-table--antd .ant-spin-container,.data-table--antd .ant-table,.data-table--antd .ant-table-container{flex-direction:column;min-height:0;display:flex}.data-table--antd .ant-table-body{flex:1;min-height:0;overflow:auto!important}.data-table--antd .ant-table-content{overflow:auto!important}.data-table--antd .ant-table-content,.data-table--antd .ant-table-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.data-table--antd .ant-table-content::-webkit-scrollbar{width:4px;height:4px}.data-table--antd .ant-table-body::-webkit-scrollbar{width:4px;height:4px}.data-table--antd .ant-table-content::-webkit-scrollbar-track{background:0 0}.data-table--antd .ant-table-body::-webkit-scrollbar-track{background:0 0}.data-table--antd .ant-table-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.data-table--antd .ant-table-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.data-table--antd .ant-table-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.data-table--antd .ant-table-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.data-table--antd .ant-table-thead>tr>th{letter-spacing:.04em;color:var(--theme-text-muted);white-space:nowrap;background:var(--theme-bg);font-size:.75rem;font-weight:600;border-bottom:1.5px solid var(--theme-border)!important}.data-table--antd .ant-table-tbody>tr>td,.data-table--antd .ant-table-tbody>tr>.ant-table-cell{color:var(--theme-text-primary);padding:5px 12px;line-height:1.4;border-bottom:1px solid var(--theme-border)!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;transition:background-color .15s!important}.data-table--antd .ant-table-tbody>tr:nth-child(odd)>td{background:var(--theme-bg)!important}.data-table--antd .ant-table-tbody>tr:nth-child(2n)>td{background:var(--theme-card)!important}.data-table--antd .ant-table-tbody>tr:hover>td,.data-table--antd .ant-table-tbody>tr.ant-table-row-hover>td{background:var(--theme-primary-soft)!important}.data-table--antd .ant-pagination-item{border-radius:6px!important}.data-table--antd .ant-pagination-item-active{border-color:var(--theme-primary)!important;background:var(--theme-primary-soft)!important}.data-table--antd .ant-pagination-item-active a{color:var(--theme-primary)!important}.data-table-pagination__btn{border:1px solid var(--theme-border);background:var(--theme-card);color:var(--theme-text-primary);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.82rem;transition:all .15s}.data-table-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.data-table-pagination__btn:not(:disabled):hover{border-color:var(--theme-primary);color:var(--theme-primary)}.data-table-pagination__info{color:var(--theme-text-muted);font-size:.82rem}@media (width<=768px){.data-table-filters-panel{width:auto;left:0;right:0}.data-table--antd .ant-table-thead>tr>th,.data-table--antd .ant-table-tbody>tr>td,.data-table--antd .ant-table-tbody>tr>.ant-table-cell{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-overflow:ellipsis!important;overflow:hidden!important}}.import-modal{z-index:1100;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.import-modal__dialog{background:var(--theme-card);border-radius:12px;width:min(100%,520px);box-shadow:0 20px 48px #0f172a2e}.import-modal__header{justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 0;display:flex}.import-modal__title{letter-spacing:.03em;color:#1a2b3c;margin:0;font-size:1rem;font-weight:800}.import-modal__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;line-height:1;transition:background .15s,color .15s;display:inline-flex}.import-modal__close:hover:not(:disabled){color:#1a2b3c;background:#f1f5f9}.import-modal__close:disabled{opacity:.55;cursor:not-allowed}.import-modal__body{flex-direction:column;gap:16px;padding:18px 22px 0;display:flex}.import-modal__description{color:#5c6b7a;margin:0;font-size:.84rem;line-height:1.55}.import-modal__template{display:flex}.import-modal__template-btn{color:var(--theme-primary);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:.82rem;font-weight:600;transition:color .15s;display:inline-flex}.import-modal__template-btn:hover:not(:disabled){color:var(--theme-primary-hover)}.import-modal__template-btn:disabled{opacity:.55;cursor:not-allowed}.import-modal__dropzone{background:var(--theme-bg);color:#64748b;text-align:center;border:1.5px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:24px 20px;transition:border-color .15s,background .15s;display:flex;position:relative}.import-modal__dropzone--active{border-color:var(--theme-primary);background:var(--theme-primary-soft);color:var(--theme-primary)}.import-modal__dropzone--selected{color:#166534;background:#f0fdf4;border-color:#86efac}.import-modal__file-input{display:none}.import-modal__dropzone-title{color:inherit;margin:0;font-size:.88rem;font-weight:600}.import-modal__dropzone-hint{color:#94a3b8;margin:0;font-size:.78rem}.import-modal__choose-file,.import-modal__change-file{background:var(--theme-card);color:#1a2b3c;font:inherit;cursor:pointer;border:1px solid #cbd5e1;border-radius:8px;margin-top:4px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:border-color .15s,background .15s}.import-modal__choose-file:hover:not(:disabled),.import-modal__change-file:hover:not(:disabled){background:var(--theme-bg);border-color:#94a3b8}.import-modal__choose-file:disabled,.import-modal__change-file:disabled{opacity:.55;cursor:not-allowed}.import-modal__error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.45}.page-header-card{z-index:200;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding-bottom:8px;display:flex;position:relative}.page-header-card__left{align-items:center;gap:12px;min-width:0;display:flex}.page-header-card__back-btn{border:1px solid var(--theme-border);background:var(--theme-card);width:36px;height:36px;color:var(--theme-text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.page-header-card__back-btn:hover{border-color:var(--theme-primary);background:var(--theme-primary-soft);color:var(--theme-primary)}.page-header-card__back-btn:active{transform:scale(.95)}.page-header-card__icon{background:var(--theme-primary-soft);width:40px;height:40px;color:var(--theme-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-header-card__title{letter-spacing:-.02em;color:var(--theme-text-primary);margin:0;font-size:1.25rem;font-weight:600;line-height:1.2}.page-header-card__desc{color:var(--theme-text-muted);max-width:640px;margin:4px 0 0;font-size:.85rem;line-height:1.5}.page-header-card__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page-header-card__action{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.page-header-card__action--primary{border:1px solid var(--theme-primary);background:var(--theme-primary);color:var(--theme-on-primary)}.page-header-card__action--primary:hover{background:var(--theme-primary-hover);border-color:var(--theme-primary-hover)}.page-header-card__action--outline{border:1px solid var(--theme-border);background:var(--theme-card);color:var(--theme-text-primary)}.page-header-card__action--outline:hover,.page-header-card__action--outline[aria-expanded=true]{border-color:var(--theme-primary);background:var(--theme-primary-soft);color:var(--theme-primary)}.page-header-card__utilities{z-index:201;position:relative}.page-header-card__menu{z-index:1000;background:var(--theme-card);border:1px solid var(--theme-border);min-width:200px;box-shadow:var(--shadow-lg);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.page-header-card__menu-item{width:100%;color:var(--theme-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:.82rem;transition:background .15s,color .15s;display:block}.page-header-card__menu-item:hover:not(:disabled){background:var(--theme-bg)}.page-header-card__menu-item:disabled{opacity:.5;cursor:not-allowed}.page-header-card__menu-divider{background:var(--theme-border);height:1px;margin:4px}.page-header-card__top{flex:1;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.page-header-card__mobile-btn-wrap{display:none}@media (width<=768px){.page-header-card{flex-direction:column;align-items:stretch;gap:12px}.page-header-card__top{justify-content:center;align-items:center;width:100%;min-height:40px;display:flex;position:relative}.page-header-card__left{text-align:center;justify-content:center;align-items:center;width:100%;padding:0 44px;display:flex}.page-header-card__title-wrap{text-align:center}.page-header-card__title{text-align:center;font-size:1.15rem}.page-header-card__desc{text-align:center}.page-header-card__back-btn{z-index:10;position:absolute;top:50%;left:2%;transform:translateY(-50%)}.page-header-card__mobile-btn-wrap{align-items:center;display:flex;position:absolute;top:80%;right:2%;transform:translateY(-50%)}.page-header-card__actions{flex-wrap:wrap;justify-content:center;width:100%}}.row-actions{align-items:center;gap:6px;display:inline-flex}.row-actions__btn{border:1px solid var(--theme-primary);width:32px;height:32px;color:var(--theme-primary);cursor:pointer;background:#fff;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .15s;display:inline-flex}.row-actions__btn:hover{color:var(--theme-primary-hover);border-color:var(--theme-primary-hover);background:#f8fafc;box-shadow:0 2px 8px #0f172a14}.row-actions__btn:active{transform:translateY(.5px)}.row-actions__btn:focus-visible{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f633}.row-actions-dropdown .ant-dropdown-menu{border-radius:12px;padding:6px;box-shadow:0 10px 28px #0f172a24}.row-actions-dropdown .ant-dropdown-menu-item{border-radius:8px;min-width:120px;padding:8px 12px}.row-actions-dropdown .ant-dropdown-menu-item:hover{background:#f8fafc}.row-actions-dropdown .ant-dropdown-menu-item-danger:hover{background:#fef2f2}.base-modal,.cap-tk-modal{z-index:1000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a66;justify-content:center;align-items:safe center;padding:20px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.base-modal__dialog,.cap-tk-modal__dialog{background:var(--theme-card);border:1px solid var(--theme-border);width:min(100%,480px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;margin:auto 0;display:flex}.base-modal__dialog--wide,.cap-tk-modal__dialog--wide{width:min(100%,680px)}.base-modal__header,.cap-tk-modal__header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 0;display:flex}.base-modal__title,.cap-tk-modal__title{color:var(--theme-text-primary);margin:0;font-size:1rem;font-weight:600}.base-modal__close,.cap-tk-modal__close{width:28px;height:28px;color:var(--theme-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;transition:all .15s;display:inline-flex}.base-modal__close:hover,.cap-tk-modal__close:hover{background:var(--theme-bg);color:var(--theme-text-primary)}.base-modal__form,.cap-tk-modal__form{flex-direction:column;gap:14px;min-height:0;padding:16px 20px 20px;display:flex;overflow-y:auto}.base-modal__body,.cap-tk-modal__body{flex:1;min-height:0;overflow-y:auto}.base-modal__error,.cap-tk-modal__error{color:var(--theme-danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:8px 12px;font-size:.82rem;line-height:1.4}.base-modal__field,.cap-tk-modal__field{flex-direction:column;gap:6px;display:flex}.base-modal__field--password,.cap-tk-modal__field--password{position:relative}.base-modal__label,.cap-tk-modal__label{letter-spacing:.03em;color:var(--theme-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.base-modal__field input,.base-modal__field select,.base-modal__field textarea,.cap-tk-modal__field input,.cap-tk-modal__field select,.cap-tk-modal__field textarea{border:1px solid var(--theme-border);width:100%;font:inherit;color:var(--theme-text-primary);background:var(--theme-card);border-radius:6px;padding:8px 12px;font-size:.88rem;transition:all .15s}.base-modal__field--password input,.cap-tk-modal__field--password input{padding-right:42px}.base-modal__field input:focus,.base-modal__field select:focus,.base-modal__field textarea:focus,.cap-tk-modal__field input:focus,.cap-tk-modal__field select:focus,.cap-tk-modal__field textarea:focus{border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-primary-soft);outline:none}.base-modal__field input:disabled,.base-modal__field select:disabled,.base-modal__field textarea:disabled,.cap-tk-modal__field input:disabled,.cap-tk-modal__field select:disabled,.cap-tk-modal__field textarea:disabled{background:var(--theme-bg);color:var(--theme-text-muted);cursor:not-allowed}.base-modal__field .base-modal__select,.base-modal__field .cap-tk-modal__select,.cap-tk-modal__field .cap-tk-modal__select,.cap-tk-modal__field .base-modal__select,.base-modal__field .ant-select,.cap-tk-modal__field .ant-select{width:100%}.base-modal__field .ant-select .ant-select-selector,.cap-tk-modal__field .ant-select .ant-select-selector{color:var(--theme-text-primary);font-family:inherit;font-size:.88rem;border:1px solid var(--theme-border)!important;background-color:var(--theme-card)!important;border-radius:6px!important;transition:all .15s!important}.base-modal__field .ant-select.ant-select-focused .ant-select-selector,.cap-tk-modal__field .ant-select.ant-select-focused .ant-select-selector{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px var(--theme-primary-soft)!important}.base-modal__toggle-password,.cap-tk-modal__toggle-password{width:24px;height:24px;color:var(--theme-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;position:absolute;bottom:6px;right:8px}.base-modal__toggle-password:hover,.cap-tk-modal__toggle-password:hover{color:var(--theme-text-primary);background:var(--theme-bg)}.page-card__action-error,.cap-tk__action-error{color:var(--theme-danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0 0 12px;padding:10px 12px;font-size:.82rem;line-height:1.45}@media (width<=768px){.page-card__action-error,.cap-tk__action-error{margin-bottom:10px;padding:8px 10px;font-size:.78rem}}.img-upload-field--form{flex-direction:column;gap:8px;display:flex}.img-upload-field__preview-wrap{display:inline-block;position:relative}.img-upload-field__preview-img{object-fit:contain;border:1px solid #ddd;border-radius:6px;max-width:200px;max-height:160px;padding:4px;display:block}.img-upload-field__remove-btn{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;line-height:1;transition:background .15s;display:flex;position:absolute;top:2px;right:2px}.img-upload-field__remove-btn:hover:not(:disabled){background:#dc2626d9}.img-upload-field__remove-btn:disabled{opacity:.5;cursor:not-allowed}.img-upload-field__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.img-upload-field__pick-btn{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}.img-upload-field__pick-btn:hover:not(.img-upload-field__pick-btn--disabled){background:#f3f4f6;border-color:#9ca3af}.img-upload-field__pick-btn--disabled{opacity:.6;cursor:not-allowed}.img-upload-field__hint{color:#9ca3af;font-size:12px}.img-upload-field--camera-loading,.img-upload-field--camera-view,.img-upload-field--camera-empty{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,opacity .15s;display:inline-flex}.img-upload-field--camera-loading{cursor:default;background:0 0}.img-upload-field--camera-view{color:#3b82f6;background:#3b82f61f}.img-upload-field--camera-view:hover{background:#3b82f638}.img-upload-field--camera-empty{color:#6b7280;background:#6b72801a}.img-upload-field--camera-empty:hover:not(.img-upload-field--disabled){background:#6b728033}.img-upload-field--disabled{opacity:.4;cursor:not-allowed}.img-upload-field__overlay{z-index:9999;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.img-upload-field__overlay-box{background:#fff;border-radius:10px;flex-direction:column;gap:10px;max-width:min(90vw,480px);padding:12px;display:flex;position:relative;box-shadow:0 8px 32px #00000059}.img-upload-field__overlay-close{cursor:pointer;color:#374151;background:#00000014;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:absolute;top:8px;right:8px}.img-upload-field__overlay-close:hover{background:#00000026}.img-upload-field__overlay-img{object-fit:contain;border-radius:6px;max-width:100%;max-height:60vh;display:block}.img-upload-field__overlay-delete{color:#dc2626;cursor:pointer;background:#dc262612;border:1px solid #dc262640;border-radius:6px;align-self:flex-end;padding:5px 12px;font-size:13px;transition:background .15s}.img-upload-field__overlay-delete:hover{background:#dc262626}.cap-tk-modal__dialog.quy-doi-modal__dialog,.base-modal__dialog.quy-doi-modal__dialog{width:min(100%,780px)}.cap-tk-modal__form.quy-doi-modal__form,.base-modal__form.quy-doi-modal__form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.cap-tk-modal__form.quy-doi-modal__form>.cap-tk-modal__error,.cap-tk-modal__form.quy-doi-modal__form>.base-modal__error,.cap-tk-modal__form.quy-doi-modal__form>.form-actions,.base-modal__form.quy-doi-modal__form>.form-actions{grid-column:1/-1}.cap-tk-modal__form.quy-doi-modal__form .form-actions,.base-modal__form.quy-doi-modal__form .form-actions{margin-top:0}.quy-doi-modal__field--full{grid-column:1/-1}.quy-doi-modal__field--huong-dan textarea{min-height:72px}.quy-doi-modal__field--cong-thuc textarea{min-height:52px}@media (width<=768px){.cap-tk-modal__form.quy-doi-modal__form,.base-modal__form.quy-doi-modal__form{grid-template-columns:1fr}.quy-doi-modal__field--full{grid-column:1}}.ky-kiem-ke__code{white-space:nowrap;font-weight:700}.ky-kiem-ke__code-link{font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.ky-kiem-ke__status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:128px;padding:6px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.ky-kiem-ke__status-badge--0{color:#1d4ed8;background:#eff6ff}.ky-kiem-ke__status-badge--1{color:#c2410c;background:#fff7ed}.ky-kiem-ke__status-badge--2{color:#166534;background:#f0fdf4}.ky-kiem-ke__status-badge---1{color:#475569;background:#f1f5f9}.base-modal__dialog.ky-kiem-ke-modal__dialog,.cap-tk-modal__dialog.ky-kiem-ke-modal__dialog{width:min(100%,1120px)}.ky-kiem-ke-modal__body{flex-direction:column;gap:14px;padding:18px 22px 22px;display:flex;overflow:auto}.ky-kiem-ke-modal__grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ky-kiem-ke-modal__grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.ky-kiem-ke-modal__textarea{resize:vertical;min-height:84px}.ky-kiem-ke-modal__section{flex-direction:column;gap:10px;display:flex}.ky-kiem-ke-modal__section-title{color:#5c6b7a;margin:0;font-size:.78rem;font-weight:600}.ky-kiem-ke-modal__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ky-kiem-ke-modal__filter{flex:1;min-width:240px}.ky-kiem-ke-modal__actions-inline{gap:8px;display:flex}.ky-kiem-ke-modal__btn-link{border:1px solid var(--theme-border);background:var(--theme-card);color:#1a2b3c;font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:600}.ky-kiem-ke-modal__btn-link:hover{border-color:var(--theme-primary);color:var(--theme-primary)}.ky-kiem-ke-modal__search-input{width:100%}.ky-kiem-ke-modal__summary{color:#64748b;margin:0;font-size:.82rem}.ky-kiem-ke-modal__list{border:1px solid var(--theme-border);border-radius:10px;height:min(40vh,480px);overflow:auto}.ky-kiem-ke-modal__row{border-bottom:1px solid #f1f5f9;grid-template-columns:40px 1.2fr 1.8fr 1fr 1fr;align-items:center;gap:12px;padding:10px 14px;font-size:.84rem;display:grid}.ky-kiem-ke-modal__row:last-child{border-bottom:none}.ky-kiem-ke-modal__row--head{z-index:1;background:var(--theme-bg);letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700;position:sticky;top:0}.ky-kiem-ke-modal__row--readonly{cursor:default}.ky-kiem-ke-modal__empty{text-align:center;color:#94a3b8;padding:28px 16px;font-size:.86rem}.ky-kiem-ke-detail__list{border:1px solid var(--theme-border);border-radius:10px;height:min(52vh,560px);overflow:auto}.ky-kiem-ke-detail__row{border-bottom:1px solid #f1f5f9;grid-template-columns:1.2fr 1.8fr 1fr 1fr;align-items:center;gap:12px;padding:10px 14px;font-size:.84rem;display:grid}.ky-kiem-ke-detail__row:last-child{border-bottom:none}.ky-kiem-ke-detail__row--head{z-index:1;background:var(--theme-bg);letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700;position:sticky;top:0}@media (width<=1024px){.ky-kiem-ke-modal__grid-2,.ky-kiem-ke-modal__grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.ky-kiem-ke-modal__grid-2,.ky-kiem-ke-modal__grid-4{grid-template-columns:1fr}}.kiem-ke__code{white-space:nowrap;font-weight:700}.kiem-ke__status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:128px;padding:6px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.kiem-ke__status-badge--0{color:#1d4ed8;background:#eff6ff}.kiem-ke__status-badge--1{color:#c2410c;background:#fff7ed}.kiem-ke__status-badge--2{color:#166534;background:#f0fdf4}.kiem-ke__status-badge---1{color:#475569;background:#f1f5f9}.kiem-ke__progress{white-space:nowrap;font-weight:600}.kiem-ke__progress--done{color:#166534}.kiem-ke__progress--pending{color:#c2410c}.kiem-ke__progress--overdue{color:#dc2626}.kiem-ke__action-btn{border:1px solid var(--theme-primary);background:var(--theme-card);min-width:140px;color:var(--theme-primary);cursor:pointer;border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:600;transition:all .15s}.kiem-ke__action-btn:hover:not(:disabled){background:var(--theme-primary-soft);border-color:var(--theme-primary-hover);color:var(--theme-primary-hover)}.kiem-ke__action-btn--disabled,.kiem-ke__action-btn:disabled{color:#94a3b8;background:var(--theme-bg);cursor:not-allowed;border-color:#dbe2ea}.kiem-ke-modal__dialog{background:var(--theme-card);border-radius:12px;flex-direction:column;width:min(100%,1160px);max-height:calc(100vh - 48px);display:flex;box-shadow:0 20px 48px #0f172a2e}.kiem-ke-modal__body{flex-direction:column;gap:14px;padding:18px 22px 22px;display:flex;overflow:auto}.kiem-ke-modal__meta{border:1px solid var(--theme-border);background:var(--theme-bg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.kiem-ke-modal__meta p{color:#334155;margin:0;font-size:.84rem}.kiem-ke-modal__summary{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;font-size:.84rem;display:flex}.kiem-ke-modal__table-wrap{border:1px solid var(--theme-border);border-radius:10px;max-height:min(54vh,620px);overflow:auto}.kiem-ke-modal__row{border-bottom:1px solid #f1f5f9;grid-template-columns:2fr 120px 120px 120px 120px 1fr;align-items:center;gap:10px;padding:10px 14px;font-size:.84rem;display:grid}.kiem-ke-modal__row:last-child{border-bottom:none}.kiem-ke-modal__row--head{z-index:1;background:var(--theme-bg);letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700;position:sticky;top:0}.kiem-ke-modal__row input{border:1px solid var(--theme-border);width:100%;font:inherit;color:#1a2b3c;border-radius:8px;padding:8px 10px;font-size:.84rem}.kiem-ke-modal__row input:focus{border-color:var(--theme-primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.kiem-ke-modal__name{color:var(--theme-sidebar);font-weight:600}.kiem-ke-modal__result{color:#0f766e;font-weight:700}.kiem-ke-modal__empty{text-align:center;color:#94a3b8;margin:0;padding:24px 14px;font-size:.86rem}@media (width<=1024px){.kiem-ke-modal__row{min-width:860px}}.kiem-ke-phieu__body{flex-direction:column;gap:14px;height:100%;min-height:0;display:flex}.kiem-ke-phieu__content{flex-direction:column;flex:1;min-height:0;display:flex}.kiem-ke-phieu__stack{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.kiem-ke-phieu__table-scroll{flex:1;width:100%;min-height:0;overflow:hidden}.kiem-ke-phieu__table-scroll>.ant-table-wrapper,.kiem-ke-phieu__table-scroll>.ant-table-wrapper.data-table.data-table--antd{width:100%;max-width:100%;height:100%;min-height:0}.kiem-ke-phieu__table-scroll .ant-table-content,.kiem-ke-phieu__table-scroll .ant-table-body{overflow:auto!important}.kiem-ke-phieu__error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.45}.kiem-ke-phieu__actions{z-index:2;background:var(--theme-card);justify-content:flex-end;gap:10px;margin-top:auto;padding-top:10px;display:flex;position:sticky;bottom:0}.kiem-ke-phieu__summary{color:#64748b;justify-content:space-between;align-items:center;gap:8px;font-size:.84rem;display:flex}.kiem-ke-phieu__number-input{width:100%}.kiem-ke-input-over .ant-input-number-input,.kiem-ke-input-over input,input.kiem-ke-input-over{font-weight:600;color:#dc2626!important}.kiem-ke-phieu__result{font-weight:700}.kiem-ke-phieu__stats{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.kiem-ke-phieu__stat-card{--card-accent:#3b82f6;border:1px solid var(--theme-border);border-left:4px solid var(--card-accent);background:color-mix(in srgb, var(--card-accent) 5%, var(--theme-bg));border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:box-shadow .2s,transform .15s;display:flex;box-shadow:0 1px 4px #0000000f}.kiem-ke-phieu__stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001a}.kiem-ke-phieu__stat-card--blue{--card-accent:#3b82f6}.kiem-ke-phieu__stat-card--violet{--card-accent:#8b5cf6}.kiem-ke-phieu__stat-card--green{--card-accent:#10b981}.kiem-ke-phieu__stat-card--orange{--card-accent:#f59e0b}.kiem-ke-phieu__stat-card--rose{--card-accent:#f43f5e}.kiem-ke-phieu__stat-card .ant-statistic{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.kiem-ke-phieu__stat-card .ant-statistic-header,.kiem-ke-phieu__stat-card .ant-statistic-title,.kiem-ke-phieu__stat-card .ant-statistic-content{white-space:nowrap;align-items:center;margin:0;display:inline-flex}.kiem-ke-phieu__stat-card .ant-statistic-header,.kiem-ke-phieu__stat-card .ant-statistic-title{color:#64748b;font-size:.82rem}.kiem-ke-phieu__stat-card .ant-statistic-content{color:var(--card-accent);font-size:.95rem;font-weight:700;line-height:1.2}.kiem-ke-phieu__stat-card .ant-statistic-content-value{font-size:inherit}@media (width<=1024px){.kiem-ke-phieu__stats{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=640px){.kiem-ke-phieu__stats{grid-template-columns:1fr}}.kiem-ke-phieu__stat-card--input{flex-direction:column;align-items:flex-start;gap:6px}.kiem-ke-phieu__nguoi-label{color:#64748b;white-space:nowrap;font-size:.82rem}.kiem-ke-phieu__nguoi-input{width:100%}.kiem-ke__mobile-list{flex-direction:column;gap:10px;padding:2px 0 16px;display:flex;overflow-y:auto}.kiem-ke__mobile-loading,.kiem-ke__mobile-empty{text-align:center;color:#94a3b8;margin:0;padding:32px 0;font-size:.88rem}.kiem-ke__mobile-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:0;padding:10px 14px;font-size:.84rem}.kk-card{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:10px;padding:13px 15px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;position:relative;box-shadow:0 1px 3px #0f172a0a,0 1px 2px #0f172a05}.kk-card--active{border-left:3.5px solid #2563eb}.kk-card--inactive{opacity:.88;border-left:3.5px solid #cbd5e1}.kk-card:active{background:#f8fafc;transform:scale(.985)}.kk-card__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.kk-card__title-group{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kk-card__code{color:#3b82f6;letter-spacing:.02em;background:#eff6ff;border-radius:4px;width:fit-content;padding:1px 6px;font-size:.68rem;font-weight:700}.kk-card__name{color:#0f172a;white-space:normal;word-break:break-word;margin:0;font-size:.94rem;font-weight:700;line-height:1.35}.kk-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.kk-badge__dot{border-radius:50%;width:6px;height:6px}.kk-badge--open{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.kk-badge--open .kk-badge__dot{background:#10b981;box-shadow:0 0 0 2px #10b98140}.kk-badge--pending{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.kk-badge--pending .kk-badge__dot{background:#3b82f6}.kk-badge--closed{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.kk-badge--closed .kk-badge__dot{background:#94a3b8}.kk-card__bottom{border-top:1px dashed #f1f5f9;justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.kk-card__meta-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.kk-card__meta-item{color:#64748b;align-items:center;gap:4px;font-size:.76rem;font-weight:500;display:inline-flex}.kk-card__meta-item svg{color:#94a3b8;flex-shrink:0}.kk-chip{white-space:nowrap;border-radius:5px;align-items:center;padding:2px 7px;font-size:.68rem;font-weight:600;display:inline-flex}.kk-chip--done{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.kk-chip--waiting{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.kk-chip--overdue{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.kk-card__action{color:#64748b;background:#f1f5f9;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:4px 9px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.kk-card__action svg{transition:transform .15s}.kk-card__action--ready{color:#2563eb;background:#eff6ff}.kk-card:hover .kk-card__action--ready,.kk-card:active .kk-card__action--ready{color:#fff;background:#2563eb}.kk-card:hover .kk-card__action svg,.kk-card:active .kk-card__action svg{transform:translate(2px)}.kk-mobile{color:#0f172a;background:#f8fafc;flex-direction:column;height:100%;min-height:0;max-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.kk-mobile__header{-webkit-backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:10px 16px;box-shadow:0 1px 4px #0000000d}.kk-mobile__header-top{align-items:center;gap:10px;display:flex}.kk-mobile__header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.kk-mobile__back-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .15s;display:flex}.kk-mobile__back-btn:active{background:#f1f5f9}.kk-mobile__title-group{flex:1;min-width:0}.kk-mobile__title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;line-height:1.3;overflow:hidden}.kk-mobile__subtitle{color:#64748b;margin:1px 0 0;font-size:.75rem}.kk-mobile__status-tag{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.kk-mobile__status-tag--locked{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.kk-mobile__status-tag--draft{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.kk-mobile__status-tag--new{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.kk-mobile__controls{flex-direction:column;flex-shrink:0;gap:8px;padding:10px 16px;display:flex}.kk-mobile__search-box{align-items:center;display:flex;position:relative}.kk-mobile__search-icon{color:#94a3b8;pointer-events:none;font-size:.95rem;position:absolute;left:12px}.kk-mobile__search-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:9px 36px 9px 38px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.kk-mobile__search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.kk-mobile__clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem;position:absolute;right:10px}.kk-mobile__filter-tabs{gap:6px;display:flex}.kk-mobile__filter-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.kk-mobile__filter-tab--active{color:#fff;background:#2563eb;border-color:#2563eb}.kk-mobile__tab-count{color:#475569;background:#f1f5f9;border-radius:999px;padding:1px 5px;font-size:.68rem}.kk-mobile__filter-tab--active .kk-mobile__tab-count{color:#fff;background:#ffffff40}.kk-mobile__list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:8px;min-height:0;padding:0 16px 16px;display:flex;overflow-y:auto}.kk-mobile__card{background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:12px;padding:12px;transition:border-color .15s}.kk-mobile__card--completed{border-left-color:#16a34a}.kk-mobile__card--pending{border-left-color:#cbd5e1}.kk-mobile__card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.kk-mobile__card-name{color:#0f172a;word-break:break-word;flex:1;min-width:0;margin:0;font-size:.92rem;font-weight:700;line-height:1.35}.kk-mobile__card-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.kk-mobile__guide-btn{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16.8px;height:16.8px;padding:0;font-size:.8rem;font-weight:800;transition:all .15s;display:inline-flex}.kk-mobile__guide-btn--has-guide{color:#2563eb;background:#eff6ff;border-color:#3b82f6;box-shadow:0 1px 3px #2563eb33}.kk-mobile__guide-btn:active{background:#dbeafe;transform:scale(.9)}.kk-mobile__guide-btn-icon{justify-content:center;align-items:center;line-height:1;display:flex}.kk-mobile__inputs-row{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.kk-mobile__input-group{flex-direction:column;gap:4px;display:flex}.kk-mobile__input-label{color:#475569;justify-content:space-between;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.kk-mobile__unit-tag{color:#64748b;background:#f1f5f9;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.68rem;font-weight:500}.kk-mobile__input-field{color:#0f172a;-webkit-appearance:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:40px;padding:8px 10px;font-size:.95rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.kk-mobile__input-field:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.kk-mobile__input-field:disabled{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.kk-mobile__input-field--over{font-weight:700;color:#dc2626!important}.kk-mobile__result-inline{color:#15803d;white-space:nowrap;text-overflow:ellipsis;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;height:40px;padding:0 10px;font-size:.95rem;font-weight:700;display:flex;overflow:hidden}.kk-mobile__note-input{color:#334155;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:7px 10px;font-size:.8rem;transition:border-color .15s}.kk-mobile__note-input:focus{border-color:#2563eb}.kk-mobile__note-input:disabled{color:#94a3b8;background:#f8fafc}.kk-mobile__empty{text-align:center;color:#94a3b8;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:40px 20px}.kk-mobile__empty-icon{margin-bottom:8px;font-size:1.8rem}.kk-mobile__empty-text{margin:0;font-size:.85rem;font-weight:500}.kk-mobile__actions-bar{z-index:100;-webkit-backdrop-filter:blur(14px);padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:8px;display:flex;box-shadow:0 -2px 12px #0000000f}.kk-mobile__action-info{justify-content:space-between;align-items:center;gap:6px;display:flex}.kk-mobile__action-info-text{color:#64748b;font-size:.78rem;font-weight:500}.kk-mobile__action-info-val{color:#d97706;font-size:.88rem;font-weight:700}.kk-mobile__nguoi-row{align-items:center;gap:8px;display:flex}.kk-mobile__nguoi-label{color:#475569;white-space:nowrap;flex-shrink:0;font-size:.76rem;font-weight:600}.kk-mobile__nguoi-input{color:#0f172a;-webkit-appearance:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;flex:1;height:36px;padding:6px 10px;font-size:.84rem;transition:border-color .15s,box-shadow .15s}.kk-mobile__nguoi-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.kk-mobile__nguoi-input:disabled{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.kk-mobile__btn-group{flex:1;gap:8px;display:flex}.kk-mobile__btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;height:44px;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.kk-mobile__btn:active:not(:disabled){transform:scale(.97)}.kk-mobile__btn--secondary{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.kk-mobile__btn--secondary:hover:not(:disabled){background:#e2e8f0}.kk-mobile__btn--primary{color:#fff;background:#2563eb;box-shadow:0 3px 10px #2563eb47}.kk-mobile__btn--primary:hover:not(:disabled){background:#1d4ed8}.kk-mobile__btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.kk-mobile__photo-btn{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.95rem;transition:all .15s;display:inline-flex}.kk-mobile__photo-btn:active:not(.kk-mobile__photo-btn--disabled){transform:scale(.92)}.kk-mobile__photo-btn--empty{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.kk-mobile__photo-btn--has-photo{color:#059669;background:#ecfdf5;border-color:#10b981;font-size:1.05rem;box-shadow:0 1px 4px #10b98140}.kk-mobile__photo-btn--loading{cursor:wait;background:#f8fafc;border-color:#e2e8f0}.kk-mobile__photo-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.kk-photo-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out kkFadeIn;display:flex;position:fixed;inset:0}.kk-photo-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) kkSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.kk-photo-modal__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.kk-photo-modal__title-group{flex:1;min-width:0}.kk-photo-modal__title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.kk-photo-modal__subtitle{color:#64748b;font-size:.75rem}.kk-photo-modal__close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .15s;display:flex}.kk-photo-modal__close-btn:active{background:#e2e8f0}.kk-photo-modal__body{background:#090d16;flex:1;justify-content:center;align-items:center;min-height:220px;max-height:55vh;display:flex;position:relative;overflow:hidden}.kk-photo-modal__img{object-fit:contain;width:100%;height:100%;max-height:55vh}.kk-photo-modal__loading{text-align:center;color:#fff;padding:40px}.kk-photo-modal__footer{background:#f8fafc;border-top:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px 16px;display:flex}.kk-photo-modal__btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;height:40px;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.kk-photo-modal__btn:active{transform:scale(.96)}.kk-photo-modal__btn--retake{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.kk-photo-modal__btn--delete{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.kk-photo-modal__btn--close{color:#334155;background:#e2e8f0}@keyframes kkFadeIn{0%{opacity:0}to{opacity:1}}@keyframes kkSlideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.kk-guide-modal{max-width:480px}.kk-guide-modal__body{flex-direction:column;min-height:80px;max-height:60vh;padding:0;overflow-y:auto;background:#fff!important;justify-content:flex-start!important;align-items:stretch!important}.kk-guide-modal__img-wrap{background:#090d16;border-bottom:1px solid #e2e8f0;justify-content:center;align-items:center;width:100%;display:flex}.kk-guide-modal__img{object-fit:contain;width:100%;max-height:300px;display:block}.kk-guide-modal__text{padding:16px}.kk-guide-modal__text-label{color:#2563eb;text-transform:uppercase;letter-spacing:.04em;align-items:center;margin-bottom:8px;font-size:.78rem;font-weight:700;display:flex}.kk-guide-modal__text-content{color:#1e293b;white-space:pre-line;margin:0;font-size:.9rem;line-height:1.65}.kk-guide-modal__empty{text-align:center;color:#94a3b8;padding:32px 20px;font-size:.85rem;font-style:italic}.doi-soat-bao-cao__code{min-width:140px}.doi-soat-bao-cao__code-link{font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.doi-soat-bao-cao__status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:86px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.doi-soat-bao-cao__status-badge--missing{color:#8a4b0f;background:#fff3e6}.doi-soat-bao-cao__status-badge--reported{color:#166534;background:#dcfce7}.doi-soat-bao-cao__status-badge--unknown{color:#334155;background:#f1f5f9}.doi-soat-bao-cao__tabs .ant-tabs-content-holder{overflow:visible}.doi-soat-bao-cao__tabs .ant-tabs-tabpane{padding:0}.doi-soat-bao-cao__tabs{flex-direction:column;flex:1;min-height:0;display:flex}.doi-soat-bao-cao__tabs>.ant-tabs-nav{flex-shrink:0;margin-bottom:16px}.doi-soat-bao-cao__tabs>.ant-tabs-content-holder{flex:1;min-height:0}.doi-soat-bao-cao__tabs .ant-tabs-content{height:100%}.doi-soat-bao-cao__tabs .ant-tabs-tabpane-active{flex-direction:column;height:100%;display:flex}.doi-soat-bao-cao__tab-content{flex-direction:column;flex:1;min-height:0;display:flex}.doi-soat-bao-cao__export-btn{border-radius:6px;align-items:center;gap:6px;height:36px;font-size:.82rem;font-weight:600;display:inline-flex}.bao-cao-theo-ky__section{flex-direction:column;flex:1;min-height:0;display:flex}.bao-cao-theo-ky__filter-bar{flex-wrap:wrap;flex-shrink:0;align-items:flex-end;gap:12px 16px;padding:0 0 16px;display:flex}.bao-cao-theo-ky__filter-group{flex-direction:column;gap:4px;min-width:200px;display:flex}.bao-cao-theo-ky__filter-label{color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.bao-cao-theo-ky__filter-actions{align-items:flex-end;padding-bottom:1px;display:flex}.bao-cao-theo-ky__state{text-align:center;color:var(--text-muted,#64748b);padding:40px 20px;font-size:14px}.bao-cao-theo-ky__state--hint{color:var(--text-muted,#94a3b8)}.bao-cao-theo-ky__summary{color:var(--text-muted,#64748b);margin-bottom:8px;font-size:13px}.bao-cao-theo-ky__table-wrap{flex:1;min-height:0;overflow:auto}.cap-tk__password{letter-spacing:.1em;color:var(--theme-text-muted);font-family:ui-monospace,monospace}@media (width<=768px){.cap-tk-page-card{padding:12px}}.cau-hinh-menu-studio{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow:hidden}.chm-unsaved-banner{color:#92400e;box-shadow:var(--shadow-sm);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 18px;animation:.2s ease-in-out fadeIn;display:flex}.chm-unsaved-banner__text{font-size:.88rem}.chm-workspace{flex:1;grid-template-columns:420px 1fr;align-items:stretch;gap:16px;width:100%;min-width:0;min-height:0;display:grid}@media (width>=1280px){.chm-workspace{grid-template-columns:440px 1fr}}@media (width<=1279px) and (width>=1024px){.chm-workspace{grid-template-columns:360px 1fr}}@media (width<=1023px){.chm-workspace{flex:none;grid-template-columns:1fr}}.chm-tree-panel,.chm-detail-panel{background:var(--theme-card);border:1px solid var(--theme-border);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.chm-detail-panel .ant-tabs{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chm-detail-panel .ant-tabs-content-holder{flex:1;min-height:0;overflow:hidden auto}.chm-detail-panel .ant-tabs-content{height:100%}.chm-detail-panel .ant-tabs-nav{border-bottom:1px solid var(--theme-border)!important;background:var(--theme-bg)!important;box-sizing:border-box!important;align-items:center!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0 16px!important;display:flex!important}.chm-detail-panel .ant-tabs-nav:before{display:none!important}.chm-detail-panel .ant-tabs-nav-wrap,.chm-detail-panel .ant-tabs-nav-list{align-items:stretch!important;height:100%!important;display:flex!important}.chm-detail-panel .ant-tabs-tab{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;height:100%!important;margin:0 4px 0 0!important;padding:0 12px!important;display:flex!important}.chm-detail-panel .ant-tabs-tab-btn{align-items:center!important;height:100%!important;display:inline-flex!important}.chm-tab-title{align-items:center;gap:7px;line-height:1.2;display:inline-flex}.chm-tab-title svg{vertical-align:middle;flex-shrink:0;display:inline-block}.chm-editor-card{padding:18px 22px}.chm-panel-header{border-bottom:1px solid var(--theme-border);background:var(--theme-bg);box-sizing:border-box;justify-content:space-between;align-items:center;height:48px;min-height:48px;max-height:48px;padding:0 16px;display:flex}.chm-panel-title{color:var(--theme-text-primary);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.chm-tree-panel__header-actions{align-items:center;gap:4px;display:flex}.chm-tree-panel__count{color:#64748b;border-left:1px solid var(--theme-border);margin-left:6px;padding-left:8px;font-size:12px}.chm-tree-panel__search{border-bottom:1px solid var(--theme-border);background:var(--theme-card);padding:10px 14px}.chm-tree-panel__body{box-sizing:border-box;flex:1;min-height:0;padding:12px;overflow:hidden auto}@media (width<=1023px){.chm-tree-panel__body{flex:none;max-height:420px}}.chm-tree-panel__body .ant-tree,.chm-tree-panel__body .ant-tree-list,.chm-tree-panel__body .ant-tree-list-holder,.chm-tree-panel__body .ant-tree-list-holder-inner,.chm-tree-panel__body .ant-tree-list-holder-inner>div{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.chm-tree-panel__body .ant-tree-treenode{transition:all .15s;box-sizing:border-box!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:3px 0!important;display:flex!important;position:relative!important}.chm-tree-panel__body .ant-tree-treenode.drag-over,.chm-tree-panel__body .ant-tree-treenode.drag-over-gap-top,.chm-tree-panel__body .ant-tree-treenode.drag-over-gap-bottom,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over-gap-top,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over-gap-bottom{z-index:10!important}.chm-tree-panel__body .ant-tree-switcher,.chm-tree-panel__body .ant-tree-indent{display:none!important}.chm-tree-panel__body .ant-tree-node-content-wrapper,.chm-tree-panel__body .ant-tree-title{cursor:default!important;box-sizing:border-box!important;background:0 0!important;border-radius:0!important;flex:100%!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:visible!important}.chm-tree-panel__body .ant-tree-node-content-wrapper:hover,.chm-tree-panel__body .ant-tree-node-selected,.chm-tree-panel__body .ant-tree-title:hover{box-shadow:none!important;background:0 0!important}.chm-tree-panel__body .ant-tree-drop-indicator{z-index:999!important;pointer-events:none!important;background:#2563eb!important;border-radius:3px!important;width:calc(100% - 8px)!important;height:3px!important;position:absolute!important;left:4px!important;right:4px!important;box-shadow:0 0 8px #2563ebcc!important}.chm-tree-panel__body .ant-tree-drop-indicator:after{content:""!important;background-color:#2563eb!important;border:2px solid #fff!important;border-radius:50%!important;width:11px!important;height:11px!important;position:absolute!important;top:-4px!important;left:-2px!important;box-shadow:0 0 6px #2563ebe6!important}.chm-tree-panel__body .ant-tree-treenode.drag-over-gap-top .chm-node,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over-gap-top .chm-node,.chm-tree-panel__body .ant-tree-node-content-wrapper.drag-over-gap-top .chm-node{transform:translateY(2px);background:#eff6ff!important;border-top:3px solid #2563eb!important;border-top-left-radius:2px!important;border-top-right-radius:2px!important;box-shadow:0 -4px 12px #2563eb59!important}.chm-tree-panel__body .ant-tree-treenode.drag-over-gap-bottom .chm-node,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over-gap-bottom .chm-node,.chm-tree-panel__body .ant-tree-node-content-wrapper.drag-over-gap-bottom .chm-node{transform:translateY(-2px);background:#eff6ff!important;border-bottom:3px solid #2563eb!important;border-bottom-right-radius:2px!important;border-bottom-left-radius:2px!important;box-shadow:0 4px 12px #2563eb59!important}.chm-tree-panel__body .ant-tree-treenode.drag-over:not(.drag-over-gap-top):not(.drag-over-gap-bottom) .chm-node,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-drag-over:not(.ant-tree-treenode-drag-over-gap-top):not(.ant-tree-treenode-drag-over-gap-bottom) .chm-node,.chm-tree-panel__body .ant-tree-node-content-wrapper.drag-over:not(.drag-over-gap-top):not(.drag-over-gap-bottom) .chm-node{transform:scale(1.01);background:#eff6ff!important;border:2px dashed #2563eb!important;box-shadow:0 0 0 3px #2563eb40!important}.chm-tree-panel__body .ant-tree-treenode.dragging .chm-node,.chm-tree-panel__body .ant-tree-treenode.ant-tree-treenode-dragging .chm-node,.chm-tree-panel__body .ant-tree-treenode-draggable.dragging .chm-node{opacity:.45!important;background:#f1f5f9!important;border:1px dashed #94a3b8!important}.chm-node-wrapper{box-sizing:border-box;align-items:center;width:100%;display:flex}.chm-tree-branch{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:flex-end;align-items:center;padding-right:6px;display:flex}.chm-tree-branch__elbow{color:#3b82f6;opacity:.8;font-family:monospace;font-size:14px;font-weight:700;line-height:1}.chm-node{background:var(--theme-card)!important;border:1px solid var(--theme-border)!important;box-sizing:border-box!important;border-radius:8px!important;flex:1!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;height:50px!important;padding:0 10px!important;transition:all .18s cubic-bezier(.4,0,.2,1)!important;display:flex!important;overflow:hidden!important}.chm-node--level-0{background:#fff!important;box-shadow:0 1px 3px #0000000a!important}.chm-node--level-0:hover{background:#f8fafc!important;border-color:#3b82f6!important;box-shadow:0 2px 6px #2563eb1a!important}.chm-node--level-1{background:#f8fafc!important;border-color:#e2e8f0!important}.chm-node--level-1:hover{background:#f0f9ff!important;border-color:#38bdf8!important;box-shadow:0 2px 5px #0284c71f!important}.chm-node--level-2,.chm-node--level-3,.chm-node--level-4{background:#faf5ff!important;border-color:#e9d5ff!important}.chm-node--level-2:hover,.chm-node--level-3:hover,.chm-node--level-4:hover{background:#f3e8ff!important;border-color:#a855f7!important;box-shadow:0 2px 5px #8b5cf61f!important}.chm-node--selected{border-color:var(--theme-primary)!important;background:#eff6ff!important;box-shadow:0 0 0 2px #2563eb40!important}.chm-node--inactive{opacity:.55;background:var(--theme-bg)!important}.chm-node__left{flex:1!important;align-items:center!important;gap:6px!important;min-width:0!important;display:flex!important;overflow:hidden!important}.chm-node__chevron-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:transform .2s,background-color .15s;display:inline-flex}.chm-node__chevron-btn:hover{color:#0f172a;background:#e2e8f0}.chm-node__chevron-btn--expanded{color:#2563eb;transform:rotate(90deg)}.chm-node__chevron-placeholder{flex-shrink:0;width:20px;height:20px}.chm-node__grip{color:#94a3b8!important;cursor:grab!important;flex-shrink:0!important;align-items:center!important;display:flex!important}.chm-node__grip:hover{color:#475569!important}.chm-node__icon-box{background:var(--theme-bg)!important;width:28px!important;height:28px!important;color:var(--theme-text-primary)!important;border-radius:6px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;font-size:14px!important;display:flex!important}.chm-node__icon-box--level-0{color:#2563eb!important;background:#eff6ff!important}.chm-node__icon-box--level-1{color:#059669!important;background:#f0fdf4!important}.chm-node__icon-box--level-2,.chm-node__icon-box--level-3{color:#7c3aed!important;background:#f5f3ff!important}.chm-node--selected .chm-node__icon-box{background:var(--theme-primary)!important;color:#fff!important}.chm-node__info{flex-direction:column!important;flex:1!important;min-width:0!important;display:flex!important;overflow:hidden!important}.chm-node__title-row{align-items:center!important;gap:6px!important;width:100%!important;min-width:0!important;display:flex!important;overflow:hidden!important}.chm-node__title{color:var(--theme-text-primary)!important;white-space:nowrap!important;text-overflow:ellipsis!important;flex:auto!important;min-width:0!important;font-size:.84rem!important;font-weight:600!important;line-height:1.3!important;overflow:hidden!important}.chm-node--level-0 .chm-node__title{font-size:.86rem!important;font-weight:700!important}.chm-node__tag-badge{border-radius:4px!important;flex-shrink:0!important;margin:0!important;padding:0 5px!important;font-size:10px!important;line-height:16px!important}.chm-node__route{color:var(--theme-text-muted)!important;white-space:nowrap!important;text-overflow:ellipsis!important;width:100%!important;min-width:0!important;font-family:monospace!important;font-size:.72rem!important;line-height:1.2!important;display:block!important;overflow:hidden!important}.chm-node__right{flex-shrink:0!important;align-items:center!important;gap:6px!important;margin-left:auto!important;display:flex!important}.chm-node__actions{align-items:center;gap:2px;display:flex}.chm-section-divider{color:var(--theme-text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin:14px 0 10px;font-size:.75rem;font-weight:700;display:flex}.chm-section-divider:after{content:"";background:var(--theme-border);flex:1;height:1px}.chm-icon-picker-btn{border:1px solid var(--theme-border);background:var(--theme-bg);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:10px;width:100%;padding:6px 12px;transition:all .15s;display:flex}.chm-icon-picker-btn:hover{border-color:var(--theme-primary);background:#fff}.chm-icon-picker-preview{background:var(--theme-primary-soft);width:32px;height:32px;color:var(--theme-primary);border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:flex}.chm-icon-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:240px;padding:4px;display:grid;overflow-y:auto}.chm-icon-option{border:1px solid var(--theme-border);background:var(--theme-card);cursor:pointer;text-align:center;color:var(--theme-text-primary);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:10px;transition:all .15s;display:flex}.chm-icon-option:hover{border-color:var(--theme-primary);background:var(--theme-primary-soft);color:var(--theme-primary);transform:translateY(-1px)}.chm-icon-option--selected{border-color:var(--theme-primary)!important;background:var(--theme-primary)!important;color:#fff!important}.chm-simulator{color:#fff;box-shadow:var(--shadow-lg);background:#0f172a;border-radius:8px;padding:14px}.chm-simulator__header{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.chm-simulator__brand{color:#f8fafc;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.chm-simulator__menu{flex-direction:column;gap:3px;display:flex}.chm-simulator__item{color:#94a3b8;cursor:default;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:.8rem;transition:all .15s;display:flex}.chm-simulator__item:hover,.chm-simulator__item--active{color:#38bdf8;background:#1e293b}.chm-simulator__sub-menu{border-left:1px solid #334155;flex-direction:column;gap:2px;margin-top:2px;margin-left:20px;padding-left:8px;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.promotion-form-scrollable,.khuyen-mai-form-scrollable{flex:1;min-height:0;padding-bottom:40px;padding-right:6px;overflow:hidden auto}.promotion-page-container,.khuyen-mai-page-container{grid-template-columns:1fr 340px;align-items:start;gap:20px;max-width:1400px;display:grid}@media (width<=1100px){.promotion-page-container,.khuyen-mai-page-container{grid-template-columns:1fr}}.promotion-form-card,.khuyen-mai-form-card{background:var(--theme-card);border:1px solid var(--theme-border);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:20px;padding:24px}.promotion-section-title,.khuyen-mai-section-title{color:var(--theme-text-primary);border-bottom:1px solid var(--theme-border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:10px;font-size:16px;font-weight:600;display:flex}.promotion-section-title .section-number,.khuyen-mai-section-title .section-number{background:var(--theme-primary-soft);width:24px;height:24px;color:var(--theme-primary);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.promotion-form-grid,.khuyen-mai-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.promotion-form-field,.khuyen-mai-form-field{flex-direction:column;gap:6px;display:flex}.promotion-form-field label,.khuyen-mai-form-field label{color:var(--theme-text-primary);font-size:13px;font-weight:500}.promotion-form-field label .required-mark,.khuyen-mai-form-field label .required-mark{color:var(--theme-danger);margin-left:2px}.promotion-form-field .field-hint,.khuyen-mai-form-field .field-hint{color:var(--theme-text-muted);font-size:12px}.rule-builder-container{flex-direction:column;gap:12px;display:flex}.rule-builder-row{background:var(--theme-bg);border:1px solid var(--theme-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.rule-builder-badge{color:var(--theme-primary);background:var(--theme-primary-soft);white-space:nowrap;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.rule-builder-controls{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:280px;display:flex}.rule-builder-controls .rule-select{min-width:160px}.rule-builder-controls .rule-op-select{min-width:100px}.rule-builder-controls .rule-input{min-width:130px}.rule-empty-state{text-align:center;background:var(--theme-bg);border:1px dashed var(--theme-border);color:var(--theme-text-muted);border-radius:6px;padding:20px;font-size:13px}.channel-checkbox-group{flex-wrap:wrap;gap:20px;padding:12px 0;display:flex}.channel-warning-box{background:var(--theme-warning-bg);color:var(--theme-warning-text);border:1px solid #fde68a;border-radius:6px;align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.promotion-preview-sticky,.khuyen-mai-preview-sticky{flex-direction:column;gap:16px;display:flex;position:sticky;top:0}.promotion-preview-card,.khuyen-mai-preview-card{border:2px dashed var(--theme-primary);box-shadow:var(--shadow-md);background:#fff;border-radius:12px;padding:20px;position:relative;overflow:hidden}.preview-voucher-tag{background:var(--theme-primary);color:#fff;letter-spacing:.5px;border-radius:6px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.preview-title{color:var(--theme-text-primary);margin-bottom:6px;font-size:16px;font-weight:700}.preview-desc{color:var(--theme-text-muted);margin-bottom:14px;font-size:13px}.preview-rule-box{background:var(--theme-bg);border-radius:6px;margin-bottom:12px;padding:12px;font-size:13px}.preview-rule-title{color:var(--theme-text-primary);margin-bottom:6px;font-weight:600}.preview-rule-item{color:var(--theme-text-muted);align-items:center;gap:6px;margin-bottom:4px;display:flex}.preview-action-box{background:var(--theme-success-bg);color:var(--theme-success-text);border:1px solid #bbf7d0;border-radius:6px;padding:12px;font-size:14px;font-weight:600}.preview-time-box{border-top:1px dashed var(--theme-border);color:var(--theme-text-muted);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.promotion-sticky-footer,.khuyen-mai-sticky-footer{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--theme-border);background:#fffffff2;border-radius:8px;justify-content:flex-end;gap:12px;margin-top:20px;padding:14px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #0000000f}.source-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.source-badge--pos{color:#0369a1;background-color:#e0f2fe}.source-badge--grab{color:#15803d;background-color:#dcfce7}.source-badge--shopeefood{color:#c2410c;background-color:#ffedd5}.source-badge--befood{color:#a16207;background-color:#fef9c3}.source-badge--other{color:#4b5563;background-color:#f3f4f6}.mapping-modal-content{flex-direction:column;gap:16px;display:flex}.mapping-source-card{background:var(--theme-bg,#f9fafb);border:1px solid var(--theme-border,#e5e7eb);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.mapping-source-card__item{flex-direction:column;gap:2px;display:flex}.mapping-source-card__title{text-transform:uppercase;color:var(--theme-text-secondary,#6b7280);font-size:11px;font-weight:600}.mapping-source-card__val{color:var(--theme-text-primary,#111827);font-size:14px;font-weight:600}.mapping-search-section{flex-direction:column;gap:8px;display:flex}.mapping-search-title{color:var(--theme-text-primary,#111827);font-size:13px;font-weight:600}.mapping-results-table{border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;max-height:260px;overflow:hidden auto}.mapping-results-table table{border-collapse:collapse;width:100%;font-size:13px}.mapping-results-table th{background:var(--theme-bg,#f9fafb);text-align:left;color:var(--theme-text-secondary,#6b7280);border-bottom:1px solid var(--theme-border,#e5e7eb);z-index:1;padding:8px 12px;font-weight:600;position:sticky;top:0}.mapping-results-table td{border-bottom:1px solid var(--theme-border,#e5e7eb);color:var(--theme-text-primary,#111827);padding:8px 12px}.mapping-results-table tr.is-selected{background-color:#eff6ff!important}.mapping-results-table tbody tr:hover{cursor:pointer;background-color:#2563eb0a}.mapping-preview-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.mapping-preview-card__header{text-transform:uppercase;color:#166534;letter-spacing:.3px;font-size:12px;font-weight:700}.mapping-preview-card__grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.mapping-preview-card__box{background:#fff;border:1px solid #dcfce7;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.mapping-preview-card__box-title{color:#15803d;font-size:11px;font-weight:600}.mapping-preview-card__box-name{color:#111827;font-size:13px;font-weight:700}.mapping-preview-card__box-meta{color:#4b5563;font-size:12px}.mapping-preview-card__arrow{color:#16a34a;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}@media (width<=640px){.mapping-preview-card__grid{grid-template-columns:1fr}.mapping-preview-card__arrow{transform:rotate(90deg)}}.bc-thoi-gian{flex-direction:column;gap:16px;padding-bottom:24px;display:flex}.bc-thoi-gian__legend{color:#64748b;align-items:center;gap:16px;margin-bottom:12px;font-size:12px;display:flex}.bc-thoi-gian__legend-item{align-items:center;gap:6px;display:inline-flex}.bc-thoi-gian__legend-badge{border-radius:3px;width:12px;height:12px}.bc-thoi-gian__legend-badge--up{background:var(--theme-success-bg,#f0fdf4);border:1px solid #86efac}.bc-thoi-gian__legend-badge--down{background:var(--theme-danger-bg,#fef2f2);border:1px solid #fca5a5}.bc-thoi-gian__cell-num{text-align:right;font-variant-numeric:tabular-nums;border-radius:4px;justify-content:flex-end;align-items:center;gap:4px;padding:4px 8px;font-weight:500;display:flex}.bc-thoi-gian__cell-num--up{background-color:var(--theme-success-bg,#f0fdf4);color:var(--theme-success-text,#166534);font-weight:600}.bc-thoi-gian__cell-num--down{background-color:var(--theme-danger-bg,#fef2f2);color:var(--theme-danger-text,#991b1b);font-weight:600}.bc-thoi-gian__cell-num--neutral{color:#334155}.bc-thoi-gian__cell-num--zero{color:#94a3b8;font-weight:400}.bc-thoi-gian__cell-trend-icon{font-size:10px;line-height:1}.bc-thoi-gian__total-cell{text-align:right;color:#0f172a;font-variant-numeric:tabular-nums;background-color:#f1f5f9;border-radius:4px;padding:4px 8px;font-weight:700}.bc-thoi-gian__store-name{color:#1e293b;align-items:center;gap:6px;font-weight:600;display:flex}.bc-thoi-gian__stt{text-align:center;color:#64748b;font-weight:500}.ant-table-measure-row,.ant-table-measure-row td{border:0!important;height:0!important;padding:0!important;font-size:0!important;line-height:0!important}.paged-data-table .ant-table-tbody>tr.ant-table-row>td{padding:5px 12px;font-size:13px}.paged-data-table .ant-table-summary>tr>td{color:#0f172a;background:#f8fafc;border-top:2px solid #cbd5e1;padding:5px 12px;font-size:13px;font-weight:700}
