*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{color:#1a2332;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;background:#f5f8fa;min-height:100dvh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#8a97a8}.text-heading{color:#1a2332;letter-spacing:.01em;font-size:18px;font-weight:500}.text-label{color:#8a97a8;letter-spacing:.02em;font-size:12px;font-weight:400}.text-value{color:#1a2332;letter-spacing:-.01em;font-size:24px;font-weight:600}.text-money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-muted{color:#8a97a8}.text-primary-color{color:#1a2332}.text-teal{color:#3bbfa3}.text-blue{color:#4a90d9}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400% 0}to{background-position:400% 0}}@keyframes spin{to{transform:rotate(360deg)}}.anim-fade-up{animation:.2s ease-out both fadeUp}.anim-fade{animation:.2s ease-out both fadeIn}.anim-spin{animation:.8s linear infinite spin}.stagger>*{animation:.2s ease-out both fadeUp}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.32s}.stagger>:nth-child(6){animation-delay:.4s}.stagger>:nth-child(7){animation-delay:.48s}.stagger>:nth-child(8){animation-delay:.56s}.skel{background:linear-gradient(90deg,#eaf0f6 30%,#f5f8fa 50%,#eaf0f6 70%) 0 0/400% 100%;border-radius:8px;animation:1.8s infinite shimmer}.card{background:#fff;border:1px solid #eaf0f6;border-radius:16px;padding:20px 24px;transition:transform .15s}.card-hover:hover{transform:translateY(-2px)}.btn{cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{color:#fff;background:#3bbfa3}.btn-primary:hover:not(:disabled){background:#33a890;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:#fff;background:#4a90d9}.btn-secondary:hover:not(:disabled){background:#3d7dc4;transform:translateY(-1px)}.btn-outline{color:#3bbfa3;background:0 0;border:1px solid #eaf0f6}.btn-outline:hover:not(:disabled){background:#e6f7f3;border-color:#3bbfa3}.btn-ghost{color:#8a97a8;background:0 0;border:1px solid #eaf0f6}.btn-ghost:hover:not(:disabled){color:#1a2332;background:#f5f8fa}.btn-danger{color:#e11d48;background:#fdf2f8;border:1px solid #fecdd3}.btn-danger:hover:not(:disabled){background:#fce7f3}.btn-sm{border-radius:8px;padding:.375rem .75rem;font-size:.75rem}.btn-lg{border-radius:12px;padding:.75rem 1.75rem;font-size:.875rem}.input{color:#1a2332;letter-spacing:.01em;background:#fff;border:1px solid #eaf0f6;border-radius:10px;outline:none;width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:#3bbfa3;box-shadow:0 0 0 3px #3bbfa31a}.input::placeholder{color:#c0c9d6}.input:disabled{color:#8a97a8;cursor:not-allowed;background:#f5f8fa}.input-label{color:#8a97a8;letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.input-error{border-color:#f472b6!important;box-shadow:0 0 0 3px #f472b61a!important}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238A97A8' viewBox='0 0 16 16'%3E%3Cpath d='M8 10.5L3 5.5h10L8 10.5z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}textarea.input{resize:vertical;min-height:100px;line-height:1.6}.msg-error{color:#f472b6;align-items:center;gap:4px;margin-top:4px;font-size:.75rem;display:flex}.msg-success{color:#3bbfa3;align-items:center;gap:4px;margin-top:4px;font-size:.75rem;display:flex}.pill{letter-spacing:.03em;border-radius:9999px;align-items:center;padding:.1875rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.pill-success{color:#0f6e56;background:#e6f7f3}.pill-warning{color:#b45309;background:#fffbeb}.pill-error{color:#be185d;background:#fdf2f8}.pill-info{color:#1d6fbf;background:#ebf5ff}.pill-neutral{color:#8a97a8;background:#f5f8fa}.pill-ok{color:#0f6e56;background:#e6f7f3}.pill-warn{color:#b45309;background:#fffbeb}.pill-err{color:#be185d;background:#fdf2f8}.method-get{color:#1d6fbf;letter-spacing:.04em;background:#ebf5ff;border-radius:6px;padding:.1875rem .5rem;font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;font-weight:700}.method-post{color:#0f6e56;letter-spacing:.04em;background:#e6f7f3;border-radius:6px;padding:.1875rem .5rem;font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;font-weight:700}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;color:#8a97a8;text-transform:uppercase;letter-spacing:.06em;background:#fafcfe;border-bottom:1px solid #eaf0f6;padding:.75rem 1rem;font-size:.6875rem;font-weight:600}.tbl td{color:#1a2332;border-bottom:1px solid #f0f4f8;padding:.75rem 1rem;font-size:.8125rem}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:#fafcfe}.tbl tbody tr:last-child td{border-bottom:0}.alert{border-radius:12px;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5;display:flex}.alert-error{color:#be185d;background:#fdf2f8;border:1px solid #fecdd3}.alert-success{color:#0f6e56;background:#e6f7f3;border:1px solid #a7f3d0}.alert-info{color:#1d6fbf;background:#ebf5ff;border:1px solid #bfdbfe}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:3rem 1.5rem;display:flex}.empty-state .icon{background:#f5f8fa;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.875rem;display:flex}.empty-state .icon svg{color:#c0c9d6;width:22px;height:22px}.empty-state .title{color:#8a97a8;font-size:.875rem;font-weight:500}.empty-state .desc{color:#c0c9d6;margin-top:.25rem;font-size:.8125rem}.empty-state .link{color:#3bbfa3;margin-top:.75rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s}.empty-state .link:hover{color:#0f6e56}:focus-visible{outline-offset:2px;outline:2px solid #3bbfa3}.page{max-width:1080px;padding:1.5rem}@media (width>=640px){.page{padding:2rem}}@media (width>=1024px){.page{padding:2rem 2.5rem}}.breadcrumb{color:#8a97a8;align-items:center;gap:6px;margin-bottom:1.25rem;font-size:.75rem;display:flex}.breadcrumb a{color:#8a97a8;text-decoration:none;transition:color .15s}.breadcrumb a:hover{color:#3bbfa3}.breadcrumb .sep{color:#c0c9d6}.breadcrumb .current{color:#1a2332;font-weight:500}.page-header{margin-bottom:1.5rem}.page-header h1{color:#1a2332;letter-spacing:.01em;margin-bottom:2px;font-size:18px;font-weight:600}.page-header p{color:#8a97a8;letter-spacing:.01em;font-size:13px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a233273;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #eaf0f6;border-radius:16px;width:100%;max-width:440px;padding:28px 32px;animation:.2s ease-out fadeUp}.modal-card h3{color:#1a2332;margin-bottom:4px;font-size:16px;font-weight:600}.modal-card p{color:#8a97a8;margin-bottom:20px;font-size:13px}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.tabs{border-bottom:1px solid #eaf0f6;gap:0;margin-bottom:1.5rem;display:flex}.tab{color:#8a97a8;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;padding:.625rem 1.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:color .15s;position:relative}.tab:hover{color:#1a2332}.tab-active{color:#3bbfa3;font-weight:600}.tab-active:after{content:"";background:#3bbfa3;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.toggle{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-track{background:#eaf0f6;border-radius:12px;transition:background .2s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:#3bbfa3}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000001a}.toggle input:checked~.toggle-thumb{transform:translate(20px)}.announcement{color:#0f6e56;background:#e6f7f3;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:10px;margin-bottom:1.5rem;padding:10px 16px;font-size:.8125rem;display:flex}.announcement svg{flex-shrink:0;width:18px;height:18px}.announcement a{color:#0f6e56;text-underline-offset:2px;font-weight:600;text-decoration:underline}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon svg{width:20px;height:20px}.stat-icon-green{color:#3bbfa3;background:#e6f7f3}.stat-icon-blue{color:#4a90d9;background:#ebf5ff}.stat-icon-orange{color:#f59e0b;background:#fff7ed}.stat-icon-purple{color:#7c5cfc;background:#f0ebff}.code-block{background:#1a2332;border-radius:10px;margin:.5rem 0;padding:1rem 1.25rem;position:relative;overflow-x:auto}.code-block pre{color:#e2e8f0;white-space:pre;margin:0;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;line-height:1.7}.code-block .copy-btn{color:#8a97a8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.6875rem;transition:all .15s;position:absolute;top:8px;right:8px}.code-block .copy-btn:hover{color:#fff;background:#ffffff26}.chat-bubble{border-radius:12px;max-width:80%;padding:10px 14px;font-size:.8125rem;line-height:1.6}.chat-bubble-user{color:#0f6e56;background:#e6f7f3;border-bottom-right-radius:4px;margin-left:auto}.chat-bubble-agent{color:#1a2332;background:#f5f8fa;border-bottom-left-radius:4px;margin-right:auto}.chat-time{color:#c0c9d6;margin-top:4px;font-size:.6875rem}.pw-strength{gap:4px;margin-top:8px;display:flex}.pw-strength-bar{background:#eaf0f6;border-radius:2px;flex:1;height:3px;transition:background .2s}.pw-strength-bar.active-weak{background:#f472b6}.pw-strength-bar.active-fair{background:#f59e0b}.pw-strength-bar.active-good{background:#4a90d9}.pw-strength-bar.active-strong{background:#3bbfa3}.pagination{align-items:center;gap:4px;padding:.875rem 1rem;display:flex}.pagination .page-btn{color:#8a97a8;cursor:pointer;background:#fff;border:1px solid #eaf0f6;border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;font-family:inherit;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.pagination .page-btn:hover:not(:disabled){color:#3bbfa3;border-color:#3bbfa3}.pagination .page-btn.active{color:#fff;background:#3bbfa3;border-color:#3bbfa3}.pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.file-upload{cursor:pointer;border:1px dashed #eaf0f6;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.file-upload:hover{border-color:#3bbfa3}.file-upload input[type=file]{display:none}.file-upload .file-label{color:#8a97a8;font-size:.8125rem}.avatar{background:#f5f8fa;border:2px solid #eaf0f6;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-overlay{opacity:0;cursor:pointer;background:#1a233266;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.avatar:hover .avatar-overlay{opacity:1}@media (width<=640px){.card{border-radius:12px;padding:16px}.tbl th,.tbl td{padding:.5rem .75rem}.modal-card{padding:20px}}
