*{box-sizing:border-box;margin:0;padding:0}
:root{color-scheme:light;
/* === Primitive 层：原始色值，按色系+明度档位（OKLCH 留后续轮）=== */
--green-900:#031f15;--green-800:#06351f;--green-700:#075a2e;--green-600:#0d7338;--green-500:#138f45;--green-200:#c4dfcc;--green-100:#e7f6ed;--green-50:#f7fbf8;
--orange-900:#7c3d03;--orange-700:#b95d06;--orange-600:#d96f06;--orange-500:#f18712;--orange-100:#fff3df;--accent-rgb:241,135,18;
--red-700:#b91c1c;--red-600:#dc2626;--red-100:#fef2f2;--red-200:#fecaca;
--neutral-0:#fff;--neutral-50:#f7fbf8;--neutral-100:#f4faf6;--neutral-200:#dce7df;--neutral-300:#bfd4c6;--neutral-600:#6f8076;--neutral-700:#5f7066;--neutral-900:#17251c;
--shadow-rgb:10,64,36;
/* === Semantic 层：业务引用这一层 === */
--color-action:var(--green-500);--color-action-hover:var(--green-600);--color-action-dark:var(--green-700);--color-action-tint:var(--green-100);--color-action-tint-soft:var(--green-50);--color-action-border:var(--green-200);
--color-accent:var(--orange-500);--color-accent-hover:var(--orange-600);--color-accent-soft:var(--orange-100);--color-accent-dark:var(--orange-700);--color-accent-ink:var(--orange-900);
--color-success:var(--green-500);--color-success-bg:var(--green-100);--color-success-border:#bbf7d0;
--color-warning:var(--orange-700);--color-warning-bg:var(--orange-100);--color-warning-border:#fde68a;--color-warning-ink:#92400e;
--color-danger:var(--red-600);--color-danger-dark:var(--red-700);--color-danger-bg:var(--red-100);--color-danger-border:var(--red-200);
--surface-base:#eef4ef;--surface-raised:var(--neutral-0);--surface-tint:var(--green-50);--surface-overlay:#fbfdfb;
--border-base:var(--neutral-200);--border-strong:var(--neutral-300);--border-soft:#eef5f0;
--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-600);
--shadow-color:rgba(var(--shadow-rgb),.06);
/* === 旧 token（别名，指向 semantic，保证既有代码不破坏）=== */
--primary:var(--color-action);--primary-rgb:19,143,69;--primary-dark:var(--color-action-dark);--primary-hover:var(--color-action-hover);--primary-light:var(--color-action-tint);--primary-soft:var(--color-action-tint-soft);
--side-start:var(--green-800);--side-end:var(--green-900);
--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--accent-soft:var(--color-accent-soft);
--border:var(--border-base);--border-strong:var(--border-strong);
--text:var(--text-primary);--text-secondary:var(--text-secondary);--icon-muted:var(--text-muted);
--bg:var(--surface-base);--panel:var(--surface-overlay);--white:var(--neutral-0);
--danger:var(--color-danger);--success:var(--color-success);--warning:var(--color-warning);
--danger-bg:var(--color-danger-bg);--success-bg:var(--color-success-bg);--warning-bg:var(--color-warning-bg);
--shadow:0 8px 20px rgba(var(--shadow-rgb),.06),0 1px 2px rgba(var(--shadow-rgb),.05);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.14s;--dur-med:.18s;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--radius-circle:50%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);display:flex;height:100vh;overflow:hidden}
.side{width:232px;background:linear-gradient(180deg,var(--side-start) 0%,var(--primary-dark) 56%,var(--side-end) 100%);color:#b8d4c1;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08)}
.side-brand{display:flex;align-items:center;gap:10px;padding:18px 18px 16px;font-size:16px;font-weight:800;color:#fff;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.2px}
.side-brand i{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:15px;flex-shrink:0;box-shadow:none}
.side-brand img.side-brand-logo{width:36px;height:36px;max-width:36px;border-radius:var(--radius-md);object-fit:contain;flex-shrink:0;background:rgba(255,255,255,.95);padding:3px}
.side-brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-nav{flex:1;overflow-y:auto;padding:8px 0}
.side-label{font-size:10px;color:#78a486;padding:14px 18px 5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.side a{display:flex;align-items:center;gap:9px;padding:10px 14px;color:#b8d4c1;text-decoration:none;font-size:13px;cursor:pointer;margin:2px 10px;border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid transparent}
.side a:hover{background:rgba(255,255,255,.08);color:#fff}
.side a.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14);color:#fff;font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}
.side a .ico{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.ri{line-height:1}
.ico .ri,.sicon .ri,.si-icon .ri,.tab .ri,.top-btn .ri,button .ri,.es-icon .ri,.uz-icon .ri,.scene-card .ri{display:inline-flex;align-items:center;justify-content:center}
.top-btn .ri,button .ri,.tab .ri{margin-right:5px;vertical-align:-.12em}
.page-title-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:7px;color:var(--primary);vertical-align:-.12em}
.es-icon .ri,.uz-icon .ri{font-size:1em}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.top{height:58px;background:rgba(251,253,251,.94);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:12px;flex-shrink:0;justify-content:space-between;backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}
.top-left{display:flex;align-items:center;gap:12px}
.top-right{display:flex;align-items:center;gap:8px}
.top-search{position:relative;width:320px}
.top-search input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;background:var(--neutral-100);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}
.top-search input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}
.top-search .sicon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--icon-muted);font-size:13px}
.top-btn{border:1px solid var(--border);background:var(--panel);padding:8px 13px;border-radius:var(--radius-md);cursor:pointer;font-size:12px;color:var(--text);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);display:flex;align-items:center;gap:5px}
.top-btn:hover{background:var(--primary-soft);border-color:var(--border-strong);color:var(--primary)}
.top-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.top-btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.top-avatar{width:32px;height:32px;border-radius:var(--radius-lg);background:var(--primary-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;border:1px solid rgba(255,255,255,.12);padding:0;box-shadow:none}
.top-avatar:hover{background:var(--primary);border-color:rgba(var(--primary-rgb),.35);color:#fff}
.top-avatar:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}
.content{flex:1;overflow-y:auto;padding:28px;background:radial-gradient(circle at 100% 0,rgba(var(--primary-rgb),.07),transparent 340px),linear-gradient(180deg,var(--neutral-50) 0%,var(--bg) 220px)}
.page-header{margin-bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.page-header h1{font-size:23px;font-weight:800;color:var(--text);letter-spacing:.1px}
.page-header p{font-size:13px;color:var(--text-secondary);margin-top:4px}
.page-kicker{font-size:11px;color:var(--primary);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.card-header h2{font-size:15px;font-weight:600}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.stat-card{min-width:130px;background:linear-gradient(180deg,#fff 0%,var(--neutral-50) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat-card:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.stat-card .n{font-size:25px;font-weight:800;color:var(--primary);line-height:1}
.stat-card .l{font-size:11px;color:var(--text-secondary);margin-top:7px;font-weight:700}
.scene-cards{display:flex;gap:10px;flex-wrap:wrap}
.scene-card{flex:1;min-width:120px;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 14px;cursor:pointer;text-align:left;transition:border-color var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med) var(--ease-out),background var(--dur-med) var(--ease-out);background:var(--white);box-shadow:0 1px 0 rgba(18,48,78,.04)}
.scene-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}
.scene-card.active{border-color:var(--primary);background:linear-gradient(180deg,#fbfdfb 0%,var(--primary-light) 100%);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}
.scene-card .si{font-size:22px;margin-bottom:4px}
.scene-card .st{font-size:13px;font-weight:800;color:var(--text)}
.scene-card .sd{font-size:11px;color:var(--text-secondary);margin-top:3px;line-height:1.45}
.scene-card .sd .sr{display:inline-block;margin-top:4px;font-size:10px;font-weight:600;color:var(--primary);background:var(--primary-soft);padding:2px 7px;border-radius:var(--radius-sm);letter-spacing:.02em}
.upload-zone{border:1.5px dashed #abcbbb;border-radius:var(--radius-lg);padding:36px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:linear-gradient(180deg,#fbfdfb 0%,var(--neutral-100) 100%)}
.upload-zone:hover,.upload-zone.drag{border-color:var(--primary);background:var(--primary-light)}
.upload-zone.compact-upload{padding:24px;margin-top:12px}
.upload-zone .uz-icon{font-size:32px;margin-bottom:8px}
.upload-zone .uz-text{font-size:13px;color:var(--text-secondary)}
.upload-zone .uz-hint{font-size:11px;color:var(--text-secondary);margin-top:4px}
.file-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-light);border:1px solid var(--color-action-border);border-radius:var(--radius-md);font-size:12px;margin-top:8px}
.file-badge .fb-remove{cursor:pointer;color:var(--text-secondary);font-weight:700;margin-left:4px}
.import-panel{display:grid;gap:14px}
.import-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff 0%,var(--neutral-50) 100%)}
.import-copy{min-width:220px;max-width:520px}
.import-copy h2{font-size:15px;font-weight:800;margin-bottom:5px;color:var(--text)}
.import-copy p{font-size:12px;color:var(--text-secondary);line-height:1.6}
.import-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.import-select{width:180px}
.import-select label{margin-top:0}
.import-template-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.import-helper{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-dark);font-size:12px;line-height:1.5}
.import-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:stretch}
.import-upload-zone{height:100%;min-height:178px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.import-checklist{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:16px}
.import-checklist h3{font-size:13px;font-weight:800;margin-bottom:10px;color:var(--text)}
.import-checklist ul{list-style:none;display:grid;gap:9px}
.import-checklist li{position:relative;padding-left:19px;font-size:12px;color:var(--text-secondary);line-height:1.45}
.import-checklist li:before{content:'';position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:var(--radius-circle);background:var(--accent)}
.import-submit-row{text-align:center}
.logo-preview{width:64px;height:64px;border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f9fafb}
.logo-preview img{width:100%;height:100%;object-fit:contain}
.logo-preview .logo-placeholder{font-size:28px;color:#cbd5e1}
.logo-upload{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:11px;cursor:pointer;color:var(--text-secondary);transition:border-color .12s,color .12s}
.logo-upload:hover{border-color:var(--primary);color:var(--primary)}
.logo-clear{cursor:pointer;font-size:11px;color:#f87171;margin-left:4px}
.setting-group{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.setting-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.setting-group h3{font-size:13px;font-weight:600;margin-bottom:10px;color:var(--text)}
.form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.form-col{flex:1;min-width:140px}
	label{display:block;margin:8px 0 3px;font-weight:600;font-size:12px;color:var(--text)}
	input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;background:var(--white);outline:none;transition:border-color .12s;font-family:inherit}
	.field-hint{font-size:11px;color:var(--text-secondary);line-height:1.45;margin-top:4px}
	textarea{min-height:86px;resize:vertical;line-height:1.5}
	input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}
	input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}
label.check-row{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px}
label.check-row input{width:auto;margin:0;flex-shrink:0}
button{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:var(--radius-md);padding:8px 16px;font-size:13px;cursor:pointer;font-weight:600;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);line-height:1.2;white-space:nowrap}
button:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}
button:active{transform:translateY(1px)}
button:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}
button.is-loading,button.is-loading:disabled{background:var(--primary);border-color:var(--primary);color:transparent;cursor:progress;pointer-events:none;position:relative}
button.is-loading::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
button.outline.is-loading,button.outline.is-loading:disabled{background:var(--white);border-color:var(--border-strong)}
button.outline.is-loading::after{border-color:var(--border-strong);border-top-color:var(--primary)}
button.danger.is-loading,button.danger.is-loading:disabled{background:var(--danger);border-color:var(--danger)}
button.sm{padding:5px 12px;font-size:11px;min-height:32px}
button.outline{background:var(--white);color:var(--text);border:1px solid var(--border)}
button.outline:hover{background:#f9fafb;border-color:var(--border-strong);color:var(--primary)}
button.danger{background:var(--danger)}button.danger:hover{background:var(--color-danger-dark)}
.inline-link{background:transparent!important;border:0!important;color:var(--primary)!important;padding:0!important;margin-left:6px;font-size:11px;box-shadow:none!important}
.button{height:auto}
.button.is-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.button.is-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.button.is-warning{background:var(--accent);border-color:var(--accent);color:var(--text)}
.button.is-light{background:var(--neutral-100);border-color:var(--border);color:var(--text)}
.button.is-light:hover{background:var(--neutral-100);border-color:var(--border-strong);color:var(--primary)}
.button.is-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.button.is-danger.is-outlined{background:#fff;color:var(--danger);border-color:var(--color-danger-border)}
.button.is-danger.is-outlined:hover{background:var(--danger-bg);color:#991b1b;border-color:#fca5a5}
.dialog .modal-card{border-radius:var(--radius-xl);overflow:hidden}
.notices .toast{box-shadow:var(--shadow);border-radius:var(--radius-md);font-size:13px}
.buefy-loading-inline{display:flex;align-items:center;justify-content:center;gap:8px}
.modal:not(.modal-overlay>.modal){position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px;overflow:auto;background:transparent}
.modal.is-active:not(.modal-overlay>.modal){display:flex;background:rgba(8,24,39,.42)}
.modal-background{position:absolute;inset:0;background:rgba(8,24,39,.42)}
.modal-card{position:relative;z-index:1;max-height:calc(100vh - 40px);display:flex;flex-direction:column;margin:0 auto;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 18px 55px rgba(8,24,39,.22)}
.modal-card-head,.modal-card-foot{display:flex;align-items:center;gap:10px;padding:16px 20px;background:var(--neutral-50);border-color:var(--border);flex-shrink:0}
.modal-card-head{border-bottom:1px solid var(--border)}
.modal-card-foot{border-top:1px solid var(--border);justify-content:flex-end}
.modal-card-body{overflow:auto;background:var(--white);padding:20px}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
th,td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}
th{background:var(--neutral-100);font-weight:700;color:var(--text);font-size:13px;letter-spacing:.2px}
tbody tr:last-child td{border-bottom:0}
tr:hover td{background:var(--neutral-50)}
.table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.table-action-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text);font-size:11px;font-weight:600;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s,color .12s}
.table-action-link:hover{background:var(--primary-soft);border-color:var(--border-strong);color:var(--primary);text-decoration:none}
.table-action-link .ri{margin-right:4px;vertical-align:-.12em}
.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--border)}
.tab{padding:8px 16px;cursor:pointer;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.tab:hover{color:var(--text)}
.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
#thContent,#aoContent,#asContent,#cfgContent{padding-top:16px}
#thContent>.component-toolbar:first-child,#aoContent>.component-toolbar:first-child,#asContent>.setting-group:first-child,#cfgContent>table:first-child{margin-top:2px}
.badge{font-size:10px;padding:2px 8px;border-radius:var(--radius-md);font-weight:600;display:inline-block}
.badge-success{background:#d1fae5;color:#065f46}
.badge-warning{background:#fef3c7;color:#92400e}
.badge-danger{background:var(--danger-bg);color:var(--danger)}
.badge-info{background:var(--primary-light);color:var(--primary-dark)}
.result-bar{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:12px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.result-success{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}
.result-warning{background:var(--warning-bg);color:#92400e;border:1px solid #fde68a}
.empty-state{text-align:center;padding:48px 20px;color:var(--text-secondary)}
.empty-state .es-icon{font-size:40px;margin-bottom:12px}
.empty-state .es-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px}
.empty-state .es-desc{font-size:12px;margin-bottom:16px}
.empty-state.compact{padding:24px 16px}
.loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:13px}
.loading:after{content:'';display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-circle);animation:spin .6s linear infinite;margin-left:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.ri.ri-spin,.ri-spin{animation:spin .8s linear infinite;display:inline-flex}
.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.skeleton-row{height:36px;margin-bottom:8px}
.skeleton-text{height:14px;width:60%;margin-bottom:8px}
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100}
.modal-overlay>.modal{position:relative;inset:auto;z-index:auto;display:block;background:var(--white);border-radius:var(--radius-xl);width:560px;max-height:85vh;overflow-y:auto;padding:24px;box-shadow:0 8px 40px rgba(0,0,0,.15)}
.modal-overlay>.modal h3{font-size:16px;margin-bottom:16px}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}
.account-menu-host{background:transparent;backdrop-filter:none;align-items:flex-start;justify-content:flex-end;padding:64px 22px 0 0}
.account-menu-panel{width:312px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 14px 38px rgba(8,24,39,.18);overflow:hidden;animation:accountMenuIn .14s ease-out}
.account-menu-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;background:linear-gradient(180deg,#fbfdfb,var(--neutral-100));border-bottom:1px solid var(--border)}
.account-menu-avatar{width:38px;height:38px;border-radius:var(--radius-lg);background:var(--primary-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.account-menu-identity{min-width:0;flex:1}
.account-menu-identity strong{display:block;font-size:14px;color:var(--text);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu-identity span{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu-close{width:30px;height:30px;border-radius:var(--radius-md);background:#fff;color:var(--text-secondary);border:1px solid var(--border);padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.account-menu-close:hover{background:var(--neutral-50);border-color:var(--border-strong);color:var(--primary)}
.account-menu-close .ri{margin:0}
.account-session-card{display:flex;align-items:flex-start;gap:9px;margin:12px 12px 8px;padding:10px;border:1px solid var(--color-action-border);border-radius:var(--radius-lg);background:var(--primary-soft)}
.account-session-card>span{width:24px;height:24px;border-radius:var(--radius-md);background:#fff;color:var(--primary);border:1px solid var(--color-action-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.account-session-card .ri{margin:0}
.account-session-card strong{font-size:12px;color:var(--primary-dark);line-height:1.3}
.account-session-card p{font-size:11px;color:#456b51;margin-top:2px;line-height:1.45}
.account-menu-actions{display:grid;gap:6px;padding:8px 8px 10px}
.account-action{width:100%;display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:9px;padding:10px;border:1px solid transparent;border-radius:var(--radius-lg);background:#fff;color:var(--text);text-align:left;font-weight:400}
.account-action:hover{background:var(--neutral-50);border-color:var(--border);color:var(--text);transform:none}
.account-action>span{width:30px;height:30px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}
.account-action .ri{margin:0}
.account-action strong{display:block;font-size:13px;color:var(--text);line-height:1.3}
.account-action p{font-size:11px;color:var(--text-secondary);margin-top:2px;line-height:1.4}
.account-action.danger{background:#fff;color:var(--text);border-color:transparent}
.account-action.danger>span{background:var(--danger-bg);color:var(--danger)}
.account-action.danger:hover{background:#fff8f8;border-color:var(--color-danger-border);color:var(--text)}
.account-action.danger strong{color:#991b1b}
@keyframes accountMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.toast{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.1);animation:slideIn .2s ease}
.toast-success{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}
.toast-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--color-danger-border)}
.toast-warning{background:var(--warning-bg);color:#92400e;border:1px solid #fde68a}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(0,0,0,.1);max-height:320px;overflow-y:auto;z-index:50;display:none}
.search-dropdown.show{display:block}
.search-dropdown .sg{font-size:10px;color:var(--text-secondary);padding:8px 12px 4px;font-weight:600;text-transform:uppercase}
.search-dropdown .si{padding:8px 12px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:8px;transition:background .1s;text-decoration:none;color:var(--text)}
.search-dropdown .si:hover,.search-dropdown .si.focus{background:var(--neutral-50)}
.search-dropdown .si .si-icon{font-size:14px;flex-shrink:0}
.search-dropdown .si .si-label{flex:1}
.search-dropdown .si .si-desc{font-size:10px;color:var(--text-secondary)}
.pagination{display:flex;gap:8px;align-items:center;margin-top:12px;justify-content:center}
.pagination span{font-size:12px;color:var(--text-secondary)}
.component-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px}
.component-filters .field{margin-bottom:0}
.component-filters label.label{font-size:12px;color:var(--text);margin-bottom:4px}
.component-filter-actions{display:flex;gap:6px;align-items:center;padding-bottom:1px}
.filter-action-btn,.component-filter-actions .filter-action-btn.button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;color:var(--text);font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:none;transition:background .12s,border-color .12s,color .12s,transform .12s}
.filter-action-btn:hover,.component-filter-actions .filter-action-btn.button:hover{background:var(--primary-soft);border-color:var(--border-strong);color:var(--primary)}
.filter-action-btn:focus-visible,.component-filter-actions .filter-action-btn.button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}
.filter-action-btn.primary,.component-filter-actions .filter-action-btn.primary.button{background:var(--primary);border-color:var(--primary);color:#fff}
.filter-action-btn.primary:hover,.component-filter-actions .filter-action-btn.primary.button:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.filter-action-btn .ri,.component-filter-actions .filter-action-btn .ri{margin-right:4px;vertical-align:-.12em}
.city-picker-col{min-width:210px}
.city-picker-field{min-width:210px;margin-bottom:0}
.city-picker{position:relative;width:100%}
.city-picker-control{position:relative}
.city-picker-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--icon-muted);font-size:14px;line-height:1;pointer-events:none}
.city-picker-input{padding-left:31px;padding-right:34px}
.city-picker-input::placeholder{color:var(--icon-muted)}
.city-picker-clear{position:absolute;right:5px;top:50%;width:24px;height:24px;min-height:0;padding:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--icon-muted);border-radius:var(--radius-sm);box-shadow:none}
.city-picker-clear:hover{background:var(--primary-soft);color:var(--primary);border:0}
.city-picker-clear:active{transform:translateY(-50%)}
.city-picker-clear .ri{margin:0}
.city-picker-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:86;display:none;max-height:292px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 26px rgba(8,24,39,.14);padding:5px}
.city-picker-menu.show{display:block}
.city-option{width:100%;display:grid;grid-template-columns:minmax(76px,.55fr) minmax(0,1fr);align-items:center;gap:9px;padding:8px 9px;border:0;border-radius:var(--radius-md);background:#fff;color:var(--text);text-align:left;box-shadow:none;font-weight:400}
.city-option:hover,.city-option.focus{background:var(--primary-soft);color:var(--text);transform:none}
.city-option-main{font-size:12px;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-option-meta{font-size:11px;color:var(--text-secondary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-picker-empty{padding:9px 10px;color:var(--text-secondary);font-size:12px;line-height:1.45}
.component-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
	.component-toolbar h2{font-size:15px;font-weight:700;margin-bottom:3px}
	.component-toolbar p{font-size:12px;color:var(--text-secondary);line-height:1.5}
	.line-accounting-workbench{min-width:0}
	.la-control-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:stretch;margin-bottom:16px}
	.la-upload-block{min-width:0}
	.la-rules-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
	.la-rules-panel .form-row{margin-bottom:0}
	.la-rules-panel button{width:100%}
	.la-summary{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;margin:16px 0}
	.la-summary .stat-card{padding:13px}
	.la-summary .stat-card .n{font-size:21px}
	.la-result-head{margin-top:4px}
	.la-table td{vertical-align:top}
	.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--color-danger-border)}
	.lane-detail-host{margin:10px 0}
.muted-mini{font-size:11px;color:var(--text-secondary);margin-left:6px}
.price-strong{color:var(--accent)}
.cost-price-stack{display:flex;flex-wrap:wrap;gap:6px;max-width:360px}
.cost-price-pill{display:inline-flex;align-items:baseline;gap:5px;padding:4px 8px;border:1px solid #f3c889;border-radius:var(--radius-md);background:var(--accent-soft);color:#7c3d03;font-size:11px;line-height:1.2;white-space:nowrap}
.cost-price-pill strong{font-size:13px;color:#9a4b05;font-weight:800}
.cost-price-pill em{font-style:normal;color:#8a5a20}
.cost-secondary-note{display:inline-flex;max-width:280px;color:var(--text-secondary);font-size:11px;line-height:1.45}
.cost-price-empty{color:var(--text-secondary);font-size:11px}
.table-ellipsis{display:inline-block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.empty-state.compact{padding:24px 12px}
/* Keep Buefy/Bulma components on the OA light theme even when the device is in dark mode. */
:root{
	--bulma-scheme-main:#fff;
	--bulma-scheme-main-bis:#fbfdfb;
	--bulma-scheme-main-ter:#f4faf6;
	--bulma-scheme-invert:#17251c;
	--bulma-body-background-color:var(--bg);
	--bulma-body-color:var(--text);
	--bulma-text:var(--text);
	--bulma-text-strong:var(--text);
	--bulma-text-weak:var(--text-secondary);
	--bulma-border:var(--border);
	--bulma-border-weak:#eef5f0;
	--bulma-link:var(--primary);
	--bulma-primary:var(--primary);
	--bulma-primary-h:145deg;
	--bulma-primary-s:77%;
	--bulma-primary-l:32%;
	--bulma-danger:var(--danger);
}
.b-table{color:var(--text)}
.b-table .table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;overflow:auto}
.b-table .table{border:0;border-radius:var(--radius-md);background:#fff;color:var(--text)}
.b-table .table thead th{background:var(--neutral-100);color:var(--text);border-color:var(--border);font-size:13px;font-weight:700;letter-spacing:.2px}
.b-table .table tbody td{background:#fff;color:var(--text);border-color:var(--border)}
.b-table .table tbody tr:hover td{background:var(--neutral-50)}
.b-table .table.is-striped tbody tr:not(.is-selected):nth-child(even){background:#fbfdfb}
.b-table .table.is-striped tbody tr:not(.is-selected):nth-child(even) td{background:#fbfdfb}
.b-table .table strong{color:var(--text)}
.b-table .level,.b-table .pagination{color:var(--text)}
.field .label,.label{color:var(--text)}
.control.has-icons-left .icon,.control.has-icons-right .icon{color:var(--icon-muted)}
.input,.textarea,.select select{background:#fff!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:none!important}
.input::placeholder,.textarea::placeholder{color:var(--text-secondary)!important;opacity:1}
.input:hover,.textarea:hover,.select select:hover{border-color:var(--border-strong)!important}
.input:focus,.textarea:focus,.select select:focus{border-color:var(--primary)!important;box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)!important}
.input[disabled],.textarea[disabled],.select select[disabled]{background:#f3f7f4!important;color:#718077!important;border-color:var(--border)!important;opacity:1}
.select:not(.is-multiple):not(.is-loading)::after{border-color:var(--primary)}
.select option{background:#fff;color:var(--text)}
.checkbox:hover,.radio:hover{color:var(--text)}
.checkbox input,.radio input{accent-color:var(--primary)}
.modal{color:var(--text)}
.modal-background{background:rgba(8,24,39,.42)}
.modal-card{background:#fff;color:var(--text)}
.modal-card{width:min(620px,calc(100vw - 32px));border-radius:var(--radius-xl)}
.modal-card-head,.modal-card-foot{background:var(--neutral-50);border-color:var(--border)}
.modal-card-title{font-size:16px;font-weight:800;color:var(--text)}
.modal-card-body .field:not(:last-child){margin-bottom:12px}
.modal-card-body{background:#fff;color:var(--text)}
.modal-card-foot .button{margin-left:8px}
.sop-detail h3{font-size:13px;font-weight:800;color:var(--text);margin:0 0 8px}
.sop-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.sop-summary-grid>div{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:12px}
.sop-summary-grid span{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:5px}
.sop-summary-grid strong{font-size:13px;color:var(--text)}
.sop-two-col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;margin-bottom:16px}
.sop-two-col section{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:14px}
.sop-two-col p{font-size:12px;color:var(--text-secondary);line-height:1.7;white-space:pre-wrap}
.sop-two-col pre{font-family:inherit;font-size:12px;color:var(--text);line-height:1.7;white-space:pre-wrap;background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;max-height:280px;overflow:auto}
.sop-section-title{margin:8px 0 10px!important}
.sop-editor{width:min(980px,calc(100vw - 32px))}
.sop-editor .modal-card-body{max-height:calc(100vh - 172px)}
.sop-terms-input{min-height:140px}
.sop-participant-toolbar{margin:14px 0 10px}
.sop-participant-row{border:1px solid var(--border);border-radius:var(--radius-md);background:#fbfdfb;padding:12px;margin-bottom:10px}
.sop-participant-row textarea{min-height:58px}
.sop-sign-check{display:flex;align-items:flex-end}
.sop-notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:18px 0 10px;padding-top:14px;border-top:1px solid var(--border)}
.sop-notification-head h3{margin:0 0 3px!important}
.sop-notification-head p{font-size:12px;color:var(--text-secondary);line-height:1.5}
.sop-notification-table td{vertical-align:top}
.sop-tracking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:18px 0 10px;padding-top:14px;border-top:1px solid var(--border)}
.sop-tracking-head h3{margin:0 0 3px!important}
.sop-tracking-head p{font-size:12px;color:var(--text-secondary);line-height:1.5}
.sop-tracking-table td{vertical-align:top}
.sop-tracking-modal{width:min(760px,calc(100vw - 32px))}
@media(max-width:900px){
  .sop-summary-grid,.sop-two-col{grid-template-columns:1fr}
  .sop-notification-head,.sop-tracking-head{flex-direction:column}
}
.prompt-text{padding:9px 12px;background:var(--primary-light);border-radius:var(--radius-md);font-size:12px;color:var(--primary-dark);margin-top:6px;border:1px solid var(--color-action-border)}
.ymm-panel{display:grid;gap:14px}
.ymm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:4px}
.ymm-head h2{font-size:16px;font-weight:800;color:var(--text);margin-bottom:4px}
.ymm-head p,.ymm-section-head p{font-size:12px;line-height:1.55;color:var(--text-secondary)}
.ymm-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ymm-status-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}
.ymm-status-item span{font-size:12px;color:var(--text-secondary)}
.ymm-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff 0%,var(--neutral-50) 100%);padding:16px}
.ymm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.ymm-section-head h3{font-size:14px;font-weight:800;color:var(--text);margin-bottom:3px}
.ymm-config-grid,.ymm-query-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;align-items:end}
.ymm-profile-list{margin-top:12px}
.ymm-profile-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:8px}
.ymm-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.ymm-profile-item{display:grid;gap:3px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}
.ymm-profile-item strong{font-size:12px;color:var(--text)}
.ymm-profile-item span{font-size:12px;color:var(--primary-dark)}
.ymm-profile-item small{font-size:11px;color:var(--text-secondary);line-height:1.4}
.ymm-work-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px;align-items:start}
.ymm-action-box{display:grid;gap:10px;align-content:start}
.ymm-inline-form{display:flex;gap:8px;align-items:center}
.ymm-inline-form input{min-width:0}
.ymm-inline-form button{flex-shrink:0}
.ymm-keyword-editor{display:grid;gap:4px;margin-top:2px}
.ymm-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}
.ymm-table-wrap table{border:0;border-radius:0}
.ymm-table-wrap.compact{max-height:210px}
.ymm-message{padding:10px 12px;border-radius:var(--radius-md);font-size:12px;line-height:1.55;border:1px solid var(--border);background:#fff;color:var(--text-secondary)}
.ymm-message.info{background:var(--primary-soft);border-color:var(--color-action-border);color:var(--primary-dark)}
.ymm-message.success{background:var(--success-bg);border-color:var(--color-success-border);color:#065f46}
.ymm-message.warning{background:var(--warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-ink)}
.ymm-message.error{background:var(--danger-bg);border-color:var(--color-danger-border);color:var(--danger)}
.ymm-query-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
.ymm-prereq{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:12px}
.ymm-prereq strong{display:block;font-size:12px;margin-bottom:8px;color:var(--text)}
.ymm-prereq-list{display:grid;gap:7px}
.ymm-prereq-list div{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.45;color:var(--text-secondary)}
.ymm-prereq-list span{display:inline-flex;margin-top:1px}
.ymm-prereq-list .ok{color:#166534}
.ymm-prereq-list .warn{color:var(--color-warning-ink)}
.password-modal-host{background:rgba(8,24,39,.42);padding:18px}
.password-modal{width:min(520px,calc(100vw - 28px));border-radius:var(--radius-xl);box-shadow:0 18px 48px rgba(8,24,39,.2)}
.password-modal-head{justify-content:space-between;padding:18px 20px;background:linear-gradient(180deg,#fbfdfb,var(--neutral-100))}
.password-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.password-title-icon{width:38px;height:38px;border-radius:var(--radius-lg);background:var(--primary-light);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-action-border);font-size:20px;flex-shrink:0}
.password-title-sub{margin-top:3px;font-size:12px;color:var(--text-secondary);line-height:1.35}
.password-close{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;color:var(--text-secondary);padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.password-close:hover{background:var(--neutral-50);border-color:var(--border-strong);color:var(--primary)}
.password-close .ri{margin:0}
.password-modal-body{padding:20px}
.password-security-note{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--color-action-border);border-radius:var(--radius-lg);background:var(--primary-soft);color:var(--primary-dark);margin-bottom:16px}
.password-security-note span{width:24px;height:24px;border-radius:var(--radius-md);background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--color-action-border)}
.password-security-note p{font-size:12px;line-height:1.65;margin:1px 0 0}
.password-form-grid{display:grid;gap:12px}
.password-modal .field{margin-bottom:0}
.password-modal .label{font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px}
.password-modal .input{height:40px;border-radius:var(--radius-md);border-color:var(--border);font-size:13px;box-shadow:none}
.password-modal .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}
.password-modal .control.has-icons-left{position:relative}
.password-modal .control.has-icons-left .input{padding-left:36px}
.password-modal .icon.is-left{position:absolute;left:8px;top:0;color:var(--icon-muted);height:40px;width:20px;z-index:2;pointer-events:none;display:inline-flex;align-items:center;justify-content:center}
.password-modal .icon.is-left .ri{margin:0}
.password-modal .help{font-size:11px;color:var(--text-secondary);margin-top:5px}
.password-rule-box{margin-top:14px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff}
.password-rule-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--text);margin-bottom:8px}
.password-rule-title .ri{color:var(--accent);margin:0}
.password-rule-list{display:flex;flex-wrap:wrap;gap:7px}
.password-rule-list span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:var(--radius-md);background:var(--accent-soft);color:#7a3d04;font-size:11px;line-height:1.2}
.password-rule-list .ri{margin:0;color:var(--accent)}
.password-error{margin-top:12px;text-align:left;background:var(--danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);padding:8px 10px;min-height:0;display:none}
.password-error:not(:empty){display:block}
.password-modal-foot{padding:14px 20px;background:#f8fbf8}
.password-modal-foot .button{border-radius:var(--radius-md);min-width:96px}
.password-modal-foot .button .ri{margin-right:5px}
.login-shell{width:900px;max-width:calc(100vw - 32px);display:grid;grid-template-columns:minmax(0,1.08fr) 408px;background:var(--panel);border-radius:var(--radius-xl);box-shadow:0 24px 70px rgba(5,40,24,.25);overflow:hidden}
.login-panel{color:#fff;padding:38px 36px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:520px}
.login-panel-top{display:flex;align-items:flex-start;gap:16px}
.login-panel h2{font-size:25px;line-height:1.28;margin-bottom:10px;text-wrap:balance}
.login-panel p{color:#d7eadc;font-size:13px;line-height:1.8;max-width:40ch}
.login-brand-mark{width:52px;height:52px;border-radius:var(--radius-xl);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);flex-shrink:0}
.login-brand-mark i{width:40px;height:40px;background:var(--accent);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800}
.login-brand-logo{max-width:44px;max-height:44px;object-fit:contain;border-radius:var(--radius-lg);background:rgba(255,255,255,.96);padding:3px}
.login-brand-poem{position:relative;padding:28px 0 30px}
.login-brand-poem:before{content:'';position:absolute;left:-36px;top:0;width:4px;height:100%;border-radius:var(--radius-pill);background:linear-gradient(180deg,rgba(var(--accent-rgb),.95),rgba(var(--accent-rgb),.08))}
.login-slogan{display:grid;gap:8px;font-size:34px;line-height:1.16;font-weight:900;letter-spacing:.02em;color:#fff;text-wrap:balance}
.login-slogan span:last-child{color:#ffd8a5}
.login-slogan-rule{width:92px;height:2px;margin:24px 0 18px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.18));border-radius:var(--radius-pill)}
.login-brand-poem p{font-size:13px;color:#d7eadc;line-height:1.9;max-width:30ch}
.login-panel-foot{display:grid;gap:10px}
.login-foot-note{font-size:12px;color:#d7eadc}
.login-legal{padding-top:10px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:4px;color:#a9c8b2;font-size:11px;line-height:1.45}
.login-legal a{color:#d7eadc;text-decoration:none;width:max-content;max-width:100%}
.login-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.login-form-card{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}
.login-form-brand{margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.login-form-card h1{font-size:24px;color:var(--text);margin-bottom:5px;text-wrap:balance}
.login-form-card p{color:var(--text-secondary);font-size:14px}
.login-form-card label{margin:16px 0 6px;font-weight:700;font-size:13px}
.login-form-card input{padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-lg);font-size:15px}
.login-form-card button{width:100%;border-radius:var(--radius-lg);padding:12px;font-size:16px;margin-top:24px;display:flex;align-items:center;justify-content:center;gap:6px}
.captcha-row{display:grid;grid-template-columns:1fr 42px 132px;gap:8px;align-items:center}
.captcha-row .captcha-refresh{width:42px;height:42px;margin:0;padding:0;border-radius:var(--radius-lg);background:var(--neutral-50);color:var(--primary);border:1px solid var(--border);font-size:18px}
.captcha-img{width:132px;height:44px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fbf8;object-fit:cover;cursor:pointer}
.captcha-img.is-loading{opacity:.55}
.form-error{color:var(--danger);font-size:13px;text-align:center;margin-top:12px;min-height:18px}
.company-settings{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:22px;align-items:start}
.company-form-panel{min-width:0}
.company-logo-group{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,var(--primary-soft));margin-bottom:18px}
.company-logo-box{flex-shrink:0}
.company-logo-copy{min-width:0}
.company-logo-copy h3,.setting-title h3{font-size:14px;font-weight:800;margin-bottom:5px;color:var(--text)}
.company-logo-copy p,.setting-title p{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px}
.logo-preview.large{width:84px;height:84px;border-radius:var(--radius-xl);background:#fff}
.logo-preview.large .logo-placeholder{font-size:30px;font-weight:800;color:var(--primary)}
.logo-upload.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;padding:7px 12px;border-radius:var(--radius-md)}
.logo-upload.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.logo-clear-btn{margin-top:8px;padding:5px 10px;font-size:11px;background:#fff;color:var(--danger);border-color:var(--color-danger-border)}
.logo-clear-btn:hover{background:var(--danger-bg);border-color:var(--color-danger-border);color:var(--danger)}
.setting-title{margin-bottom:12px}
.form-col.wide{min-width:100%}
.brand-color-editor{display:flex;align-items:center;gap:12px}
.brand-color-editor input[type=color]{width:56px;height:42px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:#fff}
.brand-color-value{font-weight:800;color:var(--text);font-size:13px;text-transform:uppercase}
.brand-color-hint{font-size:11px;color:var(--text-secondary);margin-top:3px}
.company-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}
.company-preview-panel{position:sticky;top:10px;border:1px solid var(--border);border-radius:var(--radius-xl);background:#fff;padding:14px;box-shadow:var(--shadow)}
.preview-label{font-size:11px;color:var(--text-secondary);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.preview-login-card{display:grid;grid-template-columns:.8fr 1fr;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff;margin-bottom:14px}
.preview-login-side{color:#fff;padding:18px;min-height:168px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.preview-login-brand-row{display:flex;align-items:center;gap:10px}
.preview-login-side strong{display:block;font-size:15px}
.preview-login-side span{font-size:11px;color:#cfe4d4}
.preview-login-slogan{display:grid;gap:4px;font-size:20px;line-height:1.15;font-weight:900;color:#fff}
.preview-login-slogan span:last-child{color:#ffd8a5}
.preview-login-footer{display:grid;gap:3px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;line-height:1.35;color:#a9c8b2}
.preview-login-footer a{color:#d7eadc;text-decoration:none;width:max-content;max-width:100%}
.preview-login-footer a:hover{text-decoration:underline;text-underline-offset:2px;color:#fff}
.preview-mark{width:38px;height:38px;border-radius:var(--radius-lg);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12)}
.preview-mark i,.preview-form-title i,.preview-side-brand i{width:30px;height:30px;border-radius:var(--radius-md);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:12px}
.preview-brand-logo{width:30px;height:30px;object-fit:contain;border-radius:var(--radius-md);background:#fff;padding:2px}
.preview-login-form{padding:18px;display:flex;flex-direction:column;gap:10px}
.preview-form-title{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.preview-form-title b{display:block;font-size:13px}
.preview-form-title span{display:block;font-size:10px;color:var(--text-secondary);margin-top:2px}
.preview-input{height:28px;border-radius:var(--radius-md);background:var(--neutral-100);border:1px solid var(--border)}
.preview-input.short{width:82%}
.preview-button{border-radius:var(--radius-md);color:#fff;text-align:center;font-size:12px;font-weight:800;padding:8px;margin-top:2px}
.preview-shell{display:grid;grid-template-columns:112px 1fr;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;min-height:154px;background:var(--neutral-50)}
.preview-side{padding:12px 8px;color:#fff}
.preview-side-brand{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;margin-bottom:14px}
.preview-side-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preview-nav{font-size:11px;color:#cfe4d4;border-radius:var(--radius-md);padding:7px 8px;margin-bottom:5px}
.preview-nav.active{background:rgba(255,255,255,.12);color:#fff;font-weight:800}
.preview-main{padding:16px;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.preview-pill{border-radius:var(--radius-pill);padding:6px 10px;font-size:11px;font-weight:800}
.preview-main-button{border-radius:var(--radius-md);color:#fff;font-size:12px;font-weight:800;padding:8px 12px}
.company-info-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.company-info-main{min-width:0}
.info-card-grid,.asset-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.company-info-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}
.company-info-card .card-header{margin-bottom:12px}
.company-info-card h2{font-size:15px;font-weight:800;color:var(--text)}
.crm-shell{display:grid;gap:14px}
.crm-tabs{display:flex;gap:8px;flex-wrap:wrap}
.crm-tabs button{background:var(--panel);color:var(--text);border-color:var(--border);padding:8px 14px}
.crm-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.crm-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--warning);font-size:10px;font-weight:800}
.crm-chip-count:empty{display:none}
.crm-tabs button.active .crm-chip-count{background:rgba(255,255,255,.18);color:#fff}
.crm-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}
.crm-stat{background:linear-gradient(180deg,#fff 0%,var(--neutral-50) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow)}
.crm-stat strong{display:block;font-size:24px;line-height:1;color:var(--primary)}
.crm-stat span{display:block;margin-top:6px;font-size:11px;color:var(--text-secondary);font-weight:700}
.crm-list{display:grid;gap:10px}
.crm-row{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;align-items:start;transition:border-color var(--dur-med) var(--ease-out),box-shadow var(--dur-med) var(--ease-out)}
.crm-row:hover{border-color:var(--border-strong);box-shadow:0 8px 18px rgba(10,64,36,.06)}
.crm-row-main{min-width:0;cursor:pointer}
.crm-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.crm-row-title strong{font-size:15px;color:var(--text)}
.crm-row-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.crm-row-meta span{font-size:11px;color:var(--text-secondary);background:var(--neutral-100);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px 8px}
.crm-row-note{font-size:12px;color:var(--text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-row-side{font-size:12px;color:var(--text-secondary);display:grid;gap:4px}
.crm-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.crm-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.crm-detail-main,.crm-detail-side{display:grid;gap:14px;min-width:0}
.crm-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.crm-info-grid div{background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px}
.crm-info-grid span{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}
.crm-info-grid strong{font-size:13px;color:var(--text);word-break:break-word}
.crm-contact{border:1px solid var(--border);border-radius:var(--radius-md);padding:11px;margin-bottom:8px;background:#fff}
.crm-contact strong{margin-right:6px}
.crm-contact div{font-size:12px;color:var(--text-secondary);margin-top:3px}
.crm-timeline{display:grid;gap:10px}
.crm-timeline-item{position:relative;padding:0 0 0 14px}
.crm-timeline-item:before{content:'';position:absolute;left:0;top:0;bottom:-10px;width:2px;background:var(--border-strong)}
.crm-timeline-item:last-child:before{bottom:50%}
.crm-timeline-item:after{content:'';position:absolute;left:-3px;top:4px;width:8px;height:8px;border-radius:var(--radius-circle);background:var(--primary);box-shadow:0 0 0 3px var(--panel)}
.crm-timeline-item div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-timeline-item strong{font-size:13px}
.crm-timeline-item span{font-size:11px;color:var(--text-secondary)}
.crm-timeline-item p{font-size:13px;line-height:1.55;margin:5px 0;color:var(--text)}
.crm-timeline-item em{font-style:normal;font-size:11px;color:var(--warning)}
.crm-opportunity{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:9px;background:#fff}
.crm-opportunity>div{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.crm-opportunity p{font-size:12px;color:var(--text-secondary);margin:6px 0}
.crm-opportunity small{font-size:11px;color:var(--text-secondary)}
.crm-contract{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:9px;background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%)}
.crm-contract>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.crm-contract p{font-size:13px;color:var(--text);margin:6px 0}
.crm-contract small{font-size:11px;color:var(--text-secondary)}
.crm-board{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}
.crm-board-col{min-width:190px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--neutral-50);padding:10px}
.crm-board-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.crm-board-head strong{font-size:13px;color:var(--text)}
.crm-board-head span{font-size:11px;color:var(--primary);font-weight:800;background:var(--primary-light);border-radius:var(--radius-pill);padding:2px 7px}
.crm-board-empty{border:1px dashed var(--border);border-radius:var(--radius-md);padding:16px 8px;text-align:center;font-size:12px;color:var(--text-secondary);background:#fff}
.crm-board-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:10px;margin-bottom:8px;box-shadow:0 1px 0 rgba(10,64,36,.04)}
.crm-board-card>div:first-child{display:flex;gap:6px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.crm-board-card strong{font-size:12px;color:var(--text);line-height:1.35}
.crm-board-card p{font-size:11px;color:var(--text-secondary);line-height:1.45;margin:6px 0}
.crm-board-card small{font-size:11px;color:var(--text-secondary)}
.contract-modal{width:min(760px,calc(100vw - 32px))!important}
.protection-modal .form-row{margin-bottom:10px}
.info-list{display:flex;flex-direction:column;gap:8px}
.info-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf5ef}
.info-row:last-child{border-bottom:0}
.info-row span{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:3px}
.info-row strong{display:block;font-size:13px;color:var(--text);line-height:1.4;word-break:break-all}
.asset-list{display:flex;flex-direction:column;gap:10px}
.asset-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff}
.asset-icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.asset-meta{min-width:0;flex:1}
.asset-meta strong{display:block;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-meta span{display:block;font-size:11px;color:var(--text-secondary);margin-top:3px}
.asset-meta p{font-size:11px;color:var(--text-secondary);line-height:1.5;margin-top:4px}
.asset-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.company-manage-panel{position:sticky;top:10px;display:flex;flex-direction:column;gap:14px}
.manage-card{box-shadow:none}
.upload-mini{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,var(--primary-soft));margin-bottom:10px}
.upload-mini:last-child{margin-bottom:0}
.upload-mini label{margin:0;font-size:12px}
.upload-mini input[type=file]{padding:7px;background:#fff}
.company-empty{background:#fff;border:1px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:14px}
.surcharge-grid{display:flex;flex-wrap:wrap;gap:8px}
.surcharge-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;cursor:pointer;user-select:none;background:var(--white);transition:border-color .12s,background .12s}
.surcharge-chip:hover{border-color:var(--primary)}
.surcharge-chip.checked{background:var(--primary-light);border-color:var(--primary);font-weight:600}
.surcharge-chip.disabled{opacity:.5;cursor:not-allowed}
.surcharge-chip input{width:auto;margin:0}
.temp-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;cursor:pointer;user-select:none;background:var(--white);transition:border-color .12s,background .12s}
.temp-chip:hover{border-color:var(--primary)}
.temp-chip.active{background:var(--primary-light);border-color:var(--primary);font-weight:600}
.temp-chip input{width:auto;margin:0}
.compare-table td,.compare-table th{text-align:right}
.compare-table td:first-child,.compare-table th:first-child{text-align:left}
.compare-table .highlight{background:#f0fdf4!important}
.compare-table .best-time{background:var(--accent-soft)!important}
.detail-panel{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-top:10px;background:#fafcfb}
.detail-panel .dp-header{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text)}
.ops-band{background:linear-gradient(135deg,var(--side-start) 0%,var(--primary-dark) 58%,#0b3f25 100%);color:#fff;border-radius:var(--radius-xl);padding:22px;margin-bottom:16px;overflow:hidden;position:relative}
.ops-band:after{content:'';position:absolute;right:-62px;top:-84px;width:220px;height:220px;border:28px solid rgba(var(--accent-rgb),.16);border-radius:var(--radius-circle)}
.ops-band>div{position:relative;z-index:1;max-width:760px}
.ops-band p{color:#d4ead9;font-size:13px;line-height:1.7}
.ops-band.compact{padding:16px 18px}
.ops-band.compact:after{width:150px;height:150px;right:-52px;top:-72px;border-width:20px}
.ops-welcome{display:grid;gap:4px}
.ops-welcome strong{font-size:15px;line-height:1.35;color:#fff}
.ops-welcome span{font-size:13px;line-height:1.65;color:#d4ead9;max-width:72ch}
.step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.step-card{position:relative}
.step-card h2{font-size:15px;margin-bottom:12px;padding-left:32px}
.step-card h2 .step-no{position:absolute;left:20px;top:18px;width:22px;height:22px;border-radius:var(--radius-md);background:var(--primary-dark);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.quote-run-card{text-align:center;background:linear-gradient(135deg,#fff 0%,var(--primary-soft) 100%)}
.quote-run-card button{font-size:15px;padding:12px 32px;background:var(--accent);border-color:var(--accent);color:#fff}
.quote-run-card button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* 角色权限矩阵（按分组渲染，与 Buefy 表格视觉对齐） */
.rp-group{margin-bottom:18px}
.rp-group-title{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--primary-soft);display:flex;align-items:center;gap:8px}
.rp-group-count{font-size:11px;font-weight:400;color:var(--text-secondary);background:var(--panel);padding:1px 7px;border-radius:var(--radius-md)}
.rp-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}
.rp-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.rp-table-wrap th,.rp-table-wrap td{padding:9px 12px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}
.rp-table-wrap thead th{background:var(--neutral-100);color:var(--text);font-weight:700;font-size:13px;letter-spacing:.2px;border-bottom:1px solid var(--border)}
.rp-table-wrap tbody tr:last-child td{border-bottom:0}
.rp-perm-head,.rp-perm-cell{text-align:left!important;position:sticky;left:0;background:#fff;z-index:2;min-width:200px}
.rp-perm-head{background:var(--neutral-100)}
.rp-role-head{font-size:12px;font-weight:600;color:var(--text);min-width:74px}
.rp-perm-cell strong{font-size:13px;color:var(--text);font-weight:600}
.rp-code{font-size:10px;color:var(--text-secondary);margin-top:1px;font-family:ui-monospace,Menlo,monospace}
.rp-child-row .rp-perm-cell{padding-left:26px}
.rp-child-row .rp-perm-cell:before{content:'└';position:absolute;left:14px;color:var(--text-secondary);font-size:13px}
.rp-toggle{cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}
.rp-toggle:hover{background:var(--neutral-50)}
.rp-on{color:var(--primary);font-size:17px}
.rp-off{color:var(--icon-muted);opacity:.5;font-size:17px}
@media(max-width:1100px){.company-settings,.company-info-layout{grid-template-columns:1fr}.company-preview-panel,.company-manage-panel{position:static}.component-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.component-filter-actions{grid-column:1/-1}.import-toolbar{display:grid}.import-upload-grid,.la-control-grid,.ymm-work-grid,.ymm-query-grid{grid-template-columns:1fr}.import-controls{justify-content:flex-start}.import-template-actions{justify-content:flex-start}.la-summary{grid-template-columns:repeat(3,minmax(100px,1fr))}}
@media(max-width:900px){.side{width:76px}.side-brand{justify-content:center;padding:16px 10px}.side-brand i{margin:0}.side-brand span{display:none}.side-brand img.side-brand-logo{margin:0}.side-brand{font-size:0}.side a{justify-content:center;padding:11px 8px}.side a .ico{margin:0}.side a{font-size:0}.side-label{display:none}.top-search{width:220px}.step-grid{grid-template-columns:1fr}.content{padding:18px}.page-header{display:block}.login-shell{grid-template-columns:1fr;width:min(420px,calc(100vw - 32px))}.login-panel{display:none}.login-form-card{padding:34px 28px}}
@media(max-width:640px){.component-toolbar{display:block}.component-toolbar .button{margin-top:10px}.component-filter-actions{align-items:stretch}.component-filter-actions .filter-action-btn{flex:1}.table-ellipsis{max-width:180px}.modal-card{width:calc(100vw - 20px)}.company-logo-group{align-items:flex-start;flex-direction:column}.company-actions{justify-content:stretch}.company-actions button{flex:1}.preview-login-card,.preview-shell,.info-card-grid,.asset-section-grid{grid-template-columns:1fr}.preview-login-side{min-height:112px}.preview-side{display:none}.asset-item{align-items:flex-start}.asset-actions{flex-direction:column}.import-controls,.import-template-actions{display:grid;width:100%}.import-select{width:100%}.import-template-actions button{width:100%}.import-helper{align-items:flex-start}.import-upload-zone{min-height:156px;padding:28px 18px}.la-summary{grid-template-columns:repeat(2,minmax(100px,1fr))}.crm-row,.crm-detail-grid,.crm-info-grid{grid-template-columns:1fr}.crm-row-side{border-top:1px solid var(--border);padding-top:10px}.crm-board{grid-template-columns:repeat(6,210px)}.modal-overlay>.modal{width:calc(100vw - 24px);padding:18px}.account-menu-host{align-items:flex-start;justify-content:center;padding:64px 12px 0}.account-menu-panel{width:min(336px,calc(100vw - 24px))}.ymm-head,.ymm-section-head{display:grid}.ymm-inline-form{display:grid}.ymm-inline-form button{width:100%}.ymm-section{padding:14px}.ymm-query-form{grid-template-columns:1fr}}
