:root{font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;color:#213047;background:#f7faff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.shell{width:min(100% - 32px,1006px);margin:16px auto 64px}.site-header{background:#fff;border:1px solid #e5ebf7;box-shadow:0 8px 26px #243b6410;border-radius:20px;padding:19px 18px;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:18px}.site-header h1{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:.3px;color:#1e2a3e}.site-header p{margin:0;color:#758297;font-size:14px}.nav{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.nav-btn,.btn{border:1px solid #e1e8f6;border-radius:12px;background:#fff;color:#344359;padding:11px 14px;font-weight:700;line-height:1.1;min-height:40px}.nav-btn.active{color:#3171df;background:#f0f6ff;border-color:#d7e5ff}.nav-btn:hover,.btn-outline:hover{border-color:#a8c5ff;color:#2868d6}.btn{padding:10px 14px;white-space:nowrap}.btn-primary{color:white;border-color:#387aee;background:#387aee}.btn-primary:hover{background:#2563d9}.btn-outline{color:#3878ed;border-color:#d9e5ff}.btn-danger{color:#e34444;border-color:#ffdade;background:#fff}.btn-danger:hover{background:#fff4f4}.btn-small{font-size:13px;padding:8px 12px;min-height:35px}.btn-soft{background:#edf4ff;color:#326de0;border-color:#edf4ff}.btn-positive{color:#148b43;border-color:#e2f5e9}.heading-row,.toolbar,.item-actions,.modal-head,.modal-actions,.detail-title{display:flex;align-items:center;gap:9px}.heading-row,.modal-head,.detail-title{justify-content:space-between}.heading-row h2,.panel h2{margin:0;font-size:18px}.panel{background:#fff;border:1px solid #e5ebf7;border-radius:17px;padding:16px;box-shadow:0 8px 22px #223b6510;margin-bottom:14px}.panel>.heading-row{margin-bottom:6px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}.summary-card{border:1px solid #e5ebf7;background:#fff;min-height:108px;border-radius:17px;padding:16px;box-shadow:0 7px 20px #223b650a;display:flex;flex-direction:column;justify-content:space-between;gap:17px}.summary-label,.muted,.hint{color:#708096;font-size:13px}.summary-value{font-size:33px;font-weight:800;line-height:1}.blue{color:#3576e9}.green{color:#138b45}.cyan{color:#0c87a8}.purple{color:#8459df}.orange{color:#e28c0a}.red{color:#e84048}.toolbar{margin:0 0 12px;flex-wrap:wrap}.toolbar .search{flex:1 1 230px;min-width:140px}.input,select,textarea{width:100%;background:#fff;color:#1f2b40;border:1px solid #e3eafa;border-radius:12px;min-height:43px;padding:9px 12px;outline:none}select{cursor:pointer}input:focus,select:focus,textarea:focus{border-color:#6599f7;box-shadow:0 0 0 3px #dceaff}.toolbar select{flex:0 0 auto;width:auto;min-width:145px;max-width:220px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:13px;font-weight:700}.full{grid-column:1/-1}.form-actions{margin-top:13px}.batch-panel{min-height:478px}.batch-panel h2{margin:0 0 4px}.inventory-list,.record-list{display:grid;gap:10px}.inventory-row,.record{border:1px solid #e3eafa;border-radius:15px;padding:15px 14px;background:#fff;min-width:0}.inventory-row{display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:90px}.inventory-row strong{display:block;font-size:16px;overflow-wrap:anywhere}.inventory-row .muted{margin-top:2px;line-height:1.35}.quantity{border-radius:14px;background:#edf4ff;color:#3577eb;padding:14px;min-width:55px;min-height:54px;display:grid;place-items:center;font-size:27px;font-weight:800}.record{padding:13px 14px;line-height:1.46;font-size:13px}.detail-title{align-items:flex-start;margin-bottom:8px;gap:10px}.detail-title strong{font-size:14px;overflow-wrap:anywhere;word-break:break-word}.record-code{font:700 12px/1.5 Consolas,"Courier New",monospace;overflow-wrap:anywhere}.meta{color:#56667e}.item-actions{flex-wrap:wrap;margin-top:10px}.badge{display:inline-flex;align-items:center;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.badge-unused{background:#f3efff;color:#8656e6}.badge-used,.badge-good{background:#e9fbf0;color:#159246}.badge-disabled{background:#ffeff0;color:#db3b44}.badge-soon,.badge-idle{background:#fff5e8;color:#c76620}.badge-expired{background:#f0f1f4;color:#626f82}.usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.usage-cell{border:1px solid #e1e8f5;border-radius:13px;background:#fafcff;text-align:center;padding:8px 4px}.usage-cell .muted{font-size:12px}.usage-cell strong{display:block;font-size:20px}.help-note{font-size:13px;color:#708096;margin:12px 0}.empty,.loading,.error-state{border:1px dashed #dce5f5;border-radius:13px;padding:26px 14px;text-align:center;color:#708096;background:#fff}.error-state{border-color:#ffbec5;background:#fffafa;color:#b52d37}.error-state strong{display:block;color:#b52d37;margin-bottom:6px}.error-state p{word-break:break-word}.error-state .btn{margin-top:8px}.app-status{font-size:12px;color:#708096;min-height:18px}.toast{position:fixed;right:20px;bottom:18px;border-radius:12px;padding:12px 18px;max-width:min(90vw,460px);background:#213047;color:#fff;box-shadow:0 9px 30px #0002;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:100}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#b72f3b}.modal{border:1px solid #e1e9f7;box-shadow:0 18px 65px #162c4b44;border-radius:18px;padding:20px;width:min(92vw,520px);color:#213047}.modal::backdrop{background:#13203370}.modal-head{margin-bottom:15px}.modal-head h2{margin:0;font-size:19px}.modal-head button{padding:4px 10px;font-size:20px}.modal-actions{justify-content:flex-end;margin-top:20px}.modal #modal-body{max-height:65vh;overflow:auto}.modal .field{margin-bottom:12px}.modal p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.inline-error{margin:10px 0;padding:10px;background:#fff2f3;color:#b02b37;border:1px solid #ffcdd2;border-radius:10px;font-size:13px}.login-wrap{max-width:500px;margin:30px auto}.login-wrap h2{margin:0 0 16px}.login-wrap .field{margin:10px 0}.login-wrap .form-actions{display:flex;align-items:center;gap:9px}.small-text{font-size:12px;color:#718098}.generated-output{margin-top:15px;padding:13px;border:1px solid #d7e5fb;border-radius:12px;background:#f8fbff}.generated-output pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:12px}.generated-output .heading-row{margin-bottom:9px}.danger-zone{margin-top:14px}.visually-hidden{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:750px){.shell{width:min(100% - 20px,1006px);margin:10px auto 32px}.site-header{padding:16px;min-height:88px}.site-header h1{font-size:21px}.site-header p{font-size:12px}.site-header .btn{padding:9px 11px;font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:98px}.field-grid{grid-template-columns:1fr;gap:13px}.toolbar select{flex:1 1 145px;min-width:0}.toolbar .search{flex:1 1 100%}.batch-panel{min-height:0}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:13px}.nav{gap:6px}.nav-btn{padding:10px 11px;font-size:13px}}@media(max-width:390px){.site-header h1{font-size:18px}.site-header p{font-size:11px}.summary-value{font-size:28px}}
[hidden]{display:none!important}
