:root{--color-primary: #1677ff;--color-primary-hover: #4096ff;--color-primary-active: #0958d9;--color-success: #52c41a;--color-warning: #faad14;--color-danger: #ff4d4f;--color-bg: #f5f7fa;--color-card: #ffffff;--color-sidebar: #001529;--color-sidebar-hover: #1f3a5c;--color-sidebar-active: #1677ff;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-light: #f0f2f5;--radius-sm: 4px;--radius-md: 8px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-lg: 16px;--font-xl: 20px;--font-2xl: 24px;--transition: all .2s ease;--sidebar-width: 220px;--header-height: 56px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:var(--font-base)}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-track{background:transparent}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-center{text-align:center}.text-right{text-align:right}.font-semibold{font-weight:600}.font-medium{font-weight:500}.ops-hamburger{display:none}.ops-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:99}.ops-modal-wrap{padding:10vh 16px 16px}.ops-modal-card{max-height:80vh}@media (max-width: 900px){.ops-sidebar{width:248px!important;transform:translate(-100%);transition:transform .24s ease;will-change:transform}.ops-sidebar.open{transform:translate(0);box-shadow:0 0 34px #0006}.ops-main{margin-left:0!important}.ops-hamburger{display:inline-flex}.ops-header{padding:0 12px!important}.ops-header-userinfo{gap:10px!important;font-size:12px}.ops-content{padding:12px!important}}@media (max-width: 640px){.ops-modal-wrap{padding:12px 10px}.ops-modal-card{max-height:90vh}.ops-modal-head,.ops-modal-body{padding:14px 16px!important}}@media (max-width: 900px){table.rtable{display:block}table.rtable thead{display:none}table.rtable tbody{display:block}table.rtable tr{display:block;background:#fff!important;border:1px solid var(--color-border-light);border-radius:10px;margin-bottom:10px;overflow:hidden}table.rtable tr:last-child{margin-bottom:0}table.rtable td{display:flex;align-items:flex-start;gap:10px;border:none!important;padding:8px 14px!important;white-space:normal!important;text-align:left!important;font-size:14px}table.rtable td:before{content:attr(data-label);flex:0 0 74px;color:var(--color-text-secondary);font-size:12.5px;line-height:1.75}table.rtable td[data-label=""]:before{display:none}table.rtable td.rt-primary{padding:12px 14px 8px!important;font-size:15px}table.rtable td.rt-primary:before{display:none}table.rtable td.rt-actions{justify-content:flex-end;align-items:center;gap:18px;border-top:1px dashed var(--color-border-light)!important;padding:11px 14px!important;background:#fafbfc}table.rtable td.rt-actions:before{display:none}table.rtable td.rt-empty{display:block;text-align:center!important;padding:34px 14px!important}table.rtable td.rt-empty:before{display:none}.ops-toolbar{gap:10px!important}.ops-toolbar>.ops-toolbar-field{width:100%!important}.ops-page-head{flex-direction:column;align-items:flex-start!important;gap:10px}}@media (max-width: 640px){.ops-form-grid{grid-template-columns:1fr!important}.ops-toolbar>button{flex:1;min-width:84px}}
