:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#app{min-height:100vh}.login-shell{background:linear-gradient(120deg,#1976d21f,#0000 38%),linear-gradient(280deg,#00968824,#0000 40%),#f6f8fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #e5e9f2;border-radius:8px;width:min(420px,100%);padding:32px;box-shadow:0 18px 60px #1f29371f}.login-panel h1,.topbar h2{letter-spacing:0;margin:0;line-height:1.2}.eyebrow{color:#1d4ed8;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}.full-button{width:100%}.app-shell{min-height:100vh}.sidebar{color:#f9fafb;background:#111827;border-right:1px solid #0f172a}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;height:72px;padding:0 20px;display:flex}.brand-mark{color:#fff;background:#0d9488;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#9ca3af;margin-top:2px}.nav-menu{background:0 0;border-right:0}.nav-menu .el-menu-item{color:#d1d5db}.nav-menu .el-menu-item.is-active{color:#fff;background:#0d948838}.topbar{background:#fff;border-bottom:1px solid #e5e9f2;justify-content:space-between;align-items:center;height:72px;display:flex;box-shadow:0 1px #0f172a05}.topbar span{color:#6b7280;font-size:13px}.topbar-actions{gap:10px;display:flex}.content{background:#f2f5f9;height:calc(100vh - 72px);padding:20px;overflow:auto}.dashboard-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.metric-card{background:#fff;border:1px solid #e5e9f2;border-radius:8px;min-height:126px;padding:20px}.metric-card span{color:#64748b;font-size:14px}.metric-card strong{color:#111827;margin-top:18px;font-size:34px;line-height:1;display:block}.metric-card.success{border-top:3px solid #059669}.metric-card.warning{border-top:3px solid #d97706}.metric-card.info{border-top:3px solid #2563eb}.metric-card.danger{border-top:3px solid #dc2626}.workbench{grid-template-rows:auto minmax(220px,1fr) auto;gap:12px;height:100%;min-height:0;display:grid}.toolbar{background:#fff;border:1px solid #e5e9f2;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.toolbar .search-input{flex:0 360px;width:min(360px,100%)}.toolbar .status-select{flex:0 0 160px;width:160px}.toolbar .compact-input{flex:0 0 150px;width:150px}.toolbar .source-select{flex:0 0 220px;width:220px}.toolbar .date-range-input{flex:0 0 300px;width:300px}.dense-toolbar{flex-wrap:wrap}.toolbar .el-button{flex:none}.toolbar-spacer{flex:auto;min-width:0}.toolbar>span{min-height:1px}.table-panel{background:#fff;border-radius:8px;min-height:0;overflow:hidden}.draw-records-workbench{grid-template-rows:auto auto minmax(220px,1fr) auto}.draw-status-summary{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.draw-status-summary span{border-right:1px solid #2563eb2e;align-items:center;gap:6px;min-height:24px;padding:0 10px;font-size:13px;display:inline-flex}.draw-status-summary span:last-child{border-right:0}.draw-status-summary strong{color:#475569;font-weight:600}.mobile-license-list,.mobile-card-list{display:none}.mobile-card-list{min-height:220px}.license-card,.record-card{background:#fff;border:1px solid #e5e9f2;border-radius:8px;gap:12px;padding:14px;display:grid}.license-card-head,.record-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.license-card-title,.record-card-title{gap:4px;min-width:0;display:grid}.license-card-title strong,.record-card-title strong,.record-card-head>strong{color:#0f172a;overflow-wrap:anywhere}.license-card-title strong{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.license-card-title span,.license-card-meta,.record-card-title span,.record-card-meta{color:#64748b;font-size:12px}.license-card-meta,.record-card-meta{gap:6px;display:grid}.license-card-actions,.record-card-actions{flex-wrap:wrap;gap:8px;display:flex}.draw-number-line{color:#0f172a;overflow-wrap:anywhere;background:#f8fafc;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px}.detail-summary{color:#475569;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-bottom:14px;font-size:13px;display:grid}.el-table{--el-table-header-bg-color:#f8fafc;--el-table-header-text-color:#475569;border-radius:8px;min-height:0;overflow:hidden}.pagination-bar{z-index:3;background:#fff;border:1px solid #e5e9f2;border-radius:8px;justify-content:flex-end;align-items:center;min-height:40px;padding:8px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 8px 24px #0f172a0f}.key-text{color:#0f172a;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.key-cell,.generated-key{align-items:center;gap:8px;display:flex}.generated-key{justify-content:space-between}.generated-key span{overflow-wrap:anywhere}.quick-row,.date-line{align-items:center;gap:8px;width:100%;display:flex}.quick-row{flex-wrap:wrap}.date-line .el-date-editor{flex:auto}.duration-line{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin:-4px 0 16px;padding:8px 10px;font-size:13px;font-weight:600}.nested-table{background:#f8fafc;padding:10px 12px}.rule-name-cell{gap:4px;line-height:1.35;display:grid}.rule-name-cell strong{color:#0f172a;font-weight:700}.rule-name-cell small,.muted-text{color:#64748b;font-size:12px}.rule-target-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;display:grid}.rule-items-header{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;display:flex}.rule-items-header strong{color:#111827}.el-input-number,.el-select,.el-input,.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:100%}@media (width<=900px){.sidebar{width:84px!important}.brand div,.nav-menu span{display:none}.dashboard-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}}@media (width<=700px){body{background:#f2f5f9}.login-shell{padding:16px}.login-panel{padding:24px}.app-shell{min-height:100vh;display:block}.app-shell>.el-container{display:block}.sidebar{z-index:20;border-bottom:1px solid #0f172a;border-right:0;height:auto;position:sticky;top:0;width:100%!important}.brand{height:58px;padding:0 14px}.brand div,.nav-menu span{display:block}.brand-mark{border-radius:8px;width:32px;height:32px;font-size:12px}.brand strong{font-size:14px}.brand small{font-size:12px}.nav-menu{white-space:nowrap;scrollbar-width:none;display:flex;overflow:auto hidden}.nav-menu::-webkit-scrollbar{display:none}.nav-menu .el-menu-item{flex:none;height:48px;padding:0 16px}.topbar{flex-wrap:wrap;align-items:flex-start;gap:12px;height:auto;min-height:68px;padding:12px 14px}.topbar h2{font-size:20px}.topbar-actions{justify-content:flex-end;gap:8px;width:100%}.content{height:auto;min-height:calc(100vh - 126px);padding:12px;overflow:visible}.dashboard-grid{gap:10px}.metric-card{min-height:92px;padding:14px}.metric-card strong{margin-top:10px;font-size:28px}.toolbar,.toolbar.two-columns{flex-direction:column;align-items:stretch;padding:10px}.toolbar .search-input,.toolbar .status-select,.toolbar .compact-input,.toolbar .source-select,.toolbar .date-range-input{flex:none;width:100%}.toolbar .el-button{width:100%}.toolbar-spacer{display:none}.workbench{gap:10px;height:auto}.table-panel{height:55vh;min-height:340px}.draw-status-summary{align-items:stretch;gap:6px}.draw-status-summary span{border-right:0;justify-content:space-between;width:100%;padding:4px 0}.licenses-workbench .desktop-license-table,.workbench .desktop-table{display:none}.licenses-workbench .mobile-license-list,.workbench .mobile-card-list{gap:10px;display:grid}.table-panel .el-table__fixed,.table-panel .el-table__fixed-right,.table-panel .el-table__fixed-left{display:none!important}.quick-row,.date-line{align-items:stretch}.date-line{flex-direction:column}.quick-row .el-button{flex:calc(50% - 8px);margin-left:0}.el-dialog{width:92vw!important;margin-top:6vh!important}.el-dialog__body{padding:14px 16px}.el-dialog__footer{padding:10px 16px 16px}.form-grid{grid-template-columns:1fr;gap:0}.el-drawer{width:94vw!important}.el-table{font-size:12px}.pagination-bar{justify-content:flex-start;padding:8px;overflow-x:auto}}
