:root{--color-primary: #ff4b00;--color-primary-hover: #e23f00;--color-primary-text: #d33e00;--color-primary-icon: #ed8760;--color-primary-surface-low: #fbe7df;--color-secondary: #33255c;--color-secondary-hover: #211446;--color-secondary-disabled: #857c9d;--color-secondary-surface-low: #d4cfe2;--color-secondary-hover-low: #e9e5f3;--color-bg: #f5f5f5;--color-surface: #ffffff;--color-surface-alt: #f3f3f3;--color-surface-hover: #d7d7d7;--color-surface-disabled: #e3e3e3;--color-text-high: #1e1e1e;--color-text-medium: #424242;--color-text-low: #727272;--color-text-disabled: #b2b2b2;--color-icon: #6b6383;--color-border: #d7d7d7;--color-border-low: #e5e5e5;--color-success: #35793b;--color-success-text: #152f17;--color-success-low: #f6fff7;--color-warning: #b57700;--color-warning-text: #422c00;--color-warning-low: #fff9ed;--color-error: #861d17;--color-error-text: #400704;--color-error-low: #fff8f8;--color-info: #68a2cf;--color-info-text: #1971b6;--color-info-low: #edf7ff;--color-link: #1971b6;--color-link-hover: #0d568f;--es-green: #35793b;--es-yellow: #b57700;--es-red: #861d17;--primary: var(--color-primary);--primary-hover: var(--color-primary-hover);--primary-light: var(--color-primary-surface-low);--bg: var(--color-bg);--bg-card: var(--color-surface);--bg-input: var(--color-surface);--bg-hover: var(--color-surface-alt);--border: var(--color-border);--border-light: var(--color-border-low);--text: var(--color-text-high);--text-muted: var(--color-text-low);--text-light: var(--color-text-disabled);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-error);--font-family: "Roboto", "Open Sans", sans-serif;--font-xxxs: 12px;--font-xxs: 14px;--font-xs: 16px;--font-sm: 20px;--font-md: 24px;--font-lg: 32px;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--radius: var(--radius-md);--height-sm: 24px;--height-md: 32px;--height-lg: 44px;--space-quark: 4px;--space-nano: 8px;--space-xxxs: 16px;--space-xxs: 24px;--space-xs: 32px;--sidebar-width: 96px;--header-height: 64px;--shadow: 0 1px 2px rgba(30, 30, 30, .04)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-xxs);font-weight:var(--weight-regular);background:var(--color-bg);color:var(--color-text-high);line-height:150%;-webkit-font-smoothing:antialiased}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}input,select,textarea{font-family:inherit}.app-layout{min-height:100vh;background:var(--color-bg)}.topbar{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border-low);display:flex;align-items:center;justify-content:space-between;gap:var(--space-xxxs);padding:0 var(--space-xxs);z-index:20}.topbar-left{display:flex;align-items:center;gap:var(--space-nano);min-width:180px}.topbar-logo{display:flex;align-items:center;gap:10px;color:var(--color-text-high);text-decoration:none}.topbar-logo-img{height:26px;width:auto;display:block}.topbar-product{font-size:var(--font-xxxs);font-weight:var(--weight-medium);color:var(--color-text-low);text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-left:1px solid var(--color-border);margin-left:4px}.topbar-search{flex:1;max-width:520px}.topbar-search input{width:100%;height:var(--height-lg);padding:0 16px 0 40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23727272' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E") 14px center no-repeat;color:var(--color-text-high);font-size:var(--font-xxs)}.topbar-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface-low)}.topbar-search input::placeholder{color:var(--color-text-disabled)}.topbar-right{display:flex;align-items:center;gap:12px;min-width:180px;justify-content:flex-end}.topbar-project{position:relative}.topbar-project-trigger{display:flex;align-items:center;gap:6px;height:var(--height-md);padding:0 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-medium);cursor:pointer;transition:border-color .15s,box-shadow .15s}.topbar-project-trigger:disabled{cursor:default;opacity:.7}.topbar-project-trigger .material-symbols-outlined{font-size:18px;color:var(--color-icon)}.topbar-project-trigger:hover,.topbar-project-trigger[aria-expanded=true]{border-color:var(--color-primary)}.topbar-project-trigger[aria-expanded=true]{box-shadow:0 0 0 3px var(--color-primary-surface-low)}.topbar-project-name{font-size:var(--font-xxs);font-weight:var(--weight-medium);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-project-chevron{font-size:18px!important;color:var(--color-text-low)!important;transition:transform .15s}.topbar-project-trigger[aria-expanded=true] .topbar-project-chevron{transform:rotate(180deg)}.topbar-project-status-dot,.status-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0;background:var(--color-text-disabled)}.topbar-project-status-dot.status-success,.status-dot.status-success{background:var(--es-green)}.topbar-project-status-dot.status-warning,.status-dot.status-warning{background:var(--es-yellow)}.topbar-project-status-dot.status-danger,.status-dot.status-danger{background:var(--es-red)}.topbar-project-menu{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;min-width:280px;max-width:340px;background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);box-shadow:0 8px 24px #1e1e1e1f;z-index:30;overflow:hidden}.topbar-project-search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--color-border-low)}.topbar-project-search .material-symbols-outlined{font-size:18px;color:var(--color-icon)}.topbar-project-search input{flex:1;border:none;outline:none;background:transparent;font-size:var(--font-xxs);color:var(--color-text-high)}.topbar-project-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;padding:6px}.topbar-project-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s}.topbar-project-item:hover{background:var(--color-surface-alt)}.topbar-project-item.active{background:var(--color-primary-surface-low)}.topbar-project-item-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.topbar-project-item-name{font-size:var(--font-xxs);font-weight:var(--weight-medium);color:var(--color-text-high);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-project-item-slug{font-size:11px;color:var(--color-text-low);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-project-item-count{font-size:11px;color:var(--color-text-low);flex-shrink:0}.topbar-project-item-check{font-size:18px!important;color:var(--color-primary)!important;flex-shrink:0}.topbar-project-empty{padding:16px 10px;text-align:center;font-size:var(--font-xxs);color:var(--color-text-low)}.topbar-user{position:relative}.topbar-avatar{width:36px;height:36px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-xxxs);font-weight:var(--weight-bold);cursor:pointer}.topbar-user-menu{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:10px;min-width:220px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);box-shadow:0 8px 24px #1e1e1e1f;z-index:30}.topbar-user-email{font-size:var(--font-xxxs);color:var(--color-text-low);word-break:break-all}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border-low);padding:var(--space-nano) 0;overflow-y:auto;overflow-x:hidden;z-index:10}.sidebar nav{display:flex;flex-direction:column;gap:0}.sidebar nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:12px 8px;border-radius:0;color:var(--color-icon);font-size:11px;font-weight:var(--weight-bold);line-height:1.2;text-align:center;position:relative;transition:color .15s;background:transparent}.sidebar nav a .nav-icon{width:auto;height:24px;display:inline-flex;align-items:center;justify-content:center;font-family:Material Symbols Outlined;font-size:24px;font-weight:300;color:inherit;line-height:1}.sidebar nav a .nav-label{display:block;max-width:80px;color:inherit;word-break:break-word}.sidebar nav a:hover{background:transparent;color:var(--color-primary)}.sidebar nav a.active{background:transparent;color:var(--color-primary)}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--color-primary)}.sidebar nav a.active .nav-icon{color:inherit}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:var(--space-xxs) var(--space-xs);min-height:calc(100vh - var(--header-height))}.page-header{margin-bottom:var(--space-xxs);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xxxs)}.page-header-text{flex:1}.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--font-xxxs);color:var(--color-text-low);margin-bottom:8px}.breadcrumb span+span:before{content:"/";margin-right:6px;color:var(--color-text-disabled)}.page-header h1{font-size:var(--font-md);font-weight:var(--weight-bold);color:var(--color-text-high);line-height:125%;margin-bottom:4px}.page-header p{color:var(--color-text-low);font-size:var(--font-xxs);max-width:640px}.page-header strong{color:var(--color-text-high)}.page-header code{font-size:13px;background:var(--color-surface-alt);padding:2px 6px;border-radius:var(--radius-xs);color:var(--color-primary-text)}.card{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);padding:var(--space-xxxs);margin-bottom:var(--space-xxxs);box-shadow:var(--shadow)}.card-title{font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-text-high);margin-bottom:var(--space-xxxs)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xxxs);margin-bottom:var(--space-xxs)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);padding:20px 24px;box-shadow:var(--shadow)}.stat-card .label{font-size:var(--font-xxxs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-low);margin-bottom:8px}.stat-card .value{font-size:28px;font-weight:var(--weight-bold);color:var(--color-text-high);line-height:125%}.stat-card .value.success{color:var(--color-success)}.stat-card .value.warning,.stat-card .value.yellow{color:var(--color-warning)}.stat-card .value.danger{color:var(--color-error)}.stat-card .value.primary{color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--height-lg);padding:0 18px;border-radius:var(--radius-md);font-size:var(--font-xxs);font-weight:var(--weight-medium);border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary,.btn-neutral{background:var(--color-surface);color:var(--color-text-high);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled),.btn-neutral:hover:not(:disabled){background:var(--color-bg);border-color:#cfcfcf}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-surface-low)}.btn-danger{background:var(--color-surface);color:var(--color-error);border-color:var(--color-border)}.btn-danger:hover:not(:disabled){background:var(--color-error-low);border-color:#e2b4b1}.btn-sm{min-height:var(--height-md);padding:0 12px;font-size:var(--font-xxxs)}.form-group{margin-bottom:var(--space-xxxs)}.form-group label{display:block;font-size:var(--font-xxxs);font-weight:var(--weight-medium);margin-bottom:6px;color:var(--color-text-low)}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:var(--height-lg);padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-high);font-size:var(--font-xxs)}.form-group textarea{min-height:auto}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface-low)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xxxs)}.listing-panel{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow)}.listing-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--color-border-low)}.listing-search{flex:1;min-width:220px;position:relative}.listing-search input{width:100%;height:var(--height-lg);padding:0 16px 0 40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-high);font-size:var(--font-xxs)}.listing-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface-low)}.listing-search:before{content:"search";font-family:Material Symbols Outlined;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-low);font-size:20px;pointer-events:none}.listing-meta{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap}.listing-meta-text{color:var(--color-text-low);font-size:var(--font-xxxs);white-space:nowrap}.listing-filters{display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px;border-bottom:1px solid var(--color-border-low);background:var(--color-surface-muted)}.listing-filters .form-group{min-width:180px}.listing-filters input,.listing-filters select{height:var(--height-md);padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-high);font-size:var(--font-xxs)}.btn.is-active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-surface-low)}.listing-select{height:var(--height-md);padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-medium);font-size:var(--font-xxxs)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}table th{text-align:left;padding:12px 16px;font-size:var(--font-xxxs);font-weight:var(--weight-medium);text-transform:none;letter-spacing:0;color:var(--color-text-medium);border-bottom:1px solid var(--color-border);background:#fafafa}table td{padding:16px;border-bottom:1px solid var(--color-border-low);font-size:var(--font-xxs);color:var(--color-text-high);vertical-align:middle}table tbody tr:last-child td{border-bottom:none}table tr:hover td{background:#fcfcfc}table .cell-muted{color:var(--color-text-low)}table .cell-strong{font-weight:var(--weight-medium);color:var(--color-text-high)}table .cell-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}table th.col-actions,table td.col-actions{width:1%}table td.col-actions{justify-content:flex-end}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.responsive-table th.col-actions,.responsive-table td.col-actions{width:240px}.responsive-table .inline-actions{flex-wrap:nowrap;white-space:nowrap}.btn-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-icon);border-radius:var(--radius-sm);padding:0}.btn-icon .material-symbols-outlined,.btn-icon.material-symbols-outlined{font-family:Material Symbols Outlined;font-size:20px;font-weight:300;line-height:1}.btn-icon:hover{background:var(--color-bg);color:var(--color-text-high)}.btn-icon.danger:hover{background:var(--color-error-low);color:var(--color-error)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-xxxs);font-weight:var(--weight-medium);line-height:1.2}.badge-success{background:var(--color-info-low);color:var(--color-info-text);border:1px solid #b7d6ef}.badge-warning{background:var(--color-primary-surface-low);color:var(--color-primary-text);border:1px solid #f4c7b3}.badge-danger{background:var(--color-error-low);color:var(--color-error-text);border:1px solid #efc5c3}.badge-primary{background:var(--color-primary-surface-low);color:var(--color-primary-text);border:1px solid #f4c7b3}.badge-neutral{background:var(--color-bg);color:var(--color-text-medium);border:1px solid var(--color-border)}.badge-status-open{background:var(--color-warning-low);color:var(--color-warning-text);border:1px solid #f0d9a8}.badge-status-reviewing{background:var(--color-info-low);color:var(--color-info-text);border:1px solid #b7d6ef}.badge-status-resolved{background:var(--color-success-low);color:var(--color-success-text);border:1px solid #b9d9bc}.page-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.card-subtitle{color:var(--color-text-low);font-size:var(--font-xxs);margin-bottom:16px}.table-search{width:220px;height:var(--height-md);padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-high);font-size:var(--font-xxs)}.table-search:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary-surface-low);outline-offset:1px}.security-card{margin-top:24px;border-left:3px solid var(--color-warning)}.btn-ai{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.btn-ai:hover:not(:disabled){background:var(--color-secondary-hover)}.btn-ai .material-symbols-outlined{font-size:18px}.ai-panel{margin-bottom:var(--space-xxxs)}.ai-panel-compact{margin-bottom:0}.ai-panel-body{margin-top:12px;padding:16px;background:var(--color-secondary-hover-low);border:1px solid var(--color-secondary-surface-low);border-radius:var(--radius-md)}.ai-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.ai-panel-header strong{display:block;color:var(--color-text-high);font-size:var(--font-xxs)}.ai-panel-header p{margin-top:4px;color:var(--color-text-low);font-size:var(--font-xxxs)}.ai-panel-notice{margin-bottom:12px}.ai-suggestion-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:0}.ai-suggestion-list li{display:flex;gap:10px;align-items:flex-start;font-size:var(--font-xxs);color:var(--color-text-medium);line-height:1.4}.ai-suggestion-list .material-symbols-outlined{font-size:18px;color:var(--color-secondary);flex-shrink:0}.ai-select-panel{margin-bottom:16px}.ai-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ai-select-all{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-xxs);font-weight:var(--weight-medium);color:var(--color-text-high);cursor:pointer}.ai-select-count{font-size:var(--font-xxxs);color:var(--color-text-low)}.ai-suggestion-list-selectable{margin-bottom:0}.ai-suggestion-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--color-border-low);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s}.ai-suggestion-option:hover{border-color:var(--color-secondary-surface-low);background:#fff}.ai-suggestion-option.is-checked{border-color:var(--color-secondary);background:#fff}.ai-suggestion-option input{margin-top:2px;accent-color:var(--color-secondary);flex-shrink:0}.ai-suggestion-option span{color:var(--color-text-medium);line-height:1.4}.ai-structured-item{flex-direction:column!important;padding:12px 14px;border:1px solid var(--color-border-low);border-radius:var(--radius-md);background:var(--color-surface)}.ai-structured-main{display:flex;gap:10px;width:100%}.ai-structured-main .material-symbols-outlined{margin-top:2px}.ai-structured-main strong{color:var(--color-text-high);font-size:var(--font-xxs);line-height:1.35}.ai-structured-main p{margin:4px 0 0;color:var(--color-text-low);font-size:var(--font-xxxs);line-height:1.45}.ai-structured-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.ai-provider{margin-top:6px;color:var(--color-text-low);font-size:var(--font-xxxs);font-style:italic}.ai-actions-preview{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.ai-actions-preview li{display:flex;align-items:center;gap:6px;font-size:var(--font-xxs);color:var(--color-text-medium)}.ai-actions-preview .material-symbols-outlined{font-size:14px;color:var(--color-secondary)}.ai-structured-meta .badge{font-size:var(--font-xxxs)}.ai-action-count{color:var(--color-text-low);font-size:var(--font-xxxs)}.ai-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.strategy-active-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.strategy-active-banner .label-muted{font-size:var(--font-xxxs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-low);margin-bottom:4px}.strategy-active-banner strong{font-size:var(--font-sm);color:var(--color-text-high)}.strategy-active-banner p{margin-top:6px;color:var(--color-text-low);font-size:var(--font-xxs);max-width:640px}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xxxs)}.strategy-card{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.strategy-card.is-active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-surface-low)}.strategy-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.strategy-card h2{font-size:var(--font-xs);font-weight:var(--weight-bold);color:var(--color-text-high);margin-bottom:6px}.strategy-card p{font-size:var(--font-xxs);color:var(--color-text-low);line-height:1.4}.strategy-tags{display:flex;flex-wrap:wrap;gap:6px}.strategy-tag{font-size:11px;padding:3px 8px;border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-medium);border:1px solid var(--color-border-low)}.strategy-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.strategy-summary div{text-align:center;padding:8px 4px;background:var(--color-bg);border-radius:var(--radius-sm)}.strategy-summary strong{display:block;font-size:var(--font-xs);color:var(--color-text-high)}.strategy-summary span{font-size:10px;color:var(--color-text-low);text-transform:uppercase;letter-spacing:.03em}.strategy-meta{font-size:var(--font-xxxs);color:var(--color-text-low)}.strategy-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.strategy-actions .material-symbols-outlined{font-size:16px}.dashboard-split{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-xxxs);margin-bottom:var(--space-xxxs)}.top-terms{display:flex;flex-direction:column;gap:14px}.top-term-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.top-term-main strong{display:block;font-size:var(--font-xxs);color:var(--color-text-high);margin-bottom:6px}.top-term-bar{height:6px;background:var(--color-border-low);border-radius:var(--radius-full);overflow:hidden}.top-term-bar span{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.top-term-meta{display:flex;align-items:center;gap:10px;font-size:var(--font-xxxs);color:var(--color-text-low);white-space:nowrap}.trend{display:inline-flex;color:var(--color-text-disabled)}.trend .material-symbols-outlined{font-size:18px}.trend-up{color:var(--color-success)}.trend-down{color:var(--color-error)}.zero-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:var(--space-xxxs);align-items:start}.zero-term-list{display:flex;flex-direction:column;gap:8px}.zero-term-item{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--color-border-low);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s,background .15s}.zero-term-item:hover{background:var(--color-bg)}.zero-term-item.is-selected{border-color:var(--color-primary);background:var(--color-primary-surface-low)}.zero-term-item strong{display:block;font-size:var(--font-xxs);color:var(--color-text-high);margin-bottom:4px}.zero-term-item span:not(.badge){font-size:var(--font-xxxs);color:var(--color-text-low)}.zero-detail-intro{font-size:var(--font-xxs);color:var(--color-text-low);margin-bottom:16px}.zero-block{margin-top:20px}.zero-block h3{font-size:var(--font-xxs);font-weight:var(--weight-medium);color:var(--color-text-high);margin-bottom:10px}.search-box{display:flex;gap:12px;margin-bottom:var(--space-xxxs)}.search-box input{flex:1;height:var(--height-lg);padding:0 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-high);font-size:var(--font-xxs)}.search-box input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface-low)}.search-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--space-xxxs)}.search-filters select{height:var(--height-md);padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-high);font-size:var(--font-xxxs)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:var(--space-xxxs);flex-wrap:wrap}.toolbar-meta{color:var(--color-text-low);font-size:var(--font-xxxs)}.listing-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--color-border-low)}.pagination-page{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:var(--color-secondary-hover-low);color:var(--color-secondary);font-size:var(--font-xxxs);font-weight:var(--weight-medium)}.result-card{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:10px;box-shadow:var(--shadow)}.result-card .result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:12px}.result-card .result-name{font-weight:var(--weight-medium);font-size:var(--font-xs);color:var(--color-text-high)}.result-card .result-score{font-size:var(--font-xxxs);font-weight:var(--weight-medium);color:var(--color-primary);background:var(--color-primary-surface-low);padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap}.result-card .result-meta{font-size:var(--font-xxxs);color:var(--color-text-low);margin-bottom:8px}.result-card .result-rules{display:flex;flex-wrap:wrap;gap:6px}.slider-group{margin-bottom:20px}.slider-group .slider-header{display:flex;justify-content:space-between;margin-bottom:8px}.slider-group .slider-label{font-size:var(--font-xxs);font-weight:var(--weight-medium);color:var(--color-text-high)}.slider-group .slider-value{font-size:var(--font-xxs);color:var(--color-primary);font-weight:var(--weight-bold)}.slider-group input[type=range]{width:100%;accent-color:var(--color-primary)}.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--color-bg);border:1px solid var(--color-border-low);border-radius:var(--radius-md);margin-bottom:8px;gap:12px}.list-item .item-info{flex:1;font-size:var(--font-xxs);color:var(--color-text-high)}.list-item .item-actions{display:flex;gap:8px}.json-preview{background:#1e1e1e;border-radius:var(--radius-md);padding:16px;font-family:Roboto Mono,SF Mono,monospace;font-size:12px;overflow-x:auto;white-space:pre-wrap;color:#fafafa;max-height:400px;overflow-y:auto}.empty-state{text-align:center;padding:48px;color:var(--color-text-low);background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-md)}.empty-state h3{margin-bottom:8px;color:var(--color-text-high)}.alert{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:var(--font-xxs)}.alert-success{background:var(--color-success-low);border:1px solid #c8e6cb;color:var(--color-success-text)}.alert-error{background:var(--color-error-low);border:1px solid #efc5c3;color:var(--color-error-text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1e1e73;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--color-surface);border:1px solid var(--color-border-low);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 24px #1e1e1e1f}.modal-lg{max-width:760px}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-title-row h2{margin-bottom:4px}.modal-subtitle{color:var(--color-text-low);font-size:var(--font-xxs);margin:-6px 0 18px;line-height:1.45}@media (max-width: 640px){.modal-overlay{align-items:flex-end;padding:0}.modal,.modal-lg{max-width:none;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.card-title-row{align-items:stretch;flex-direction:column}.table-search{width:100%}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table thead{display:none}.responsive-table tr{margin-bottom:12px;border:1px solid var(--color-border-low);border-radius:var(--radius-md);overflow:hidden}.responsive-table tr:last-child{margin-bottom:0}.responsive-table td,.responsive-table td.cell-actions{display:grid;grid-template-columns:minmax(112px,40%) 1fr;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--color-border-low)}.responsive-table td:last-child{border-bottom:none}.responsive-table td:before{content:attr(data-label);color:var(--color-text-low);font-size:var(--font-xxxs);font-weight:var(--weight-medium)}.responsive-table td.has-inline-actions{grid-template-columns:1fr;gap:8px}.responsive-table td.has-inline-actions>.inline-actions,.responsive-table td.cell-actions>input{justify-self:start}.responsive-table td.has-inline-actions>.inline-actions{width:100%}.responsive-table td.has-inline-actions .btn:not(.btn-icon){flex:1 1 0}.responsive-table td.has-inline-actions .btn-icon{flex:0 0 auto}.responsive-table td.col-actions{width:100%}.responsive-table .inline-actions{flex-wrap:nowrap}}.field-hint{color:var(--color-text-low);font-size:var(--font-xxxs);margin-top:6px}.field-preview{display:inline-block;padding:6px 10px;background:var(--color-surface-muted);border:1px solid var(--color-border-low);border-radius:var(--radius-sm);font-size:var(--font-xxs);color:var(--color-text-high)}.modal-section-title{font-size:var(--font-xs);font-weight:var(--weight-bold);color:var(--color-text-high);margin:24px 0 12px}.modal-section-title:first-of-type{margin-top:0}.form-group label.checkbox-label{display:flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer}.checkbox-label input{width:auto;min-height:auto}.tree-row,.variation-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px}.tree-row .form-group,.variation-row .form-group{flex:1;margin-bottom:0}.tree-row input{flex:1}.modal h2{margin-bottom:20px;font-size:var(--font-sm);color:var(--color-text-high)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.tabs{display:flex;gap:0;margin-bottom:var(--space-xxs);border-bottom:1px solid var(--color-border);overflow-x:auto}.tab{padding:12px 18px;font-size:var(--font-xxs);font-weight:var(--weight-medium);color:var(--color-text-low);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s}.tab.active{color:var(--color-secondary);border-bottom-color:var(--color-secondary);font-weight:var(--weight-bold)}.tab:hover{color:var(--color-text-high)}.loading{text-align:center;padding:48px;color:var(--color-text-low)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--space-xxxs)}.login-card{width:100%;max-width:380px;padding:var(--space-xxs);box-shadow:0 8px 24px #1e1e1e14}.login-logo{height:32px;width:auto;display:block;margin-bottom:var(--space-xxs)}.login-subtitle{color:var(--color-text-low);font-size:var(--font-xxxs);margin:-8px 0 var(--space-xxs);line-height:1.45}.login-password-field{position:relative;display:flex}.login-password-field input{padding-right:76px}.login-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-link);font-size:var(--font-xxxs);font-weight:var(--weight-medium);padding:4px 6px;cursor:pointer}.login-password-toggle:hover:not(:disabled){color:var(--color-link-hover)}.login-password-toggle:disabled{color:var(--color-text-disabled);cursor:not-allowed}.login-submit{width:100%;margin-top:var(--space-nano)}.pinned-badge{background:var(--color-warning-low);color:var(--color-warning-text);font-size:11px;font-weight:var(--weight-bold);padding:2px 8px;border-radius:var(--radius-xs);margin-left:8px}@media (max-width: 900px){.topbar-product{display:none}.topbar-project-name{max-width:90px}.dashboard-split,.zero-layout{grid-template-columns:1fr}.strategy-summary{grid-template-columns:repeat(2,1fr)}.top-term-row{grid-template-columns:1fr;gap:8px}.main-content{padding:20px 16px}.form-row{grid-template-columns:1fr}.topbar-search{max-width:none}}
