@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-title:20px;--fw-regular:400;--fw-medium:450;--fw-semibold:550;--color-primary:#08f;--color-primary-hover:#0077e6;--color-primary-bg:#e6f4ff;--color-sidebar-bg:#1a2638;--color-sidebar-hover:#253347;--color-sidebar-active:#2b4263;--color-sidebar-text:#eeefef;--color-sidebar-text-active:#fff;--color-sidebar-section:#8a95a5;--color-sidebar-border:#253347;--color-bg:#f9f9f9;--color-surface:#fff;--color-border:#e8eaeb;--color-border-strong:#d3d5d7;--color-text:#0f1824;--color-text-muted:#747c87;--color-text-subtle:#8a95a5;--color-link:#08f;--color-warning-bg:#fffbf2;--color-warning-text:#e49c06;--color-warning-dot:#e49c06;--color-success-bg:#ecf7ec;--color-success-text:#389e0d;--color-success-dot:#389e0d;--color-danger-bg:#ffeaea;--color-danger-text:#cf1322;--color-danger-dot:#cf1322;--color-info-bg:#e6f0ff;--color-info-text:#1d4ed8;--color-info-dot:#1d4ed8;--color-neutral-bg:#f3f4f5;--color-neutral-text:#747c87;--color-neutral-dot:#8a95a5;--color-table-header-bg:#f4f6f8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:20px;--radius-chip:0px;--shadow-card:#0000001a 0px 1px 3px 1px, #00000026 0px 1px 2px 0px;--shadow-sm:0 1px 2px #0f18240a;--shadow-md:0 4px 12px #0f182414;--shadow-lg:0 8px 24px #0f18241f;--sidebar-w:230px;--sidebar-w-collapsed:56px;--topbar-h:52px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--color-text);background:var(--color-bg);line-height:20px}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}table{border-collapse:collapse}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:2px solid var(--color-bg);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}@keyframes spin{to{transform:rotate(360deg)}}.sap-sidebar{width:var(--sidebar-w);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;transition:width .2s;display:flex;position:sticky;top:0}.sap-sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sap-sidebar-top{height:var(--topbar-h);border-bottom:1px solid var(--color-sidebar-border);align-items:center;gap:8px;padding:0 16px;display:flex}.sap-sidebar-logo{flex:1;overflow:hidden}.sap-logo-text{font-size:18px;font-weight:var(--fw-semibold);color:#fff;letter-spacing:.02em}.sap-logo-mini{background:var(--color-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:inline-flex}.sap-sidebar-toggle{color:var(--color-sidebar-text);opacity:.5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.sap-sidebar-toggle:hover{opacity:1;background:var(--color-sidebar-hover)}.sap-sidebar-nav{flex:1;padding:8px 0 16px;overflow-y:auto}.sap-sidebar-nav::-webkit-scrollbar{width:4px}.sap-sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a}.sap-nav-group{margin-bottom:4px}.sap-nav-parent{background:var(--color-primary);color:#fff;width:100%;font-size:15px;font-weight:var(--fw-medium);text-align:left;cursor:pointer;border:none;align-items:center;gap:12px;min-height:40px;padding:8px 16px;display:flex;position:relative}.sap-nav-parent:before{content:"";background:#fff3;width:1px;position:absolute;top:8px;bottom:8px;right:40px}.sap-nav-parent:hover{background:#0077e6}.sap-nav-parent .sap-nav-text{flex:1}.sap-nav-parent .sap-nav-caret{opacity:.6;display:inline-flex}.sap-nav-heading{font-size:11px;font-weight:var(--fw-semibold);color:var(--color-sidebar-section);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:14px 16px 6px;display:flex}.sap-nav-add{color:var(--color-sidebar-section);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:inline-flex}.sap-nav-add:hover{color:#fff;background:var(--color-sidebar-hover)}.sap-nav-divider{background:var(--color-sidebar-border);height:1px;margin:10px 12px}.sap-nav-item{width:100%;min-height:36px;color:var(--color-sidebar-text);font-size:14px;font-weight:var(--fw-medium);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:6px 16px;text-decoration:none;transition:background .12s,color .12s;display:flex}.sap-nav-item:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active);text-decoration:none}.sap-nav-item.active{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active);font-weight:var(--fw-semibold)}.sap-nav-icon{opacity:.85;flex-shrink:0;justify-content:center;align-items:center;width:18px;display:inline-flex}.sap-nav-item.active .sap-nav-icon{opacity:1}.sap-nav-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sap-nav-badge{color:#fff;text-align:center;background:#ff4d4f;border-radius:10px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:600;line-height:16px}.sap-nav-subs{padding:2px 0 6px}.sap-nav-sub{color:var(--color-sidebar-text);opacity:.85;align-items:center;gap:8px;min-height:30px;padding:6px 16px 6px 46px;font-size:13.5px;text-decoration:none;transition:background .12s,opacity .12s,color .12s;display:flex}.sap-nav-sub:hover{color:#fff;opacity:1;background:var(--color-sidebar-hover);text-decoration:none}.sap-nav-sub.active{color:#fff;opacity:1;font-weight:var(--fw-semibold)}.sap-nav-sub-dot{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px}.sap-nav-sub.active .sap-nav-sub-dot{opacity:1}.sap-topbar{height:var(--topbar-h);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;align-items:center;gap:16px;padding:0 20px;display:flex;position:sticky;top:0}.sap-topbar-search{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid #0000;flex:1;align-items:center;gap:8px;max-width:640px;height:36px;padding:0 12px;display:flex}.sap-topbar-search:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.sap-topbar-search-icon{opacity:.5;color:var(--color-text-muted)}.sap-topbar-search input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.sap-topbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.sap-topbar-btn{border-radius:var(--radius-md);height:36px;color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;font-size:14px;display:inline-flex}.sap-topbar-btn:hover{background:var(--color-bg);color:var(--color-text)}.sap-topbar-bell{justify-content:center;width:36px;padding:0}.sap-topbar-user{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;height:36px;padding:0 8px 0 4px;display:flex;position:relative}.sap-topbar-user:hover{background:var(--color-bg)}.sap-topbar-avatar{color:#fff;background:linear-gradient(135deg,#a06cd5,#6b40a3);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.sap-topbar-bell{position:relative}.sap-topbar-bell:after{content:attr(data-count);color:#fff;background:#ff4d4f;border-radius:10px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:4px;right:4px}.sap-topbar-bell[data-count=""]:after,.sap-topbar-bell:not([data-count]):after{display:none}.sap-topbar-username{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;font-weight:500;overflow:hidden}.sap-topbar-caret{opacity:.6}.sap-topbar-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:220px;box-shadow:var(--shadow-md);z-index:50;padding:4px;position:absolute;top:44px;right:0}.sap-topbar-menu-header{border-bottom:1px solid var(--color-border);padding:12px}.sap-topbar-menu-name{font-size:13px;font-weight:600}.sap-topbar-menu-email{color:var(--color-text-muted);margin-top:2px;font-size:12px}.sap-topbar-menu-item{text-align:left;width:100%;color:var(--color-text);border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.sap-topbar-menu-item:hover{background:var(--color-bg)}.sap-app{background:var(--color-bg);min-height:100vh;display:flex}.sap-main{flex-direction:column;flex:1;min-width:0;display:flex}.sap-content{flex:1;min-width:0;padding:24px}.login-page{background:radial-gradient(80% 50% at 50% -5%,#c9a84c14 0%,#0000 60%),#000;flex-direction:column;align-items:center;min-height:100vh;display:flex}.vt-wrap{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;top:16px;right:16px}.vt-label{color:#ffffff4d;letter-spacing:.04em;font-size:11px}.vt-pills{gap:4px;display:flex}.vt-pill{color:#ffffff59;background:0 0;border:1px solid #ffffff14;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s}.vt-pill.active{color:#c9a84c;background:#c9a84c26;border-color:#c9a84c4d}.login-desktop{flex:1;justify-content:center;align-items:center;width:100%;padding:40px 20px;display:flex}.bg-glow{pointer-events:none;background:radial-gradient(circle,#c9a84c0f 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:fixed;top:-200px;left:50%;transform:translate(-50%)}.login-card{width:380px;animation:.6s cubic-bezier(.16,1,.3,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.login-logo{text-align:center;margin-bottom:28px}.logo-box{background:linear-gradient(145deg,#c9a84c,#e8c96a);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 12px;display:flex;box-shadow:0 8px 28px #c9a84c4d}.logo-box span{color:#000;font-size:24px;font-weight:700}.logo-name{color:#f5f5f7;letter-spacing:-.02em;font-size:22px;font-weight:700}.logo-tagline{color:#f5f5f74d;margin-top:3px;font-size:13px;font-weight:300}.login-glass{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:28px;box-shadow:0 32px 80px #00000080,inset 0 1px #ffffff0f}.form-title{color:#f5f5f7;letter-spacing:-.025em;margin-bottom:4px;font-size:22px;font-weight:700}.form-sub{color:#f5f5f759;margin-bottom:24px;font-size:14px;font-weight:300}.field{margin-bottom:10px}.pass-field{position:relative}.field-input{color:#f5f5f7;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:11px;outline:none;width:100%;height:46px;padding:0 14px;font-size:15px;transition:border-color .15s,background .15s}.field-input:focus{background:#ffffff14;border-color:#c9a84c73}.field-input::placeholder{color:#f5f5f740}.show-pass{color:#f5f5f766;background:0 0;border:none;padding:4px;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.error-msg{color:#ff6961;background:#ff453a1a;border:1px solid #ff453a33;border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:13px}.btn-primary{color:#000;letter-spacing:-.01em;background:linear-gradient(#c9a84c 0%,#b8943e 100%);border:none;border-radius:11px;justify-content:center;align-items:center;width:100%;height:46px;margin-top:4px;font-size:15px;font-weight:700;transition:opacity .15s;display:flex;box-shadow:0 4px 16px #c9a84c4d}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.6}.divider{align-items:center;gap:10px;margin:16px 0;display:flex}.divider:before,.divider:after{content:"";background:#ffffff14;flex:1;height:1px}.divider span{color:#f5f5f740;font-size:12px}.btn-otp{color:#f5f5f799;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;font-size:15px;transition:all .15s;display:flex}.btn-otp:hover{color:#f5f5f7;background:#ffffff14}.secure-note{text-align:center;color:#f5f5f740;justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:12px;display:flex}.secure-dot{background:#30d158;border-radius:50%;width:5px;height:5px;display:inline-block}.login-mobile-wrap{flex:1;justify-content:center;align-items:center;padding:30px 20px;display:flex}.phone-frame{background:#000;border:1px solid #ffffff1a;border-radius:48px;width:375px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 40px 80px #000c,0 0 80px #c9a84c0f}.status-bar{justify-content:space-between;align-items:center;height:44px;padding:12px 24px 0;display:flex}.status-time{color:#f5f5f7;font-size:15px;font-weight:600}.status-icons{color:#f5f5f7;align-items:center;gap:5px;font-size:11px;display:flex}.dynamic-island{background:#000;border-radius:20px;justify-content:center;align-items:center;gap:8px;width:120px;height:34px;margin:0 auto 4px;display:flex}.di-sensor{background:#1a1a1a;border-radius:50%;width:10px;height:10px}.di-camera{background:#1a1a1a;border-radius:50%;width:14px;height:14px}.mobile-body{padding:16px 24px 32px}.m-logo-wrap{text-align:center;padding:16px 0 24px}.m-logo-box{background:linear-gradient(145deg,#c9a84c,#e8c96a);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 12px;display:flex;box-shadow:0 6px 20px #c9a84c4d}.m-logo-box span{color:#000;font-size:22px;font-weight:700}.m-brand{color:#f5f5f7;letter-spacing:-.02em;font-size:20px;font-weight:700}.m-tagline{color:#f5f5f74d;margin-top:3px;font-size:12px}.m-title{color:#f5f5f7;letter-spacing:-.025em;margin-bottom:4px;font-size:24px;font-weight:700}.m-sub{color:#f5f5f759;margin-bottom:24px;font-size:14px;font-weight:300}.m-field{margin-bottom:12px}.m-label{color:#f5f5f780;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.m-pass-wrap{position:relative}.m-input{color:#f5f5f7;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:13px;outline:none;width:100%;height:50px;padding:0 16px;font-size:16px;transition:border-color .15s}.m-input:focus{border-color:#c9a84c66}.m-input::placeholder{color:#f5f5f733}.m-show-pass{color:#f5f5f766;background:0 0;border:none;font-size:16px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.m-forgot-row{text-align:right;margin:-4px 0 16px}.m-forgot{color:#c9a84c;font-size:13px;font-weight:500}.m-btn-primary{color:#000;background:linear-gradient(#c9a84c 0%,#b8943e 100%);border:none;border-radius:14px;justify-content:center;align-items:center;width:100%;height:52px;font-size:17px;font-weight:700;transition:opacity .15s;display:flex;box-shadow:0 4px 20px #c9a84c59}.m-btn-primary:disabled{opacity:.6}.m-divider{align-items:center;gap:10px;margin:16px 0;display:flex}.m-divider:before,.m-divider:after{content:"";background:#ffffff14;flex:1;height:1px}.m-divider span{color:#f5f5f740;font-size:12px}.m-btn-otp{color:#f5f5f78c;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;height:50px;font-size:15px;display:flex}.m-secure{text-align:center;color:#f5f5f740;justify-content:center;align-items:center;gap:5px;margin-top:18px;font-size:11px;display:flex}.m-secure-dot{background:#30d158;border-radius:50%;width:5px;height:5px;display:inline-block}.cp-page{background:radial-gradient(80% 50% at 50% -5%,#c9a84c14 0%,#0000 60%),#000;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.cp-card{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:20px;width:380px;padding:32px;animation:.5s cubic-bezier(.16,1,.3,1) both rise;box-shadow:0 32px 80px #00000080}.cp-logo{justify-content:center;align-items:center;gap:8px;margin-bottom:24px;display:flex}.cp-logo-box{color:#000;background:linear-gradient(145deg,#c9a84c,#e8c96a);border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.cp-logo-name{color:#f5f5f7;font-size:16px;font-weight:700}.cp-icon{text-align:center;margin-bottom:12px;font-size:36px}.cp-title{color:#f5f5f7;text-align:center;letter-spacing:-.025em;margin-bottom:6px;font-size:22px;font-weight:700}.cp-sub{color:#f5f5f766;text-align:center;margin-bottom:24px;font-size:13px;line-height:1.6}.cp-sub strong{color:#c9a84c}.cp-field{margin-bottom:12px}.cp-label{color:#f5f5f780;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.cp-input-wrap{position:relative}.cp-input{color:#f5f5f7;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:11px;outline:none;width:100%;height:46px;padding:0 14px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .15s}.cp-input:focus{border-color:#c9a84c66}.cp-input::placeholder{color:#f5f5f733}.cp-show{cursor:pointer;color:#f5f5f766;background:0 0;border:none;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.cp-strength{gap:4px;margin:8px 0 4px;display:flex}.cp-bar{background:#ffffff1a;border-radius:2px;flex:1;height:3px;transition:background .2s}.cp-bar.ok{background:#30d158}.cp-rules{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.cp-rules span{color:#f5f5f740;font-size:11px;transition:color .2s}.cp-rules span.ok{color:#30d158}.cp-error{color:#ff6961;background:#ff453a1a;border:1px solid #ff453a33;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.cp-btn{color:#000;cursor:pointer;background:linear-gradient(#c9a84c,#b8943e);border:none;border-radius:11px;justify-content:center;align-items:center;width:100%;height:46px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:opacity .15s;display:flex;box-shadow:0 4px 16px #c9a84c4d}.cp-btn:hover{opacity:.88}.cp-btn:disabled{opacity:.6}.cp-logout{color:#f5f5f740;cursor:pointer;background:0 0;border:none;width:100%;margin-top:14px;padding:6px;font-family:DM Sans,sans-serif;font-size:13px}.cp-logout:hover{color:#f5f5f780}.spinner{border:2px solid #0000004d;border-top-color:#000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.sap-btn{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);height:36px;color:var(--color-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:400;transition:background .12s,border-color .12s;display:inline-flex}.sap-btn:hover{background:#f4f6f8}.sap-btn:disabled{opacity:.4;cursor:not-allowed}.sap-btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);padding:7px 16px}.sap-btn.primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.sap-btn.ghost{color:var(--color-text);background:0 0;border-color:#0000;font-weight:400}.sap-btn.ghost:hover{background:#f4f6f8}.sap-btn.ghost-primary{color:var(--color-primary);border-color:var(--color-primary);background:#fff;padding:7px 16px;font-weight:400}.sap-btn.ghost-primary:hover{background:#0088ff0f}.sap-btn.danger{background:var(--color-danger-dot);color:#fff;border-color:var(--color-danger-dot)}.sap-btn.sm{height:28px;padding:4px 10px;font-size:13px}.sap-btn.lg{height:40px;padding:8px 18px;font-size:15px}.sap-page-header{align-items:center;gap:12px;min-height:36px;margin-bottom:16px;display:flex}.sap-page-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.sap-page-header-back{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.sap-page-header-back:hover{background:#f4f6f8}.sap-page-header-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:#000;line-height:1.2}.sap-page-header-sub{font-size:var(--fs-base);color:var(--color-text-muted);margin-top:2px}.sap-page-header-actions{align-items:center;gap:8px;display:flex}.sap-page-header-badges{gap:6px;margin-left:12px;display:inline-flex}.sap-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.sap-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:52px;padding:14px 20px;display:flex}.sap-card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.sap-card-body{padding:16px 20px}.sap-card-body.pad-0{padding:0}.sap-pill{border-radius:var(--radius-pill);font-size:var(--fs-base);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:4px 12px;line-height:20px;display:inline-flex}.sap-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sap-pill.warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.sap-pill.success{background:var(--color-success-bg);color:var(--color-success-text)}.sap-pill.danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.sap-pill.info{background:var(--color-info-bg);color:var(--color-info-text)}.sap-pill.neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.sap-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface);height:47px;padding:0 20px;display:flex}.sap-tab{cursor:pointer;height:47px;font-size:var(--fs-base);color:var(--color-text-muted);font-weight:var(--fw-medium);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:4px 16px 6px;display:inline-flex}.sap-tab:hover{color:var(--color-text)}.sap-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.sap-tab-badge{background:var(--color-bg);color:var(--color-text-muted);text-align:center;border-radius:10px;min-width:20px;padding:0 8px;font-size:12px}.sap-filter-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.sap-filter-search{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex:1;align-items:center;gap:8px;min-width:280px;height:36px;padding:0 12px;display:flex}.sap-filter-search:focus-within{border-color:var(--color-primary)}.sap-filter-search input{font-size:var(--fs-base);font-weight:var(--fw-medium);background:0 0;border:none;outline:none;flex:1}.sap-filter-chip{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-chip);height:36px;color:var(--color-text);align-items:center;gap:6px;padding:7px 16px;font-size:14px;font-weight:400;display:inline-flex}.sap-filter-chip:hover{background:#f4f6f8}.sap-table-wrap{background:var(--color-surface)}.sap-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.sap-table thead th{text-align:left;font-weight:var(--fw-semibold);color:var(--color-text);font-size:var(--fs-base);background:var(--color-table-header-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:14px 16px}.sap-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text);padding:8px 16px}.sap-table tbody tr:hover{background:#fafbfc}.sap-table tbody tr:last-child td{border-bottom:none}.sap-table-empty{text-align:center;color:var(--color-text-muted);padding:60px 20px}.sap-table td.num,.sap-table th.num{text-align:right;font-variant-numeric:tabular-nums}.sap-table a.sap-code{color:var(--color-primary);font-weight:var(--fw-medium)}.sap-table a.sap-code:hover{text-decoration:underline}.sap-pagination{border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);align-items:center;gap:16px;padding:14px 20px;font-size:14px;display:flex}.sap-pagination-info{flex:1}.sap-pagination-size select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);height:30px;padding:0 8px}.sap-pagination-nav{gap:4px;display:flex}.sap-pagination-nav button{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-md);min-width:30px;height:30px;padding:0 10px;font-size:13px}.sap-pagination-nav button:hover:not(:disabled){background:#f4f6f8}.sap-pagination-nav button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sap-pagination-nav button:disabled{opacity:.4;cursor:not-allowed}.sap-empty{text-align:center;padding:60px 20px}.sap-empty-icon{opacity:.4;margin-bottom:12px;font-size:48px}.sap-empty-title{font-size:var(--fs-md);font-weight:var(--fw-medium);margin-bottom:4px}.sap-empty-sub{font-size:var(--fs-sm);color:var(--color-text-muted);margin-bottom:16px}.sap-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#eee 0%,#f5f5f5 50%,#eee 100%) 0 0/200% 100%;animation:1.2s ease-in-out infinite sap-skel}@keyframes sap-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.sap-stepper{gap:4px;padding:20px;display:flex}.sap-step{flex-direction:column;flex:1;gap:6px;display:flex;position:relative}.sap-step-dot{background:var(--color-border-strong);border-radius:50%;width:10px;height:10px}.sap-step.done .sap-step-dot{background:var(--color-success-dot)}.sap-step.active .sap-step-dot{background:var(--color-primary)}.sap-step.danger .sap-step-dot{background:var(--color-danger-dot)}.sap-step-label{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.sap-step-sub{color:var(--color-text-muted);font-size:11px}.sap-step:after{content:"";background:var(--color-border);height:2px;position:absolute;top:4px;left:14px;right:-4px}.sap-step:last-child:after{display:none}.sap-step.done:after{background:var(--color-success-dot)}.sap-bulk-bar{color:var(--color-primary);background:#e6f4ff;border-bottom:1px solid #bae0ff;align-items:center;gap:8px;padding:10px 20px;display:flex}.sap-bulk-count{font-size:13px}.sap-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:inline-flex}.sap-th-sort .sap-sort-icon{opacity:.4;font-size:11px}.sap-th-sort:hover .sap-sort-icon{opacity:.8}.sap-th-sort.active .sap-sort-icon{opacity:1;color:var(--color-primary)}.sap-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;padding:12px 14px}.sap-page{max-width:1400px;margin:0 auto}.sap-two-col{grid-template-columns:1fr 360px;gap:16px;display:grid}.sap-two-col>.main,.sap-two-col>.side{flex-direction:column;gap:16px;display:flex}@media (width<=1100px){.sap-two-col{grid-template-columns:1fr}}@media (width<=1024px){.sap-hide-sm{display:none!important}.sap-filter-chip{padding:7px 10px;font-size:13px}.sap-filter-search{min-width:200px}.sap-pagination-info,.sap-pagination-size{display:none}.sap-pagination{justify-content:center}.sap-tabs{overflow-x:auto}.sap-tabs::-webkit-scrollbar{height:3px}.sap-tabs::-webkit-scrollbar-thumb{background:var(--color-border)}}@media (width<=768px){.sap-table thead th:nth-child(n+7),.sap-table tbody td:nth-child(n+7){display:none}.sap-table-wrap{overflow-x:auto}.sap-page-header{flex-wrap:wrap}.sap-page-header-title{font-size:18px}.sap-page-header-actions{flex-wrap:wrap;gap:6px}.sap-card-header{padding:10px 14px}.sap-card-body{padding:12px 14px}.sap-filter-bar{padding:10px 14px}.sap-hide-xs{display:none!important}.chat-grid{grid-template-rows:200px 1fr!important;grid-template-columns:1fr!important;height:auto!important}.chat-grid>:nth-child(3){display:none}.settings-grid{grid-template-columns:1fr!important}}
