:root{--color-primary: #336699;--color-primary-dark: #003366;--color-primary-light: #6699CC;--color-accent: #339999;--rgb-primary: 51, 102, 153;--rgb-ink: 51, 51, 51;--color-bg: rgba(51, 102, 153, .04);--color-card: #ffffff;--color-surface: rgba(51, 102, 153, .03);--color-surface-hover: rgba(51, 102, 153, .08);--color-border: rgba(51, 102, 153, .18);--color-border-strong: #cccccc;--color-text: #333333;--color-text-secondary: #666666;--color-text-muted: #999999;--color-success: #339966;--color-success-bg: #ccffcc;--color-success-border: #99cc99;--color-danger: #cc3333;--color-danger-bg: #ffcccc;--color-danger-border: #ff9999;--color-warning: #cc9900;--color-warning-bg: #ffffcc;--color-warning-border: #ffcc66;--color-info: #336699;--color-info-bg: #ccccff;--color-info-border: #9999cc;--tok-key: #333399;--tok-string: #339900;--tok-number: #cc6600;--tok-bool: #3333cc;--tok-null: #999999;--radius-md: 12px;--radius-sm: 8px;--shadow-card: 0 4px 16px rgba(51, 102, 153, .08)}*{box-sizing:border-box}html{background:#fff}html,body,#app{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;margin:0;padding:28px clamp(16px,3vw,40px) 48px}.app-footer{text-align:center;padding:20px;color:var(--color-text-secondary);font-size:13px}.navbar{background:var(--color-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.navbar-inner{width:100%;margin:0;padding:14px clamp(16px,3vw,40px);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--color-primary-dark)}.brand-logo{font-size:22px}.nav-links{display:flex;gap:16px;flex:1}.nav-link{color:var(--color-text-secondary);font-size:14px;padding:6px 0}.nav-link.router-link-active{color:var(--color-primary);font-weight:600}.navbar-right{display:flex;align-items:center;gap:12px}.user-greeting{font-size:14px;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:14px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-ghost{background:#fff;border-color:var(--color-border);color:var(--color-text)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-block{width:100%}.btn-icon{padding:6px 10px}.hero{text-align:center;margin-bottom:32px}.hero-title{font-size:30px;margin-bottom:8px;color:var(--color-primary-dark)}.hero-subtitle{color:var(--color-text-secondary);margin-bottom:24px}.search-bar{max-width:520px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--color-border);border-radius:999px;padding:10px 18px;box-shadow:var(--shadow-card)}.search-icon{color:var(--color-text-secondary)}.search-input{flex:1;border:none;outline:none;font-size:15px;background:transparent}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,340px));gap:18px}.tool-card{display:block;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-card);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.tool-card:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:0 10px 24px #33669924}.tool-card-header{display:flex;justify-content:space-between;align-items:center}.tool-icon{font-size:28px}.tool-name{margin:10px 0 6px;font-size:16px}.tool-desc{color:var(--color-text-secondary);font-size:13px;line-height:1.6;margin:0 0 10px;min-height:40px}.tool-category{display:inline-block;font-size:12px;color:var(--color-primary-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:999px;padding:2px 10px}.empty-state{text-align:center;color:var(--color-text-secondary);padding:60px 0;display:flex;flex-direction:column;align-items:center;gap:16px}.home-actions{text-align:center;margin-top:28px}.auth-page{display:flex;justify-content:center;padding-top:40px}.auth-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:36px 32px;width:100%;max-width:380px;box-shadow:var(--shadow-card)}.auth-title{margin:0 0 20px;text-align:center;color:var(--color-primary-dark)}.auth-switch{text-align:center;margin-top:16px;font-size:14px;color:var(--color-text-secondary)}.auth-switch a{color:var(--color-primary);font-weight:600}.captcha-row{display:flex;align-items:stretch;gap:10px}.captcha-input{flex:1}.captcha-box{flex-shrink:0;width:120px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease}.captcha-box:hover{border-color:var(--color-primary)}.captcha-box :deep(svg){display:block;width:100%;height:100%}.captcha-placeholder{font-size:12px;color:var(--color-text-muted)}.form-label{display:block;font-size:13px;color:var(--color-text-secondary);margin:14px 0 6px}.form-input,.form-select{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;outline:none;background:#fff;color:var(--color-text)}.form-input:focus,.form-select:focus{border-color:var(--color-primary)}.form-input-sm{width:auto;padding:6px 10px}.form-input-md{width:auto;min-width:260px;padding:9px 12px}.form-input-xs{width:64px;padding:9px 6px;text-align:center}.form-error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;margin:8px 0}.form-success{color:var(--color-success);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;margin:8px 0}.page-title{margin-bottom:4px;color:var(--color-primary-dark)}.page-subtitle{color:var(--color-text-secondary);margin-bottom:20px}.customize-list{display:flex;flex-direction:column;gap:10px}.customize-item{display:flex;align-items:center;justify-content:space-between;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 16px}.customize-check{display:flex;align-items:center;gap:12px;cursor:pointer}.tool-desc-inline{display:block;color:var(--color-text-secondary);font-size:12px}.customize-order-btns{display:flex;gap:6px}.customize-actions{margin-top:24px;display:flex;gap:12px}.json-toolbox-page .page-title{margin-bottom:12px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tab-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background:#fff;font-size:13px;cursor:pointer;color:var(--color-text-secondary)}.tab-item:hover{border-color:var(--color-primary);color:var(--color-primary)}.tab-item--active,.tab-item--active:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.json-result{margin-top:20px;padding-top:16px;border-top:1px dashed var(--color-border-strong)}.json-result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.json-result-title{font-size:15px;font-weight:600;color:var(--color-primary-dark)}.tool-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-card)}.panel-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.segmented-toolbar{display:flex;flex-wrap:wrap;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-strong);margin-top:14px;width:fit-content}.seg-btn{border:none;border-right:1px solid var(--color-border);background:#fff;color:var(--color-text);font-size:14px;padding:10px 20px;cursor:pointer;transition:background .15s ease;white-space:nowrap}.seg-btn:last-child{border-right:none}.seg-btn:hover{background:var(--color-surface-hover)}.code-textarea-large{min-height:min(65vh,560px)}.inline-label{font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.mode-switch{display:flex;gap:8px}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.panel-grid{grid-template-columns:1fr}}.panel-col{display:flex;flex-direction:column;margin-bottom:12px}.panel-col-title{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px}.code-textarea{width:100%;min-height:min(52vh,480px);font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;resize:vertical;background:var(--color-surface);color:var(--color-text);outline:none;line-height:1.6}.code-textarea:focus{border-color:var(--color-primary)}.code-textarea.has-error{border-color:var(--color-danger)}.code-textarea-small{min-height:100px}.code-io{display:grid;grid-template-columns:1fr 1fr;gap:16px}.code-col{min-width:0}.code-col-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:13px;color:var(--color-text-secondary)}.code-col-actions{display:flex;flex-wrap:wrap;gap:8px}.code-options{margin-top:14px}.inline-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.code-hint{font-size:12px;color:var(--color-text-muted)}.seg-btn-active{background:var(--color-primary);color:#fff}.seg-btn-active:hover{background:var(--color-primary-dark)}.code-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px}.code-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;text-align:center}.code-stat-value{font-size:20px;font-weight:600;color:var(--color-primary)}.code-stat-label{margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.code-tip{margin-top:14px;font-size:12px;line-height:1.6;color:var(--color-text-muted)}.btn-sm{padding:6px 12px;font-size:13px}@media (max-width: 900px){.code-io{grid-template-columns:1fr}}.json-tree-view{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px;overflow-x:auto;overflow-y:auto;line-height:1.8;min-height:min(40vh,360px);max-height:70vh}.tree-node{margin-left:4px}.tree-children{margin-left:18px;border-left:1px dashed var(--color-border);padding-left:10px}.tree-toggle{cursor:pointer;color:var(--color-primary);margin-right:4px;-webkit-user-select:none;user-select:none}.tree-summary{color:var(--color-text-muted);font-size:12px}.tree-bracket-close{color:var(--color-text-muted)}.hl-editor{position:relative;width:100%;min-height:min(65vh,560px)}.hl-editor--small{min-height:min(30vh,260px)}.hl-layer,.hl-input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;overflow:auto;-moz-tab-size:2;tab-size:2}.hl-layer{background:var(--color-surface);color:var(--color-text);pointer-events:none;z-index:1}.hl-input{background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--color-text);z-index:2;resize:none;outline:none}.hl-input:focus{border-color:var(--color-primary)}.hl-input.has-error{border-color:var(--color-danger)}.hl-input::placeholder{color:var(--color-text-muted)}.hl-input::selection{background:#264f78f2;color:#fff;-webkit-text-fill-color:#ffffff}.tree-key,.jv-key{color:var(--tok-key)}.tree-string,.jv-string{color:var(--tok-string)}.tree-number,.jv-number{color:var(--tok-number)}.tree-bool,.jv-bool{color:var(--tok-bool)}.tree-null,.jv-null{color:var(--tok-null)}.diff-result{margin-top:16px}.diff-table{width:100%;border-collapse:collapse;font-size:13px}.diff-table th,.diff-table td{border:1px solid var(--color-border);padding:8px 10px;text-align:left;word-break:break-all}.diff-table th{background:var(--color-surface);color:var(--color-text-secondary)}.diff-path{font-family:SF Mono,Menlo,Consolas,monospace}.diff-tag{font-size:12px;padding:2px 8px;border-radius:999px}.diff-tag-added{background:var(--color-success-bg);color:var(--color-success)}.diff-tag-removed{background:var(--color-danger-bg);color:var(--color-danger)}.diff-tag-changed{background:var(--color-warning-bg);color:var(--color-warning)}.tool-subsection{margin-top:24px;padding-top:20px;border-top:1px dashed var(--color-border)}.tool-subsection:first-child{margin-top:0;padding-top:0;border-top:none}.tool-subtitle{font-size:15px;margin:0 0 12px;color:var(--color-primary-dark)}.date-fields{align-items:center}.date-fields span{color:var(--color-text-secondary)}.time-card{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin-bottom:8px;box-shadow:var(--shadow-card)}.time-card-title{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.time-card-value{font-size:40px;font-weight:700;font-family:SF Mono,Menlo,Consolas,monospace;letter-spacing:1px;color:var(--color-primary-dark)}.time-card-sub{font-size:13px;color:var(--color-text-secondary);margin:6px 0 16px}.time-card .panel-toolbar{margin-bottom:0}.time-card .btn-ghost{background:#fff;border-color:var(--color-border);color:var(--color-text)}.time-card .btn-ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.tabs-sub{margin-top:20px;margin-bottom:16px}.form-select-tz{max-width:220px}.file-input{font-size:13px;color:var(--color-text-secondary);max-width:320px}.file-input::file-selector-button{margin-right:10px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:13px;cursor:pointer}.file-input::file-selector-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-hint{font-size:13px;color:var(--color-text-secondary);margin:0 0 10px}.skill-section{margin-top:40px;padding:28px clamp(18px,3vw,36px);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.skill-header{text-align:center;margin-bottom:20px}.skill-badge{display:inline-block;font-size:12px;font-weight:600;color:var(--color-primary-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:999px;padding:3px 12px;margin-bottom:10px}.skill-title{margin:0 0 8px;font-size:20px;color:var(--color-primary-dark)}.skill-desc{margin:0 auto;max-width:640px;font-size:14px;line-height:1.7;color:var(--color-text-secondary)}.skill-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:12px}.skill-preview{margin:12px 0 0;padding:16px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.7;color:var(--color-text);white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:420px;overflow-y:auto}.skill-note{margin:12px 0 0;text-align:center;font-size:12px;color:var(--color-text-muted)}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.form-input-lg{width:100%;font-size:14px;padding:10px 12px}.hint-text{font-size:12px;color:var(--color-text-muted);margin:8px 0 0;line-height:1.6}.hash-result{font-family:SF Mono,Menlo,Consolas,monospace;word-break:break-all}.progress-bar{height:6px;background:var(--color-surface);border-radius:999px;overflow:hidden;margin:10px 0}.progress-bar-inner{height:100%;background:var(--color-primary);transition:width .15s ease}.regex-input-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 12px;background:var(--color-surface);font-family:SF Mono,Menlo,Consolas,monospace}.regex-input-wrap:focus-within{border-color:var(--color-primary)}.regex-slash{color:var(--color-text-muted);font-size:14px}.regex-input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;padding:10px 0}.preset-list{display:flex;flex-wrap:wrap;gap:8px}.strength-box{margin-top:12px;font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.strength-bars{display:inline-flex;gap:4px}.strength-bar{width:28px;height:6px;border-radius:999px;background:#33669926;display:inline-block}.strength-bar--on{background:var(--color-primary)}.strength-tips{width:100%;margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--color-text-muted)}.color-picker{width:44px;height:34px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer}.color-preview{height:90px;border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-family:SF Mono,Menlo,Consolas,monospace;font-size:18px;font-weight:600;margin-bottom:4px}.slider-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.slider-row label{font-size:13px;color:var(--color-text-secondary);min-width:64px}.slider{flex:1;accent-color:var(--color-primary)}.scheme-row{margin-bottom:14px}.scheme-name{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px}.scheme-colors{display:flex;flex-wrap:wrap;gap:8px}.scheme-swatch{width:96px;height:56px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;font-size:11px;font-family:SF Mono,Menlo,Consolas,monospace;transition:transform .12s ease}.scheme-swatch:hover{transform:translateY(-2px)}.scheme-swatch span{background:#ffffffd9;padding:1px 5px;border-radius:4px}.image-preview{max-width:100%;max-height:400px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.signature-text{font-family:SF Mono,Menlo,Consolas,monospace;word-break:break-all;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin:0}.video-notice{display:flex;align-items:flex-start;gap:10px;background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-primary-dark);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:13px;line-height:1.6}.tab-icon{font-size:14px}.video-input{min-height:110px;font-family:inherit;margin-bottom:4px}.video-result{margin-top:18px;padding-top:16px;border-top:1px dashed var(--color-border-strong)}.video-meta{display:flex;gap:14px;align-items:flex-start}.video-cover{width:160px;max-width:32%;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface)}.video-meta-body{min-width:0;flex:1}.video-title{font-size:15px;font-weight:600;color:var(--color-text);line-height:1.5;word-break:break-word}.video-sub{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0;font-size:12px;color:var(--color-text-secondary)}.video-source-tag{color:var(--color-primary-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:999px;padding:1px 10px}.video-origin{display:inline-block;max-width:100%;font-size:12px;color:var(--color-primary);word-break:break-all}.video-best{margin-top:14px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.video-best-title{font-size:14px;font-weight:600;color:var(--color-primary-dark);margin-bottom:6px}.video-best-detail{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--color-text-secondary)}.video-stream-group{margin-top:18px}.video-stream-table{width:100%;border-collapse:collapse;font-size:13px}.video-stream-table th,.video-stream-table td{border:1px solid var(--color-border);padding:8px 10px;text-align:left}.video-stream-table th{background:var(--color-surface);color:var(--color-text-secondary);font-weight:600}.video-stream-table td{color:var(--color-text)}.video-stream-table .col-actions{white-space:nowrap}.btn-mini{padding:4px 10px;font-size:12px}.video-login-gate{margin-top:14px;padding:20px;text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm)}.video-gate-title{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:8px}.video-gate-text{font-size:13px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:14px}.video-cookie-panel{margin-top:14px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.video-cookie-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.video-cookie-row{padding:10px 0;border-top:1px dashed var(--color-border)}.video-cookie-row:first-of-type{border-top:none}.video-cookie-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.video-cookie-name{font-size:14px;font-weight:600;color:var(--color-text)}.video-cookie-badge{font-size:12px;border-radius:999px;padding:1px 10px;border:1px solid transparent}.video-cookie-badge.is-ok{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.video-cookie-badge.is-off{color:var(--color-text-secondary);background:var(--color-surface);border-color:var(--color-border)}.video-cookie-meta{font-size:12px;color:var(--color-text-secondary)}.video-cookie-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.video-cookie-editor{margin-top:10px}.cookie-input{min-height:76px;font-size:12px}.code-sample-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.code-sample-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px}.code-sample-lang{font-size:12px;font-weight:600;color:var(--color-accent);margin-bottom:6px}.code-sample-code{margin:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--color-text);white-space:pre-wrap;word-break:break-all}.admin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.admin-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.admin-stat-value{font-size:22px;font-weight:600;color:var(--color-primary-dark)}.admin-stat-label{font-size:12px;color:var(--color-text-secondary)}.admin-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-head-actions{display:flex;align-items:center;gap:8px}.admin-search{padding:5px 10px;font-size:13px;color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{border:1px solid var(--color-border);padding:8px 10px;text-align:left}.admin-table th{background:var(--color-surface);color:var(--color-text-secondary);font-weight:600}.admin-table td{color:var(--color-text)}.admin-table .col-actions{white-space:nowrap}.admin-table .is-muted{color:var(--color-text-secondary)}.admin-role-tag{margin-left:6px;font-size:12px;color:var(--color-primary-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:999px;padding:1px 8px}.admin-detail-row td{background:var(--color-surface)}.admin-visit-list{display:flex;flex-direction:column;gap:8px}.admin-visit-item{display:flex;align-items:center;gap:10px}.admin-visit-name{width:110px;flex:none;color:var(--color-text-secondary)}.admin-bar{flex:1;min-width:60px;height:8px;background:var(--color-border);border-radius:999px;overflow:hidden}.admin-bar-fill{height:100%;background:var(--color-primary);border-radius:999px}.admin-visit-count{width:60px;flex:none;text-align:right;color:var(--color-text-secondary)}.admin-empty{text-align:center;color:var(--color-text-secondary)}
