/*登录*/

  .auth-page{min-height:100vh;display:flex;}
  .auth-left{flex:1 1 50%;background:linear-gradient(135deg,#172033 0%,#1d2c4d 55%,#2563eb 130%);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:64px 72px;position:relative;overflow:hidden;}
  .auth-left::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.05);top:-160px;right:-160px;}
  .auth-left::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(37,99,235,.18);bottom:-120px;left:-100px;}
  .auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px;position:relative;z-index:1;}
  .auth-brand img{width:40px;height:40px;}
  .auth-brand span{font-size:20px;font-weight:700;letter-spacing:.5px;}
  .auth-left h1{font-size:32px;font-weight:800;line-height:1.35;margin-bottom:16px;position:relative;z-index:1;}
  .auth-left p.lead{font-size:15px;color:rgba(255,255,255,.72);max-width:420px;margin-bottom:36px;position:relative;z-index:1;}
  .auth-feature-list{display:flex;flex-direction:column;gap:18px;position:relative;z-index:1;}
  .auth-feature-item{display:flex;align-items:flex-start;gap:14px;}
  .auth-feature-icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:18px;}
  .auth-feature-text strong{display:block;font-size:14.5px;margin-bottom:2px;}
  .auth-feature-text span{font-size:13px;color:rgba(255,255,255,.62);}
  .auth-left-footer{margin-top:48px;font-size:12px;color:rgba(255,255,255,.45);position:relative;z-index:1;}
  /* 右侧改为 flex:1 1 50% 与左侧等宽，去掉固定宽度限制 */
  .auth-right{flex:1 1 50%;display:flex;align-items:center;justify-content:center;padding:40px 36px;background:#fff;box-shadow:-8px 0 30px rgba(15,23,42,.04);}
  .auth-right-inner{width:100%;max-width:340px;}
  .auth-mobile-brand{display:none;}
  .auth-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--assets-border);}
  .auth-tab-btn{flex:1;padding:10px 0;text-align:center;background:0 0;border:none;border-bottom:2px solid transparent;font-weight:700;color:var(--assets-muted);font-size:15px;cursor:pointer;}
  .auth-tab-btn.assets-tab-active{color:var(--assets-primary);border-bottom-color:var(--assets-primary);}
  .auth-pane[hidden]{display:none;}
  .auth-subtabs{display:flex;gap:6px;margin-bottom:16px;}
  .auth-subtab-btn{flex:1;padding:7px 0;text-align:center;border:1px solid var(--assets-border);background:#f8fafc;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--assets-muted);cursor:pointer;}
  .auth-subtab-btn.assets-tab-active{background:#eff6ff;border-color:#93c5fd;color:var(--assets-primary);}
  .auth-switch-line{text-align:center;margin-top:18px;font-size:13px;color:var(--assets-muted);}
  .auth-switch-line a{font-weight:600;cursor:pointer;}
  @media (max-width:900px){
    .auth-left{display:none;}
    .auth-right{flex:1 1 100%;max-width:none;box-shadow:none;}
    .auth-mobile-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:26px;}
    .auth-mobile-brand img{width:36px;height:36px;}
    .auth-mobile-brand span{font-size:18px;font-weight:700;color:var(--assets-text);}
  }
/*页面*/
@font-face {
    font-family: 'MiSans';
    src: url('./MiSans-Semibold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
:root{--assets-primary:#2563eb;--assets-primary-dark:#1d4ed8;--assets-surface:#ffffff;--assets-border:#d9e1ec;--assets-text:#172033;--assets-muted:#64748b;--assets-radius:10px;--assets-shadow:0 12px 30px rgba(15, 23, 42, .12)}
*{box-sizing:border-box;font-family: "MiSans",system-ui, -apple-system, sans-serif !important;}
body{margin:0;color:var(--assets-text);background:#f5f7fa;}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.62}
a{color:var(--assets-primary);text-decoration:none}
a:hover{text-decoration:underline}
body.assets-body-locked{overflow:hidden}
.assets-container{width:min(100% - 40px,1720px);margin-inline:auto}
.assets-navbar{position:relative;z-index:10;min-height:64px;color:#fff;background:#172033}
.assets-sticky-top{position:sticky;top:0}
.assets-bg-dark{background:#172033}
.assets-navbar-brand{color:#fff;font-size:18px;font-weight:700;white-space:nowrap}
.assets-navbar-brand:hover{color:#fff;text-decoration:none}
.assets-navbar-brand img{margin-right:8px;vertical-align:middle}
.assets-navbar>.assets-container{display:flex;align-items:center;gap:18px;min-height:64px;width:calc(100% - 48px);max-width:none;margin-inline:auto}
.assets-navbar-collapse{display:flex;flex:1;align-items:center;min-width:0}
.assets-navbar-nav{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.assets-nav-link{display:block;padding:8px 10px;color:rgba(255,255,255,.84);border-radius:7px;white-space:nowrap}
.assets-nav-link:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.1)}
.assets-nav-badge-wrap{position:relative;display:inline-block}
.assets-nav-badge{position:absolute;top:-9px;right:-18px;display:inline-flex;min-width:16px;height:16px;align-items:center;justify-content:center;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 2px #172033}
.assets-navbar-toggler{display:none;margin-left:auto;padding:5px 8px;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:0 0;font-size:25px;line-height:1}
.assets-navbar-toggler:hover{background:rgba(255,255,255,.12)}
.assets-card{overflow:hidden;border:1px solid var(--assets-border);border-radius:var(--assets-radius);background:var(--assets-surface);box-shadow:0 1px 3px rgba(15,23,42,.04)}
.assets-card-header{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--assets-border);background:#f8fafc}
.assets-card-body{padding:18px}
.assets-shadow-sm{box-shadow:var(--assets-shadow)}
.assets-row{display:flex;flex-wrap:wrap;margin:-8px}
.assets-row>[class*=assets-col-]{width:100%;padding:8px;min-width:0}
.assets-col-md-2{width:16.666667%!important}
.assets-col-md-3{width:25%!important}
.assets-col-md-4{width:33.333333%!important}
.assets-col-md-5{width:41.666667%!important}
.assets-col-md-7{width:58.333333%!important}
.assets-col-md-8{width:66.666667%!important}
.assets-col-md-6{width:50%!important}
.assets-col-md-12{width:100%!important}
.assets-col-12{width:100%!important}
.assets-g-2{margin:-4px}
.assets-g-2>[class*=assets-col-]{padding:4px}
.assets-form-label{display:inline-block;margin-bottom:6px;font-weight:600}
.assets-form-control,.assets-form-select{display:block;width:100%;min-height:38px;padding:8px 10px;color:var(--assets-text);border:1px solid #bcc8d8;border-radius:7px;outline:0;background:#fff;transition:border-color .15s,box-shadow .15s}
.assets-form-select{padding-right:28px}
.assets-form-control:focus,.assets-form-select:focus{border-color:#75a7fa;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.assets-form-control-sm,.assets-form-select-sm{min-height:31px;padding:4px 8px;font-size:12px}
.assets-form-text{margin-top:5px;color:var(--assets-muted);font-size:12px}
.assets-form-check{display:flex;align-items:center;gap:6px}
.assets-form-check-input{width:16px;height:16px;accent-color:var(--assets-primary)}
.assets-form-check-label{margin:0}
.assets-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;color:#fff;border:1px solid transparent;border-radius:7px;background:var(--assets-primary);font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.assets-btn:hover{color:#fff;text-decoration:none;filter:brightness(.96)}
.assets-btn:active{transform:translateY(1px)}
.assets-btn-sm{min-height:31px;padding:5px 8px;font-size:12px}
.assets-btn-primary{background:var(--assets-primary)}
.assets-btn-secondary{background:#64748b}
.assets-btn-success{background:#16a34a}
.assets-btn-warning{color:#3f2a00;background:#fbbf24}
.assets-btn-outline-danger,.assets-btn-outline-primary,.assets-btn-outline-secondary,.assets-btn-outline-success,.assets-btn-outline-warning{background:#fff}
.assets-btn-outline-primary{color:var(--assets-primary);border-color:var(--assets-primary)}
.assets-btn-outline-secondary{color:#475569;border-color:#94a3b8}
.assets-btn-outline-success{color:#15803d;border-color:#22c55e}
.assets-btn-outline-warning{color:#a16207;border-color:#eab308}
.assets-btn-outline-danger{color:#dc2626;border-color:#ef4444}
.assets-btn-outline-primary:hover{background:#eff6ff;color:var(--assets-primary)}
.assets-btn-outline-secondary:hover{background:#f1f5f9;color:#334155}
.assets-btn-outline-success:hover{background:#f0fdf4;color:#15803d}
.assets-btn-outline-warning:hover{background:#fefce8;color:#854d0e}
.assets-btn-outline-danger:hover{background:#fef2f2;color:#b91c1c}
.assets-btn-close{position:relative;flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:0 0}
.assets-btn-close::after,.assets-btn-close::before{position:absolute;top:14px;left:6px;width:18px;height:2px;background:#64748b;content:""}
.assets-btn-close::before{transform:rotate(45deg)}
.assets-btn-close::after{transform:rotate(-45deg)}
.assets-btn-close:hover{background:#e2e8f0}
.assets-alert{position:relative;margin:0;padding:10px 42px 10px 12px;border:1px solid transparent;border-radius:8px}
.assets-alert-dismissible .assets-btn-close{position:absolute;top:6px;right:6px}
.assets-alert-success{color:#166534;border-color:#86efac;background:#f0fdf4}
.assets-alert-info{color:#075985;border-color:#7dd3fc;background:#f0f9ff}
.assets-alert-warning{color:#854d0e;border-color:#fde047;background:#fefce8}
.assets-alert-danger{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}
.assets-table-responsive{width:100%;overflow-x:auto}
.assets-table{width:100%;border-collapse:collapse;background:#fff}
.assets-table td,.assets-table th{padding:11px 12px;text-align:left;border-bottom:1px solid #e7edf5;vertical-align:middle}
.assets-table th{font-weight:700;white-space:nowrap}
.assets-table-dark{color:#fff;background:#172033}
.assets-table-light{background:#f8fafc}
.assets-table-hover tbody tr:hover{background:#f8fbff}
.assets-table-sm td,.assets-table-sm th{padding:7px 9px}
.assets-table-bordered td,.assets-table-bordered th{border:1px solid #dbe4ef}
.assets-badge{display:inline-block;padding:3px 8px;color:#fff;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;align-self:flex-start;flex-shrink:0;line-height:1.4}
.assets-bg-danger{background:#dc2626}
.assets-bg-secondary{background:#64748b}
.assets-bg-warning{color:#3f2a00;background:#fbbf24}
.assets-badge-status-在库{background:#16a34a}
.assets-badge-status-借出中{background:#d97706}
.assets-badge-status-维修中{background:#2563eb}
.assets-badge-status-报废{background:#dc2626}
.assets-badge-status-待审批{background:#d97706}
.assets-badge-status-已通过{background:#16a34a}
.assets-badge-status-已驳回{background:#dc2626}
.assets-pagination{display:flex;gap:4px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.assets-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px 9px;border:1px solid var(--assets-border);border-radius:6px;background:#fff}
.assets-page-link:hover{text-decoration:none;background:#eff6ff}
.assets-page-item.assets-active .assets-page-link{color:#fff;border-color:var(--assets-primary);background:var(--assets-primary)}
.assets-modal{position:fixed;z-index:1000;inset:0;display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:72px 16px 24px;background:rgba(15,23,42,.56)}
.assets-modal.assets-is-open{display:flex}
.assets-modal-dialog{width:min(100%,560px);max-height:calc(100dvh - 96px);margin:0 auto}
.assets-modal-lg{width:min(100%,960px)}
.assets-modal-content{display:flex;max-height:calc(100dvh - 96px);overflow:hidden;border-radius:var(--assets-radius);background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.3);flex-direction:column}
.assets-modal-content>form{display:flex;min-height:0;flex:1;flex-direction:column}
.assets-modal-footer,.assets-modal-header{display:flex;align-items:center;gap:8px;padding:13px 16px;background:#fff;flex:0 0 auto;flex-wrap:wrap}
.assets-modal-header{border-bottom:1px solid var(--assets-border)}
.assets-modal-title{margin:0;font-size:18px}
.assets-modal-header .assets-btn-close{margin-left:auto}
.assets-modal-body{min-height:0;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.assets-modal-footer{justify-content:flex-end;border-top:1px solid var(--assets-border)}
.assets-modal-expand{width:30px;height:30px;padding:0;color:#475569;border:0;border-radius:6px;background:0 0;font-size:21px;line-height:1}
.assets-modal-expand:hover{background:#e2e8f0}
.assets-modal.assets-is-fullscreen{padding:0}
.assets-modal.assets-is-fullscreen .assets-modal-dialog{width:100%;max-width:none;height:100dvh;max-height:none}
.assets-modal.assets-is-fullscreen .assets-modal-content{height:100%;max-height:none;border-radius:0}
.assets-status-overview-body{display:flex;align-items:stretch;gap:28px;flex-wrap:wrap}
.assets-status-pie-wrap{display:flex;flex:0 0 auto;align-items:center;justify-content:center}
.assets-status-pie{position:relative;width:160px;height:160px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.assets-status-pie-hole{position:absolute;inset:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e7edf5}
.assets-status-pie-total{font-size:24px;font-weight:800;line-height:1.2;color:var(--assets-text)}
.assets-status-pie-label{font-size:12px;color:var(--assets-muted)}
.assets-status-grid{display:grid;flex:1 1 340px;grid-template-columns:repeat(4,1fr);gap:12px}
.assets-status-item{display:flex;align-items:center;height:100%;gap:10px;padding:12px 14px;border:1px solid var(--assets-border);border-radius:8px;background:#f8fafc;color:inherit;transition:border-color .15s,background .15s,transform .1s;min-width:0}
.assets-status-item:hover{text-decoration:none;color:inherit;border-color:var(--assets-primary);background:#eff6ff;transform:translateY(-1px)}
.assets-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.assets-status-item-text{display:flex;flex-direction:column;min-width:0}
.assets-status-item-name{font-size:12px;color:var(--assets-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assets-status-item-count{font-size:20px;font-weight:700;line-height:1.3}
.assets-donut-group{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:20px;flex:0 0 auto}
.assets-donut-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
.assets-donut-caption{color:var(--assets-muted);font-size:12px;font-weight:600}
.assets-donut-svg{display:block;width:160px;height:160px;max-width:100%}
.assets-donut-seg{cursor:pointer;transition:opacity .15s}
.assets-donut-seg:hover{opacity:.82}
.assets-donut-label{font-size:11px;font-weight:700;fill:#172033;paint-order:stroke;stroke:#ffffff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.assets-donut-center-total{font-size:22px;font-weight:800;fill:var(--assets-text)}
.assets-donut-center-label{font-size:11px;fill:var(--assets-muted)}
.assets-alert-card{display:flex;align-items:center;gap:14px;height:100%;padding:16px 18px;border:1px solid var(--assets-border);border-radius:var(--assets-radius);background:#fff;color:inherit;transition:transform .1s,box-shadow .15s;min-width:0}
.assets-alert-card:hover{text-decoration:none;color:inherit;box-shadow:var(--assets-shadow);transform:translateY(-1px)}
.assets-alert-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font-size:20px;flex-shrink:0}
.assets-alert-card-text{display:flex;flex-direction:column;flex:1;min-width:0}
.assets-alert-card-count{font-size:24px;font-weight:800;line-height:1.2}
.assets-alert-card-label{font-size:13px;color:var(--assets-muted);overflow:hidden;text-overflow:ellipsis}
.assets-alert-card-arrow{color:var(--assets-muted);flex-shrink:0}
.assets-alert-card-ok .assets-alert-card-icon{color:#15803d;background:#f0fdf4}
.assets-alert-card-ok .assets-alert-card-count{color:#15803d}
.assets-alert-card-warn{border-color:#fde68a}
.assets-alert-card-warn .assets-alert-card-icon{color:#a16207;background:#fefce8}
.assets-alert-card-warn .assets-alert-card-count{color:#a16207}
.assets-alert-card-danger{border-color:#fecaca}
.assets-alert-card-danger .assets-alert-card-icon{color:#b91c1c;background:#fef2f2}
.assets-alert-card-danger .assets-alert-card-count{color:#b91c1c}
.assets-bar-row{display:flex;align-items:center;gap:10px;padding:7px 0;color:inherit}
.assets-bar-row:hover{text-decoration:none;color:inherit}
.assets-bar-row:hover .assets-bar-fill{filter:brightness(.9)}
.assets-bar-label{flex:0 0 auto;max-width:45%;overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.assets-bar-track{position:relative;flex:1;height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;min-width:40px}
.assets-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:var(--assets-primary);transition:width .2s}
.assets-bar-count{flex:0 0 auto;min-width:32px;text-align:right;font-size:13px;font-weight:700}
.assets-trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:160px;padding-top:8px}
.assets-trend-bar-wrap{display:flex;flex:1;flex-direction:column;align-items:center;height:100%;gap:4px;min-width:0}
.assets-trend-count{font-size:12px;font-weight:700;color:var(--assets-text);white-space:nowrap}
.assets-trend-bar-track{display:flex;align-items:flex-end;width:100%;height:100%}
.assets-trend-bar{width:100%;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#60a5fa,var(--assets-primary));transition:height .2s}
.assets-trend-label{font-size:12px;color:var(--assets-muted);white-space:nowrap}
@media (max-width:576px){.assets-bar-label{flex-basis:64px}
}
@media (max-width:576px){.assets-status-overview-body{flex-direction:column}
.assets-status-pie-wrap{width:100%}
.assets-status-grid{grid-template-columns:repeat(2,1fr)}
.assets-donut-group{width:100%}
.assets-donut-svg{width:130px;height:130px}
}
.assets-d-flex{display:flex}
.assets-d-inline{display:inline}
.assets-justify-content-between{justify-content:space-between}
.assets-justify-content-center{justify-content:center}
.assets-align-items-center{align-items:center}
.assets-align-items-start{align-items:flex-start}
.assets-align-middle{vertical-align:middle}
.assets-flex-wrap{flex-wrap:wrap}
.assets-me-auto{margin-right:auto}
.assets-ms-auto{margin-left:auto}
.assets-ms-1{margin-left:4px}
.assets-mt-1{margin-top:4px}
.assets-mt-3{margin-top:16px}
.assets-mt-4{margin-top:24px}
.assets-mb-0{margin-bottom:0}
.assets-mb-2{margin-bottom:8px}
.assets-mb-3{margin-bottom:16px}
.assets-mb-4{margin-bottom:24px}
.assets-mb-5{margin-bottom:48px}
.assets-p-4{padding:24px}
.assets-py-2{padding-top:8px;padding-bottom:8px}
.assets-py-3{padding-top:16px;padding-bottom:16px}
.assets-py-4{padding-top:24px;padding-bottom:24px}
.assets-gap-1{gap:4px}
.assets-gap-2{gap:8px}
.assets-w-100{width:100%}
.assets-text-center{text-align:center}
.assets-text-muted{color:var(--assets-muted)}
.assets-text-primary{color:var(--assets-primary)}
.assets-text-success{color:#15803d}
.assets-text-danger{color:#dc2626}
.assets-text-nowrap{white-space:nowrap}
.assets-fw-bold{font-weight:700}
.assets-small{font-size:12px}
@media (max-width:991px) and (min-width:768px){
  .assets-col-md-3,.assets-col-md-4{width:50%!important}
  .assets-col-md-2{width:33.333333%!important}
}
@media (max-width:767px){.assets-col-md-2,.assets-col-md-3,.assets-col-md-4,.assets-col-md-5,.assets-col-md-6,.assets-col-md-7,.assets-col-md-8{width:100%!important}
.assets-navbar-toggler{display:block}
.assets-navbar>.assets-container{position:relative;width:100%;max-width:none;margin-inline:0;padding-inline:16px}
.assets-navbar-collapse{position:fixed;top:64px;left:0;right:0;bottom:0;display:none;width:100%;margin:0;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0;background:#172033;box-shadow:0 14px 24px rgba(15,23,42,.28);overflow-y:auto;-webkit-overflow-scrolling:touch}
.assets-navbar-collapse.assets-show{display:block}
.assets-navbar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}
.assets-navbar-nav.assets-ms-auto{margin:16px 0 0;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.assets-navbar-nav.assets-ms-auto .assets-nav-item:first-child{grid-column:1/-1}
.assets-nav-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;text-align:center;border-radius:8px;background:rgba(255,255,255,.06)}
}
@media (max-width:576px){.assets-container{width:min(100% - 24px,1720px)}
.assets-modal{padding:0}
.assets-modal-dialog,.assets-modal-lg{width:100%;max-width:none;height:100dvh;max-height:none}
.assets-modal-content{height:100%;max-height:none;border-radius:0}
}
.assets-toast-overdue{position:fixed;z-index:1050;top:84px;right:20px;display:flex;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 110px);flex-direction:column;overflow:hidden;border:1px solid #fecaca;border-radius:var(--assets-radius);background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.22);animation:assets-toast-in .25s ease-out}
@keyframes assets-toast-in{from{opacity:0;transform:translateX(24px)}
to{opacity:1;transform:translateX(0)}
}
.assets-toast-header{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 14px;color:#b91c1c;border-bottom:1px solid #fecaca;background:#fef2f2;font-weight:700;flex:0 0 auto}
.assets-toast-header span{flex:1}
.assets-toast-body{overflow-y:auto;padding:6px;flex:1 1 auto}
.assets-toast-item{display:block;padding:9px 10px;border-radius:8px;color:inherit}
.assets-toast-item:hover{text-decoration:none;background:#fef2f2}
.assets-toast-item+.assets-toast-item{border-top:1px solid #f1f5f9;margin-top:2px}
.assets-toast-item-main{display:flex;align-items:center;justify-content:space-between;gap:8px}
.assets-toast-item-tag{font-weight:700}
.assets-toast-item-days{flex:0 0 auto;padding:1px 8px;border-radius:999px;color:#fff;background:#dc2626;font-size:11px;font-weight:700}
.assets-toast-item-sub{margin-top:2px;color:var(--assets-muted);font-size:12px}
.assets-toast-footer{padding:10px;border-top:1px solid var(--assets-border);flex:0 0 auto}
@media (max-width:576px){.assets-toast-overdue{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:60dvh}
}
.assets-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--assets-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.assets-tabs::-webkit-scrollbar{display:none}
.assets-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;margin-bottom:-1px;color:var(--assets-muted);background:0 0;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;white-space:nowrap;flex:0 0 auto}
.assets-tab-btn:hover{color:var(--assets-text);background:#f1f5f9}
.assets-tab-btn.assets-tab-active{color:var(--assets-primary);border-bottom-color:var(--assets-primary)}
.assets-tab-pane[hidden]{display:none}
@media (max-width:576px){.assets-tab-btn{padding:10px 12px}
}
.assets-batch-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border:1px solid #bfdbfe;border-radius:var(--assets-radius);background:#eff6ff;flex-wrap:wrap}
.assets-timeline{display:flex;flex-direction:column;gap:0}
.assets-timeline-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}
.assets-timeline-item:last-child{border-bottom:none}
.assets-timeline-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f8fafc;font-size:16px;flex-shrink:0}
.assets-timeline-body{flex:1;min-width:0}
.assets-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.assets-timeline-label{font-weight:700}
.assets-timeline-time{color:var(--assets-muted);font-size:12px;white-space:nowrap}
.assets-timeline-detail{margin-top:3px;color:#475569;font-size:13px}
.assets-timeline-scroll{max-height:320px;overflow-y:auto;padding-right:4px}
.assets-timeline-scroll::-webkit-scrollbar{width:6px}
.assets-timeline-scroll::-webkit-scrollbar-track{background:transparent}
.assets-timeline-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}
.assets-timeline-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.assets-text-success{color:#15803d}
.assets-text-primary{color:var(--assets-primary)}
.assets-text-danger{color:#dc2626}
.assets-text-warning-icon{color:#d97706}
.assets-navbar>.assets-container{flex-wrap:wrap}
.assets-nav-item.assets-has-dropdown{position:relative}
.assets-nav-item.assets-has-dropdown::after{content:"";position:absolute;left:0;top:100%;width:100%;height:12px}
.assets-dropdown-toggle{display:flex;align-items:center;gap:4px;cursor:default}
.assets-dropdown-toggle::after{content:"";width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.7)}
.assets-dropdown-caret{display:none}
.assets-dropdown-menu{position:absolute;top:100%;left:0;z-index:30;min-width:180px;padding:6px;border-radius:10px;background:#1f2a3d;box-shadow:0 16px 34px rgba(15,23,42,.38);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}
.assets-dropdown-menu::before{content:"";position:absolute;top:-5px;left:18px;width:10px;height:10px;background:#1f2a3d;transform:rotate(45deg)}
.assets-dropdown-menu .assets-nav-link{display:block;padding:8px 10px;white-space:nowrap;border-radius:6px}
.assets-nav-item.assets-has-dropdown:focus-within .assets-dropdown-menu,.assets-nav-item.assets-has-dropdown:hover .assets-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media (max-width:767px){
.assets-nav-item.assets-has-dropdown{grid-column:1/-1}
.assets-dropdown-toggle{justify-content:space-between;cursor:pointer;padding-right:12px}
.assets-dropdown-toggle::after{display:none}
.assets-dropdown-caret{display:inline-block;font-size:13px;opacity:.7;transition:transform .18s ease;margin-left:8px}
.assets-dropdown-toggle[aria-expanded="true"] .assets-dropdown-caret{transform:rotate(180deg);opacity:1}
.assets-nav-item.assets-has-dropdown::after{display:none}
.assets-dropdown-menu{position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none;min-width:0;margin:2px 0 8px;padding:4px 0 4px 16px;border-left:2px solid rgba(255,255,255,.16);border-radius:0;background:transparent;box-shadow:none}
.assets-dropdown-menu.assets-show{display:flex;flex-direction:column;gap:6px}
.assets-dropdown-menu::before{display:none}
.assets-dropdown-menu .assets-nav-link{display:flex;align-items:center;justify-content:flex-start;min-height:42px;padding:9px 14px;text-align:left;font-size:13.5px;background:rgba(255,255,255,.05)}
}
.assets-notify-item{position:relative}
.assets-notify-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.assets-notify-dropdown{position:absolute;top:100%;right:0;z-index:40;width:min(360px,88vw);max-height:420px;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;color:var(--assets-text);box-shadow:0 20px 44px rgba(15,23,42,.32);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}
.assets-notify-dropdown.assets-show{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.assets-notify-item:focus-within .assets-notify-dropdown,.assets-notify-item:hover .assets-notify-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.assets-notify-dropdown-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:12px 14px;border-bottom:1px solid var(--assets-border);font-weight:700;font-size:14px}
.assets-notify-dropdown-header a{font-size:12px;font-weight:600;color:var(--assets-primary)}
.assets-notify-dropdown-body{overflow-y:auto;flex:1 1 auto;padding:6px}
.assets-notify-empty{padding:36px 12px;color:var(--assets-muted);font-size:13px;text-align:center}
.assets-notify-item-link{display:block;padding:10px 12px;border-radius:8px;color:var(--assets-text);border-left:3px solid transparent}
.assets-notify-item-link:hover{text-decoration:none;background:#f1f5f9}
.assets-notify-item-link+.assets-notify-item-link{margin-top:2px}
.assets-notify-item-link.assets-notify-unread{background:#eff6ff;}
.assets-notify-item-link.assets-notify-unread:hover{background:#e0edff}
.assets-notify-item-title{overflow:hidden;font-size:13px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.assets-notify-item-time{margin-top:3px;color:var(--assets-muted);font-size:11px}
@media(max-width:576px){.assets-notify-item::after{display:none}
.assets-notify-dropdown{position:fixed;top:64px;right:10px;left:10px;width:auto;max-height:70dvh}
}

/* AI 助手 */
.ai-help-content h6{font-weight:700;font-size:14.5px;margin:18px 0 8px;color:var(--assets-text);display:flex;align-items:center;gap:6px;}
.ai-help-content h6:first-child{margin-top:0;}
.ai-help-content p{margin:0 0 8px;color:#334155;line-height:1.7;font-size:13.5px;}
.ai-help-content ul,.ai-help-content ol{margin:0 0 10px 20px;padding:0;color:#334155;font-size:13.5px;line-height:1.8;}
.ai-help-content li{margin-bottom:2px;}
.ai-help-content code{background:#f1f5f9;padding:1px 6px;border-radius:4px;font-size:12.5px;color:#0f172a;}
.ai-help-content .ai-help-example{display:block;background:#f8fafc;border:1px solid #e7edf5;border-radius:8px;padding:8px 12px;margin:6px 0 12px;font-size:13px;color:#475569;}
.ai-help-content .ai-help-note{background:#fefce8;border:1px solid #fde047;color:#854d0e;border-radius:8px;padding:8px 12px;font-size:12.5px;margin:6px 0 12px;}
.ai-help-content .ai-help-warn{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;border-radius:8px;padding:8px 12px;font-size:12.5px;margin:6px 0 12px;}
.ai-help-content table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0 12px;}
.ai-help-content table th,.ai-help-content table td{border:1px solid #e2e8f0;padding:6px 10px;text-align:left;}
.ai-help-content table th{background:#f8fafc;}

/* ========================================================
   以下为新增：导航菜单改造相关样式
   （左侧点击切换 / 右侧显示菜单 的桌面端大面板 + 手机端内联子菜单）
   ======================================================== */
.assets-nav-item.assets-has-mega{position:relative;}
.assets-mega-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;}
.assets-mega-toggle .assets-dropdown-caret{display:none;}
.assets-mobile-submenu{display:none;}

@media (min-width:768px){
  .assets-mega-toggle::after{content:"";width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.7);}
}

/* 桌面端左右分栏大面板：配色与顶部导航栏一致（深色），宽度/水平位置与顶部导航菜单*/
.assets-mega-backdrop{position:fixed;left:0;right:0;top:64px;bottom:0;z-index:45;display:none;}
.assets-mega-backdrop.assets-mega-open{display:block;}
.assets-mega-panel{position:fixed;left:0;top:64px;z-index:50;min-width:680px;background:#172033;box-shadow:0 22px 45px rgba(15,23,42,.35);border-bottom:1px solid rgba(255,255,255,.08);border-radius:0 0 10px 10px;overflow:hidden;display:none;}
.assets-mega-panel.assets-mega-open{display:block;}
.assets-mega-panel-inner{width:100%;margin:0;display:flex;min-height:260px;max-height:64vh;}
.assets-mega-left{flex:0 0 200px;border-right:1px solid rgba(255,255,255,.12);padding:14px 0;overflow-y:auto;}
.assets-mega-left-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 18px;border:none;background:none;text-align:left;font-size:13.5px;color:rgba(255,255,255,.72);cursor:pointer;}
.assets-mega-left-item i{font-size:12px;color:rgba(255,255,255,.4);}
.assets-mega-left-item:hover{background:rgba(255,255,255,.07);color:#fff;}
.assets-mega-left-item.assets-mega-active{background:rgba(37,99,235,.28);color:#93c5fd;font-weight:700;}
.assets-mega-right{flex:1;padding:22px 26px;overflow-y:auto;}
.assets-mega-right-pane{display:none;}
.assets-mega-right-pane.assets-mega-active{display:block;}
.assets-mega-right-title{font-size:18px;font-weight:800;margin-bottom:6px;color:#fff;}
.assets-mega-right-desc{color:rgba(255,255,255,.55);font-size:12.5px;margin-bottom:16px;}
.assets-mega-right-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;}
.assets-mega-link{display:block;color:inherit;padding:2px 0;}
.assets-mega-link:hover{text-decoration:none;}
.assets-mega-link-title{position:relative;font-weight:700;font-size:13.5px;color:#fff;margin-bottom:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.assets-mega-link:hover .assets-mega-link-title{color:#60a5fa;}
.assets-mega-link-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;}
@media (max-width:991px) and (min-width:768px){
  .assets-mega-left{flex:0 0 160px;}
  .assets-mega-right-links{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
}

/* 手机端：完全保留原来的展开列表风格，不显示大面板 */
@media (max-width:767px){
  .assets-mega-panel,.assets-mega-backdrop{display:none !important;}
  .assets-nav-item.assets-has-mega{grid-column:1/-1;}
  .assets-mega-toggle{justify-content:space-between;padding-right:12px;}
  .assets-mega-toggle .assets-dropdown-caret{display:inline-block;font-size:13px;opacity:.7;transition:transform .18s ease;margin-left:8px;}
  .assets-mega-toggle[aria-expanded="true"] .assets-dropdown-caret{transform:rotate(180deg);opacity:1;}
  .assets-mobile-submenu.assets-show{display:flex;flex-direction:column;gap:6px;margin:2px 0 8px;padding:4px 0 4px 16px;border-left:2px solid rgba(255,255,255,.16);}
.assets-mobile-submenu .assets-nav-link{display:flex;align-items:center;justify-content:flex-start;min-height:42px;padding:9px 14px;text-align:left;font-size:13.5px;background:rgba(255,255,255,.05);}
}

/* 平板紧凑导航：避免 768–1199px 宽度继续横排而互相挤压。 */
@media (min-width:768px) and (max-width:1199px){
  .assets-navbar-toggler{display:block;}
  .assets-navbar>.assets-container{position:relative;flex-wrap:nowrap;width:100%;max-width:none;margin-inline:0;padding-inline:24px;}
  .assets-navbar-collapse{position:fixed;top:64px;left:0;right:0;bottom:0;display:none;width:100%;margin:0;padding:20px 24px calc(env(safe-area-inset-bottom,0px) + 20px);border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0;background:#172033;box-shadow:0 14px 24px rgba(15,23,42,.28);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .assets-navbar-collapse.assets-show{display:block;}
  .assets-navbar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;}
  .assets-navbar-nav.assets-ms-auto{margin:20px 0 0;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;}
  .assets-navbar-nav.assets-ms-auto .assets-nav-item:first-child{grid-column:1/-1;}
  .assets-nav-link{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;text-align:center;border-radius:8px;background:rgba(255,255,255,.06);}
  .assets-nav-item.assets-has-dropdown,.assets-nav-item.assets-has-mega{grid-column:1/-1;}
  .assets-dropdown-toggle,.assets-mega-toggle{justify-content:space-between;cursor:pointer;padding-right:14px;}
  .assets-dropdown-toggle::after,.assets-mega-toggle::after{display:none;}
  .assets-dropdown-caret,.assets-mega-toggle .assets-dropdown-caret{display:inline-block;font-size:13px;opacity:.7;transition:transform .18s ease;margin-left:8px;}
  .assets-dropdown-toggle[aria-expanded="true"] .assets-dropdown-caret,.assets-mega-toggle[aria-expanded="true"] .assets-dropdown-caret{transform:rotate(180deg);opacity:1;}
  .assets-nav-item.assets-has-dropdown::after{display:none;}
  .assets-dropdown-menu{position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none;min-width:0;margin:2px 0 8px;padding:4px 0 4px 16px;border-left:2px solid rgba(255,255,255,.16);border-radius:0;background:transparent;box-shadow:none;}
  .assets-dropdown-menu.assets-show{display:flex;flex-direction:column;gap:6px;}
  .assets-dropdown-menu::before{display:none;}
  .assets-dropdown-menu .assets-nav-link,.assets-mobile-submenu .assets-nav-link{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:10px 14px;text-align:left;font-size:14px;background:rgba(255,255,255,.05);}
  .assets-mega-panel,.assets-mega-backdrop{display:none !important;}
  .assets-mobile-submenu.assets-show{display:flex;flex-direction:column;gap:6px;margin:2px 0 8px;padding:4px 0 4px 16px;border-left:2px solid rgba(255,255,255,.16);}
}

/* ========================================================
   用户管理表格：移动端保持整行显示，不换行卡片化，
   依赖外层 .assets-table-responsive 的 overflow-x:auto 实现横向滚动
   ======================================================== */
@media (max-width:767px){
  .assets-user-table{white-space:nowrap;}
  .assets-user-table td,
  .assets-user-table th{white-space:nowrap;}
  .assets-user-table td[data-label="操作"]{display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;}
  .assets-user-table td[data-label="操作"] > *{flex:0 0 auto!important;}
}

/* ========================================================
   用户管理：单用户统一管理弹窗内的分区样式
   ======================================================== */
.assets-manage-section{padding:14px 0;border-bottom:1px solid var(--assets-border);}
.assets-manage-section:first-child{padding-top:0;}
.assets-manage-section:last-child{border-bottom:none;padding-bottom:0;}
.assets-manage-section-title{font-size:13.5px;font-weight:700;color:var(--assets-text);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.assets-manage-section-danger{background:#fef2f2;margin:14px -16px -16px;padding:14px 16px;border-radius:0 0 10px 10px;border-bottom:none;}

/* 重置密码：输入框与按钮同一行、垂直居中对齐，输入框自适应宽度、按钮宽度不变 */
.assets-pwd-inline-row{display:flex;align-items:center;gap:8px;}
.assets-pwd-inline-row .assets-form-control{flex:1 1 auto;min-width:0;}
.assets-pwd-inline-row .assets-btn{flex:0 0 auto;white-space:nowrap;}
@media (max-width:480px){
  .assets-pwd-inline-row{flex-direction:column;align-items:stretch;}
}

/* AI工具插件管理页：表格整行不换行，超出宽度横向滚动 */
.assets-ai-plugin-table td,
.assets-ai-plugin-table th{white-space:nowrap;}
