*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}.route-shell{position:relative;min-height:100%}:host{display:block;min-height:100vh}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background:var(--vs-bg);color:var(--vs-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bdr-0{border-bottom:0px!important}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}input,textarea,select{outline:none}:root{--vs-bg: #f5f5f7;--vs-bg-elevated: #f2f2f5;--vs-surface: #ffffff;--vs-surface-soft: #fbfbfd;--vs-surface-tint: #fcf8fd;--vs-text: #17171a;--vs-text-muted: #6e6e73;--vs-text-soft: #8e8e93;--vs-border: #e7e7ed;--vs-border-strong: #d8d8df;--vs-brand-pink: #e66fba;--vs-brand-pink-strong: #e45cab;--vs-brand-purple: #9a63f6;--vs-brand-purple-strong: #8b54f2;--vs-brand: #c96ad7;--vs-brand-gradient: linear-gradient(135deg, #e66fba 0%, #c96ad7 48%, #9a63f6 100%);--vs-brand-gradient-soft: linear-gradient(135deg, rgba(230, 111, 186, .12) 0%, rgba(201, 106, 215, .12) 48%, rgba(154, 99, 246, .12) 100%);--vs-brand-gradient-hover: linear-gradient(135deg, #e45cab 0%, #bf5fd4 48%, #8b54f2 100%);--vs-success-bg: #ecfdf3;--vs-success-text: #167c3a;--vs-warning-bg: #fff7ed;--vs-warning-text: #c2410c;--vs-danger-bg: #fef2f2;--vs-danger-text: #b42318;--vs-info-bg: #eef4ff;--vs-info-text: #1d4ed8;--vs-shadow-xs: 0 2px 8px rgba(18, 18, 23, .04);--vs-shadow-sm: 0 6px 18px rgba(18, 18, 23, .06);--vs-shadow-md: 0 12px 30px rgba(18, 18, 23, .08);--vs-shadow-lg: 0 20px 50px rgba(18, 18, 23, .12);--vs-radius-xs: 10px;--vs-radius-sm: 14px;--vs-radius-md: 18px;--vs-radius-lg: 24px;--vs-radius-xl: 32px;--vs-focus-ring: 0 0 0 4px rgba(201, 106, 215, .16);--vs-sidebar-width: 272px;--vs-header-height: 72px;--vs-content-max: 1280px}.container{width:100%;margin:0 auto;padding:0 24px}.page-section+.page-section{margin-top:24px}.text-muted{color:var(--vs-text-muted)}.text-soft{color:var(--vs-text-soft)}.card{background:var(--vs-surface);border:1px solid var(--vs-border);border-radius:var(--vs-radius-md);box-shadow:var(--vs-shadow-xs)}.card-soft{background:var(--vs-surface-soft);border:1px solid var(--vs-border);border-radius:var(--vs-radius-md)}.gradient-ring{position:relative;border-radius:var(--vs-radius-md)}.gradient-ring:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:var(--vs-brand-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.success{background:var(--vs-success-bg);color:var(--vs-success-text)}.status-pill.warning{background:var(--vs-warning-bg);color:var(--vs-warning-text)}.status-pill.danger{background:var(--vs-danger-bg);color:var(--vs-danger-text)}.status-pill.info{background:var(--vs-info-bg);color:var(--vs-info-text)}.vs-label{display:inline-block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--vs-text)}.vs-hint{margin-top:6px;font-size:12px;color:var(--vs-text-soft)}.vs-error{margin-top:6px;font-size:12px;color:var(--vs-danger-text)}.vs-input,.vs-select,.vs-textarea{width:100%;border:1px solid var(--vs-border);background:var(--vs-surface);color:var(--vs-text);border-radius:14px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.vs-input,.vs-select{height:48px;padding:0 14px}.vs-textarea{min-height:120px;padding:14px;resize:vertical}.vs-input::placeholder,.vs-textarea::placeholder{color:#9a9aa2}.vs-input:focus,.vs-select:focus,.vs-textarea:focus{border-color:var(--vs-brand-pink);box-shadow:var(--vs-focus-ring)}.vs-input.is-invalid,.vs-select.is-invalid,.vs-textarea.is-invalid{border-color:#ef4444}.vs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:14px;border:1px solid transparent;font-size:14px;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.vs-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.vs-btn-primary{color:#fff;background:var(--vs-brand-gradient);box-shadow:var(--vs-shadow-sm)}.vs-btn-primary:hover:not(:disabled){transform:translateY(-1px);background:var(--vs-brand-gradient-hover);box-shadow:var(--vs-shadow-md)}.vs-btn-secondary{color:var(--vs-text);background:var(--vs-surface);border-color:var(--vs-border)}.vs-btn-secondary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--vs-shadow-sm)}.vs-btn-ghost{color:var(--vs-text);background:transparent}.vs-btn-ghost:hover:not(:disabled){background:#17171a0a}.vs-btn-danger{color:#fff;background:#dc2626;box-shadow:var(--vs-shadow-sm)}.vs-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--vs-shadow-md)}.vs-table-wrap{overflow:auto;border-radius:var(--vs-radius-md);border:1px solid var(--vs-border);background:var(--vs-surface)}.vs-table{width:100%;border-collapse:collapse;min-width:720px}.vs-table th,.vs-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--vs-border)}.vs-table tr:last-child td{border-bottom:0}.vs-table th{font-size:12px;font-weight:700;color:var(--vs-text-soft);text-transform:uppercase;letter-spacing:.04em;background:#fcfcfe}.vs-table td{font-size:14px;color:var(--vs-text)}.vs-skeleton{position:relative;overflow:hidden;background:#ededf2;border-radius:12px}.vs-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:vsShimmer 1.2s infinite}@keyframes vsShimmer{to{transform:translate(100%)}}*{scrollbar-width:thin;scrollbar-color:#d6d6dd transparent}*::-webkit-scrollbar{height:10px;width:10px}*::-webkit-scrollbar-thumb{background:#d6d6dd;border-radius:999px}*::-webkit-scrollbar-track{background:transparent}@media (max-width: 960px){.container{padding:0 16px}}
