@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--ink:#202e3b;--muted:#73808d;--paper:#f5f7f9;--card:#fff;--line:#e7ebef;--green:#087f6d;--light-green:#eaf7f2;--yellow:#fff3d9;--orange:#b9791a;--red:#c25656;--radius:14px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;transition:background .16s,border-color .16s,box-shadow .16s,color .16s}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}svg{width:19px;height:19px;flex-shrink:0}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #72dec5;outline-offset:3px}
.shell{display:flex;min-height:100vh}.sidebar{width:236px;background:#131e29;color:#fff;padding:35px 18px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10;border-right:1px solid #22303c}.brand,.login-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand{color:#f8fafb;padding:0 9px;font-size:19px;font-weight:650;letter-spacing:-.6px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;border-radius:12px}.brand-mark img{width:100%;height:100%;display:block}.brand small,.login-brand small{display:block;margin-top:4px;font-size:10px;font-weight:450;letter-spacing:.05em;color:#98a7b4}.nav-caption{color:#6f8192;font-size:9px;font-weight:650;letter-spacing:.17em;margin:51px 15px 12px}.sidebar nav{display:grid;gap:6px}.nav-link{position:relative;display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:500;color:#9eacb9}.nav-link:hover{background:#1e2c38;color:#f5faf8}.nav-link.active{color:#87e6cf;background:#203a3c}.nav-link.active::after{content:"";width:5px;height:5px;border-radius:50%;background:#87e6cf;margin-left:auto}.sidebar-note{margin-top:auto;border-top:1px solid #2a3641;padding:21px 11px 2px;font-size:11px;line-height:1.9;color:#abb9c4}.dot{display:inline-block;width:6px;height:6px;background:#72dec5;border-radius:50%;margin-right:8px;box-shadow:0 0 0 3px #72dec512}.sidebar-note small{display:inline-block;color:#728495;font-size:11px;padding-left:14px}.logout-button{display:block;margin:13px 0 0;padding:8px 12px;width:100%;background:#ffffff05;color:#a9b7c3;border:1px solid #35424e;border-radius:7px;text-align:left;font-size:11px}.logout-button:hover{background:#ffffff12;color:#fff}
.content{width:calc(100% - 236px);margin-left:236px;padding:0 clamp(24px,3.1vw,60px) 52px;min-width:0}.topbar,.section-heading,.toolbar,.dialog-head,.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar{min-height:93px;border-bottom:1px solid #e3e8ed}.workspace-label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:550;white-space:nowrap}.workspace-dot{width:7px;height:7px;background:#0b8b75;border-radius:2px}.workspace-divider{color:#c2cbd3;margin:0 4px;font-weight:400}.workspace-secondary{color:var(--muted);font-weight:400}.top-actions{display:flex;gap:8px;flex-shrink:0}.button,.text-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:38px;border-radius:8px;border:1px solid transparent;padding:9px 13px;font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}.button svg,.text-button svg{width:15px;height:15px}.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 3px 6px #087f6d12}.primary:hover{background:#066858;border-color:#066858}.secondary{background:#fff;color:#4d5b68;border-color:#dfe5ea}.secondary:hover{background:#f6f9fa;border-color:#b7c6cd}.button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:36px 0 28px}.eyebrow{margin:0 0 9px;font-size:9px;line-height:1.5;font-weight:650;letter-spacing:.14em;color:#8795a0;text-transform:uppercase}.page-intro .eyebrow{color:#0b8773}h1{font-size:clamp(26px,2.5vw,36px);line-height:1.2;font-weight:650;letter-spacing:-1.2px;margin-bottom:11px}.page-intro h1>span,.login-title-dot{color:#0b9d80}.page-description{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.date-chip{display:flex;align-items:center;gap:9px;color:#7c8994;font-size:10px;white-space:nowrap;padding-top:19px}.date-chip svg{width:15px;height:15px}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.metric{position:relative;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:18px 21px 21px;box-shadow:0 2px 3px #1c304502}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:12px}.metric p{color:#687884;font-size:11px;font-weight:500;margin:0}.metric-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#f0f3f6;color:#6b7d8b}.metric-icon svg{width:17px;height:17px}.metric-icon.teal{background:#d6f0e8;color:#0c8a72}.metric-icon.blue{background:#eaf2ff;color:#5a81c6}.metric-icon.amber{background:#fff4de;color:#bc8d35}.metric strong{display:block;font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.metric>span{display:block;color:#8b98a2;font-size:10px;margin-top:9px;line-height:1.4}.metric.accent{background:#eaf6f1;border-color:#d6eae2}.metric.accent strong{color:#087962}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:22px;padding:25px 26px 20px;box-shadow:0 2px 3px #1c304502;scroll-margin-top:28px}h2{margin:0;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.45px}.section-heading .eyebrow{margin-bottom:6px;font-size:8px}.section-description{margin:7px 0 0;font-size:11px;color:#8a97a1;line-height:1.5}.section-heading>a{font-size:11px;font-weight:550;text-decoration:none;white-space:nowrap}.section-heading>a:hover{text-decoration:underline}.text-button{color:var(--green);background:#f1faf6;border-color:#dceee6}.text-button:hover{background:#e7f5ee}.loan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:22px}.loan-card{border:1px solid #e4eaf0;border-radius:10px;padding:18px;background:#fbfcfd;position:relative;min-width:0}.loan-card::before{content:"";position:absolute;top:18px;left:0;width:3px;height:29px;background:#57bda1;border-radius:0 3px 3px 0}.loan-card h3{font-size:12px;font-weight:600;margin:0 46px 7px 0;overflow-wrap:anywhere}.loan-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;overflow-wrap:anywhere}.loan-card .person{font-size:11px;color:#475c69;font-weight:550;margin-top:17px}.loan-card .return{position:absolute;top:17px;right:13px;font-size:10px}
.toolbar{margin:23px 0 14px}.search{width:min(365px,100%);height:39px;display:flex;align-items:center;gap:9px;padding:0 12px;background:#fafbfc;color:#99a5ae;border:1px solid #e2e7ec;border-radius:8px}.search svg{width:16px;height:16px}.search:focus-within{border-color:#49ac96;box-shadow:0 0 0 3px #e3f5ed}.search input{width:100%;min-width:0;border:0;outline:0;padding:0;background:transparent;font-size:11px}select,input,textarea{border:1px solid #dde4ea;border-radius:8px;background:#fff;color:#3b4b58;padding:10px 12px;font-size:12px}select{min-height:39px;font-size:11px;max-width:100%}input::placeholder,textarea::placeholder{color:#9aa6b0}.table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d3dce3 transparent}table{width:100%;min-width:700px;text-align:left;border-collapse:separate;border-spacing:0}th{background:#f7f9fb;padding:13px;font-size:9px;font-weight:600;color:#83919e;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #e9edf1}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0}td{padding:17px 13px;border-bottom:1px solid #edf1f4;font-size:11px;color:#647380;vertical-align:middle;line-height:1.55}tbody tr:hover{background:#fafcfb}tr:last-child td{border-bottom:0}.device-title{font-size:12px;font-weight:550;color:#2a3b49}.subtle{color:#95a0aa;font-size:10px;line-height:1.6;margin-top:4px}td .subtle{max-width:260px;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:550;padding:4px 8px;border-radius:6px;white-space:nowrap}.status::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.status.available,.status.returned{color:#258060;background:#ecf7f0}.status.loaned{color:#5b7eb0;background:#edf3fc}.status.maintenance{color:#ae7d2f;background:#fff6e4}.empty{grid-column:1/-1;padding:30px 20px;color:#8796a1;font-size:12px;text-align:center;line-height:1.6;background:#fafcfc;border:1px dashed #dce7e3;border-radius:9px}.action-group{display:flex;align-items:center;gap:10px;white-space:nowrap}.return-link{border:0;background:none;color:var(--red);padding:3px 0;font-size:11px;font-weight:550}.return-link:hover{text-decoration:underline;text-underline-offset:3px}.history-link{color:var(--green)}.history-panel .table-wrap{margin-top:23px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #edf1f4;margin-top:9px;padding-top:17px}.pagination>span:last-child{display:flex;align-items:center;gap:11px}.pagination .button{padding:6px 11px;font-size:10px;min-height:31px}
.dialog{border:1px solid #e3e9ed;border-radius:17px;padding:0;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;box-shadow:0 30px 100px #101e3530}.dialog::backdrop{background:#101e3566;backdrop-filter:blur(4px)}.dialog form{padding:29px}.dialog-head{align-items:flex-start}.dialog>.dialog-head{padding:27px 28px 0}.close{width:29px;height:29px;display:grid;place-items:center;background:#f2f5f7;color:#8795a0;border:0;border-radius:8px;font-size:23px;line-height:1;flex-shrink:0}.close:hover{color:var(--ink);background:#e5ecef}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.form-grid label{display:grid;gap:8px;color:#657580;font-size:11px;font-weight:550}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;font-weight:400}.form-grid textarea{min-height:87px;resize:vertical}.full{grid-column:1/-1}.dialog-footer{justify-content:flex-end;border-top:1px solid #edf1f3;padding-top:19px}.history-dialog{width:min(900px,calc(100vw - 32px))}.device-history-body{padding:20px 28px 28px}.history-summary{display:flex;justify-content:flex-end;margin-bottom:13px;color:#8b97a1;font-size:10px}.history-dialog table{min-width:650px}.detail-content{padding:23px 28px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.import-box{display:grid;gap:15px;margin:25px 0}.import-box>p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.import-box input[type="file"]{width:100%;padding:18px;background:#f8fbfa;border:1px dashed #bcd6cc}.field-guide{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field-guide span{padding:10px;border:1px solid #e4eae7;border-radius:7px;background:#f8fbf9;color:#7b8f85;font-size:10px}.import-result{padding:11px 13px;border-radius:8px;background:#eaf7f1;color:#467c68!important}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:32px;background-color:#f1f5f4;background-image:radial-gradient(ellipse at 15% 15%,#dbeee5 0,transparent 42%),radial-gradient(ellipse at 88% 84%,#e0e9f4 0,transparent 40%)}.login-card{position:relative;width:min(450px,100%);padding:41px;display:grid;gap:19px;border:1px solid #fff;border-radius:22px;background:#ffffffef;box-shadow:0 18px 70px #1b46320b,0 2px 8px #1b463206}.login-brand strong{display:block;font-size:18px;font-weight:650;letter-spacing:-.5px}.login-brand small{color:#91a199}.login-copy{padding:26px 0 7px}.login-copy .eyebrow{font-size:8px;letter-spacing:.14em;color:#358c70}.login-copy h1{font-size:28px;margin:13px 0 15px;font-weight:650;letter-spacing:0}.login-copy>p:last-child{font-size:12px;line-height:1.9;color:#8a9690;margin:0}.login-card>label{display:grid;gap:9px;color:#63766b;font-size:11px;font-weight:550}.login-card input{width:100%;height:46px;background:#fcfdfc;border-color:#e1e9e4}.login-error{min-height:16px;color:var(--red);font-size:11px;margin:-4px 0 -8px;line-height:1.5}.login-submit{height:46px;justify-content:space-between;font-size:12px;padding:0 16px;border-radius:9px}.login-security{display:flex;justify-content:center;align-items:center;gap:6px;margin:4px 0 0;color:#9caaa2;font-size:10px;letter-spacing:.08em}.login-security svg{width:12px;height:12px}
@media(min-width:1800px){.content{padding-left:max(40px,calc((100vw - 1600px)/2));padding-right:max(40px,calc((100vw - 1600px)/2))}}
@media(max-width:1250px){.sidebar{width:210px;padding-left:13px;padding-right:13px}.content{width:calc(100% - 210px);margin-left:210px;padding-left:26px;padding-right:26px}.workspace-secondary,.workspace-divider{display:none}.date-chip{max-width:150px;white-space:normal;line-height:1.7}.metric{padding:16px}.metric-head{align-items:flex-start}.metric p{max-width:85px;line-height:1.5}}
@media(max-width:1050px){.sidebar{width:78px;padding:29px 12px 18px;align-items:center}.brand{padding:0}.brand>span:last-child,.nav-caption,.sidebar-note{display:none}.sidebar nav{margin-top:49px;width:100%}.nav-link{font-size:0;gap:0;padding:15px;justify-content:center}.nav-link.active::after{position:absolute;bottom:7px;width:3px;height:3px}.content{margin-left:78px;width:calc(100% - 78px)}.overview{gap:12px}.loan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar{flex-wrap:wrap;padding:19px 0;gap:16px}.top-actions{flex-wrap:wrap}.page-intro{align-items:flex-start;padding:28px 0 23px}.date-chip{display:none}.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.metric p{max-width:none}.panel{padding:22px 20px 18px}.section-heading{gap:13px}}
@media(max-width:540px){html{scroll-padding-top:80px}.sidebar{width:100%;height:65px;inset:0 0 auto;flex-direction:row;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #27323d}.brand-mark{width:33px;height:33px;border-radius:9px}.sidebar nav{display:flex;width:auto;gap:5px;margin:0}.nav-link{padding:10px 15px;height:43px}.nav-link svg{width:19px;height:19px}.content{width:100%;margin:65px 0 0;padding:0 16px 30px}.topbar{padding:18px 0;gap:14px}.workspace-label{font-size:10px}.top-actions{width:100%;gap:6px}.top-actions .button{flex:1;padding:8px;font-size:9px;gap:5px;min-height:35px}.top-actions .button svg{width:12px;height:12px}h1{font-size:27px;letter-spacing:-.9px}.page-description{font-size:11px;max-width:270px}.overview{gap:10px;margin-bottom:18px}.metric{padding:15px;border-radius:11px}.metric p{font-size:10px}.metric strong{font-size:29px}.metric>span{font-size:9px}.metric-icon{width:27px;height:27px}.panel{border-radius:12px;margin-top:18px;padding:20px 15px 17px;scroll-margin-top:80px}h2{font-size:17px}.section-description{font-size:10px}.section-heading>a{max-width:85px;white-space:normal;font-size:10px;line-height:1.6;text-align:right}.section-heading .text-button{font-size:10px;padding:8px;min-height:35px}.section-heading>select{max-width:115px;font-size:10px}.toolbar{gap:8px}.search{min-width:0;flex:1;padding:0 9px}.search input{font-size:10px}.toolbar select{max-width:117px;padding:8px 5px;font-size:10px}.loan-grid{grid-template-columns:1fr}.pagination{align-items:flex-start;flex-direction:column;gap:10px}.pagination>span:last-child{width:100%;justify-content:space-between;gap:6px}.form-grid{grid-template-columns:1fr;gap:15px}.dialog form{padding:22px}.dialog>.dialog-head{padding:23px 22px 0}.device-history-body{padding:19px 22px 24px}.detail-content{grid-template-columns:1fr;padding:20px 22px}.field-guide{grid-template-columns:1fr}.login-screen{padding:20px}.login-card{padding:30px 26px;border-radius:18px}.login-copy{padding-top:17px}.login-copy h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep dense records comfortable to read. */
.page-description{font-size:13px}.button,.text-button{font-size:12px}.metric p{font-size:12px}.section-heading .eyebrow{font-size:9px}th{font-size:10px}td{font-size:12px}.device-title{font-size:13px}.subtle{font-size:11px}.status{font-size:10px}.details-link{color:#7c8e9d;font-size:10px;margin-left:7px}.details-link:hover{color:var(--green)}
@media(max-width:540px){.page-description{font-size:11px}.metric p{font-size:10px}.section-heading .eyebrow{font-size:8px}.section-heading .text-button{font-size:10px}.details-link{font-size:10px}}
