@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans TC,sans-serif;color:#17352c;background:#f4f2ec;font-synthesis:none;--green: #17352c;--green-2: #22483c;--lime: #dff06c;--paper: #fcfbf7;--muted: #7b837f;--line: #dedfd7;--orange: #f1a56f}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#f4f2ec}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}.brand{display:inline-flex;align-items:center;gap:12px}.brand-b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--green);background:var(--lime);font-size:23px;font-weight:800;letter-spacing:-2px;transform:rotate(-3deg)}.brand-name strong,.brand-name small{display:block}.brand-name strong{font-size:16px;letter-spacing:-.3px}.brand-name small{margin-top:3px;color:#85928a;font-size:8px;font-weight:700;letter-spacing:1.7px}.portal{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 8% 80%,rgba(223,240,108,.18),transparent 24rem),#f4f2ec}.portal-header{height:84px;display:flex;align-items:center;padding:0 clamp(24px,5vw,72px);border-bottom:1px solid var(--line);background:#fcfbf7db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-right{display:flex;align-items:center;gap:18px;margin-left:auto}.admin-link{color:#59655f;font-size:11px;font-weight:700}.admin-link:hover{color:var(--green)}.demo-pill{padding:6px 10px;border-radius:99px;color:#755530;background:#f4e1c5;font-size:9px;font-weight:700}.portal-body{width:min(1190px,100%);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,7vw,105px);align-items:center;margin:auto;padding:48px 34px}.portal-intro{min-height:570px;display:flex;flex-direction:column;justify-content:space-between;padding:38px 0 18px}.kicker,.form-title>span,.records-tools>div>span,.admin-topbar>div>span{color:#78837d;font-size:9px;font-weight:700;letter-spacing:2px}.portal-intro h1{margin:22px 0 24px;font-size:clamp(43px,5vw,68px);line-height:1.06;letter-spacing:-3.5px}.portal-intro>div>p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.8}.steps{display:flex;gap:28px;padding-top:24px;border-top:1px solid #d7d8cf}.steps span{color:#727b76;font-size:10px}.steps b{display:block;margin-bottom:7px;color:#a0a7a2;font-size:9px}.checkout-card{overflow:hidden;border:1px solid #d8dad2;border-radius:22px;background:var(--paper);box-shadow:0 25px 70px #1e31281c}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:9px;border-bottom:1px solid var(--line);background:#ecece5}.mode-switch button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;border:0;border-radius:13px;color:#818985;background:transparent}.mode-switch button.active{color:var(--green);background:var(--paper);box-shadow:0 5px 16px #162c2314}.mode-switch i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#dfe1da;font-size:17px;font-style:normal}.mode-switch .active i{background:var(--lime)}.mode-switch span,.mode-switch small{display:block;text-align:left}.mode-switch span{font-size:12px;font-weight:700}.mode-switch small{margin-bottom:3px;color:#9aa19c;font-size:7px;letter-spacing:1.2px}.checkout-card form{padding:29px 32px 32px}.form-title h2{margin:7px 0 4px;font-size:26px;letter-spacing:-1px}.form-title p{margin:0 0 23px;color:#929893;font-size:10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fields label,.return-search label{display:grid;gap:7px}.fields label>span,.return-search label>span{font-size:10px;font-weight:700}.fields .wide{grid-column:1 / -1}.fields input,.search-input{width:100%;height:43px;padding:0 13px;border:1px solid #d4d7cf;border-radius:9px;outline:0;color:var(--green);background:#fff;font-size:12px}.fields input:focus,.search-input:focus-within{border-color:#94a143;box-shadow:0 0 0 3px #dff06c47}.search-input{display:flex;align-items:center;gap:8px}.search-input b{color:#a2a8a4;font-size:20px}.search-input input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.match-list{overflow:hidden;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.match-list button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid #ecece6;color:var(--green);background:#fff;text-align:left}.match-list button:last-child{border:0}.match-list button:hover{background:#f6f7ee}.match-list span strong,.match-list span small{display:block}.match-list span strong{font-size:12px}.match-list span small{margin-top:3px;color:#909691;font-size:9px}.match-list button>b{font-size:9px}.no-match{padding:13px;border-radius:9px;color:#8f6255;background:#f8e9e3;font-size:10px;text-align:center}.selected-device{display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:14px;margin-top:11px;padding:13px;border-radius:11px;background:#eef1e7}.selected-device .device-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--lime)}.selected-device small,.selected-device strong{display:block}.selected-device small{color:#8b938e;font-size:8px}.selected-device strong{margin-top:3px;font-size:11px}.selected-device button{padding:5px 8px;border:0;color:#67716b;background:transparent;font-size:9px;text-decoration:underline}.sign-heading{display:flex;justify-content:space-between;gap:18px;margin:22px 0 9px}.sign-heading strong,.sign-heading small{display:block}.sign-heading strong{font-size:11px}.sign-heading small{max-width:380px;margin-top:4px;color:#929893;font-size:8px}.sign-heading>span{align-self:start;padding:5px 8px;border-radius:99px;color:#52704f;background:#e3efdf;font-size:8px;font-weight:700;white-space:nowrap}.signature{position:relative;height:145px;overflow:hidden;border:1px dashed #aeb4ae;border-radius:10px;background-color:#fff;background-image:linear-gradient(#f1f2ec 1px,transparent 1px),linear-gradient(90deg,#f1f2ec 1px,transparent 1px);background-size:20px 20px}.signature canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:none}.signature>span{position:absolute;top:50%;left:50%;color:#c5c8c4;font-size:12px;transform:translate(-50%,-50%)}.signature button{position:absolute;right:8px;bottom:8px;z-index:3;padding:5px 8px;border:0;border-radius:6px;color:#737b76;background:#efefe9;font-size:9px}.form-message{margin:11px 0 0;padding:9px 11px;border-radius:8px;font-size:10px}.form-message.error{color:#9b443e;background:#f9e4e1}.form-message.success{color:#496d4a;background:#e4f0e1}.submit-button{width:100%;height:47px;display:flex;justify-content:center;align-items:center;gap:11px;margin-top:17px;border:0;border-radius:10px;color:var(--green);background:var(--lime);font-size:12px;font-weight:800;box-shadow:0 8px 20px #5d702324}.submit-button:hover{background:#d5e95a;transform:translateY(-1px)}.submit-button span{font-size:18px}.portal-footer{padding:16px;color:#9aa19c;font-size:8px;letter-spacing:1px;text-align:center}.admin{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;padding:28px 20px 20px;color:#f0f3ed;background:var(--green)}.admin-sidebar .brand{padding:0 7px 31px}.admin-sidebar .brand-name small{color:#899a90}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#aab7af;font-size:11px;font-weight:600}.admin-sidebar nav a span{width:19px;font-size:17px;text-align:center}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:var(--green);background:var(--lime)}.admin-sidebar>small{margin-top:auto;color:#61736a;font-size:8px;text-align:center;letter-spacing:1px}.admin-main{grid-column:2;min-width:0}.admin-topbar{height:82px;display:flex;align-items:center;padding:0 38px;border-bottom:1px solid var(--line);background:#fcfbf7e6}.admin-topbar h1{margin:4px 0 0;font-size:20px;letter-spacing:-.6px}.system-status{display:flex;align-items:center;gap:8px;margin-left:auto;color:#7d8580;font-size:9px}.system-status i{width:7px;height:7px;border-radius:50%;background:#75a86b;box-shadow:0 0 0 4px #e1edde}.admin-content{max-width:1280px;margin:0 auto;padding:35px 38px 55px}.admin-welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.admin-welcome span{color:var(--muted);font-size:10px}.admin-welcome h2{margin:7px 0 0;font-size:clamp(27px,3vw,37px);letter-spacing:-1.5px}.admin-welcome p{max-width:240px;margin:0;color:var(--muted);font-size:10px;line-height:1.7;text-align:right}.stats{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:28px}.stats article{position:relative;min-height:155px;overflow:hidden;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.stats article.dark{color:#fff;border-color:var(--green);background:var(--green)}.stats article>span{display:block;margin-top:30px;color:#78817c;font-size:10px}.stats article.dark>span{color:#b9c5bd}.stats article>strong{display:block;margin:3px 0;overflow:visible;font-size:33px;font-variant-numeric:tabular-nums;letter-spacing:-2px;white-space:nowrap}.stats article>small{color:#999f9b;font-size:8px}.stats article>b{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--green);background:var(--orange)}.stats article:not(.dark)>b{background:var(--lime)}.bars{position:absolute;right:20px;bottom:21px;width:55%;height:90px;display:flex;align-items:end;gap:7px;border-bottom:1px solid var(--line)}.bars i{flex:1;border-radius:3px 3px 0 0;background:#daddd0}.bars i:nth-child(n+5){background:var(--lime)}.records{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.records-tools{display:flex;align-items:center;justify-content:space-between;padding:21px 23px}.records-tools h2{margin:4px 0 0;font-size:19px}.filters{display:flex;align-items:center;gap:10px}.filter-buttons{display:flex;padding:3px;border-radius:8px;background:#ecece6}.filter-buttons button{padding:6px 9px;border:0;border-radius:6px;color:#858c87;background:transparent;font-size:8px}.filter-buttons button.active{color:var(--green);background:#fff;box-shadow:0 2px 6px #d7d9d1}.filters>input{width:190px;height:34px;padding:0 11px;border:1px solid var(--line);border-radius:8px;outline:0;background:#f7f6f1;font-size:9px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:10px 17px;color:#8f9691;background:#f0f0ea;font-size:8px;letter-spacing:.8px;text-align:left}td{padding:14px 17px;border-top:1px solid #e9e9e2;color:#68716b;font-size:10px;white-space:nowrap}td strong{color:var(--green)}.status{display:inline-flex;align-items:center;gap:6px;font-weight:700}.status i{width:6px;height:6px;border-radius:50%}.status.borrowed{color:#a96135}.status.borrowed i{background:var(--orange);box-shadow:0 0 0 3px #fae8da}.status.returned{color:#60805d}.status.returned i{background:#79aa70;box-shadow:0 0 0 3px #e1eddf}.empty{padding:42px;border-top:1px solid var(--line);color:#969d98;font-size:10px;text-align:center}@media(max-width:900px){.portal-body{grid-template-columns:1fr;gap:25px;max-width:670px;padding-top:35px}.portal-intro{min-height:0;padding:0}.portal-intro h1{margin:14px 0;font-size:44px}.portal-intro>div>p,.steps{display:none}.admin{display:block}.admin-sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;padding:15px 22px}.admin-sidebar .brand{padding:0}.admin-sidebar nav{display:flex;margin-left:auto}.admin-sidebar nav a{padding:9px}.admin-sidebar nav a span,.admin-sidebar>small{display:none}.admin-main{width:100%}.stats{grid-template-columns:1fr}}@media(max-width:600px){.portal-header{height:70px;padding:0 16px}.brand-b{width:36px;height:36px;border-radius:10px;font-size:20px}.brand-name strong{font-size:13px}.brand-name small{font-size:6px}.demo-pill{display:none}.admin-link{font-size:0}.admin-link:after{content:"管理 ↗";font-size:9px}.portal-body{display:block;padding:25px 14px 34px}.portal-intro{margin-bottom:22px}.portal-intro h1{font-size:35px;letter-spacing:-2px}.checkout-card{border-radius:16px}.checkout-card form{padding:23px 18px 21px}.fields{grid-template-columns:1fr;gap:12px}.fields .wide{grid-column:auto}.signature{height:180px}.selected-device{grid-template-columns:auto 1fr auto}.selected-device>span:nth-child(3){grid-column:2}.selected-device button{grid-column:3;grid-row:1 / 3}.admin-sidebar nav a{font-size:0}.admin-sidebar nav a span{display:block;font-size:17px}.admin-topbar{height:70px;padding:0 18px}.system-status{font-size:0}.admin-content{padding:25px 14px 40px}.admin-welcome p{display:none}.stats{gap:9px}.stats article{min-height:137px;padding:15px}.stats article>span{margin-top:27px}.stats article>strong{font-size:29px}.records-tools{display:block;padding:18px}.filters{display:block;margin-top:13px}.filters>input{width:100%;margin-top:8px}.filter-buttons button{flex:1}.filter-buttons{display:flex}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.landing-portal{background:radial-gradient(circle at 50% 42%,rgba(223,240,108,.18),transparent 26rem),linear-gradient(180deg,#f8f7f2,#efeee7)}.logout-link,.admin-logout{padding:8px 11px;border:0;border-radius:8px;color:#7d5650;background:#f5e8e4;font-size:9px;font-weight:700}.admin-logout{margin-left:12px}.auth-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:11px}.auth-page{min-height:100vh;background:radial-gradient(circle at 25% 70%,rgba(223,240,108,.2),transparent 25rem),#f4f2ec}.auth-content{width:min(980px,100%);min-height:calc(100vh - 84px);display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:center;margin:auto;padding:55px 32px}.auth-copy h1{max-width:500px;margin:15px 0 18px;font-size:clamp(40px,5vw,60px);line-height:1.08;letter-spacing:-3px}.auth-copy p{max-width:480px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}.auth-switch-account{display:block;margin-top:24px;padding:13px 18px;border:0;border-radius:9px;color:var(--green);background:var(--lime);font-size:10px;font-weight:800}.auth-back-link{display:inline-block;margin-top:16px;color:var(--green);font-size:10px;font-weight:700}.auth-card{padding:31px;border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:0 24px 65px #1932281f}.auth-lock{display:grid;place-items:center;width:42px;height:42px;margin-bottom:20px;border-radius:12px;color:var(--green);background:var(--lime);font-size:9px}.auth-card>span{color:#858d88;font-size:8px;font-weight:700;letter-spacing:1.5px}.auth-card h2{margin:6px 0 24px;font-size:24px;letter-spacing:-.8px}.auth-card label{display:grid;gap:7px;margin-top:14px}.auth-card label>span{font-size:9px;font-weight:700}.auth-card input{width:100%;height:44px;padding:0 12px;border:1px solid #d3d6ce;border-radius:9px;outline:0;color:var(--green);background:#fff;font-size:11px}.auth-card input:focus{border-color:#94a143;box-shadow:0 0 0 3px #dff06c45}.auth-card>button{width:100%;height:44px;margin-top:20px;border:0;border-radius:9px;color:var(--green);background:var(--lime);font-size:10px;font-weight:800}.auth-card>small{display:block;margin-top:13px;color:#929994;font-size:8px;line-height:1.5;text-align:center}.auth-error,.auth-config-error{margin:12px 0 0;padding:9px 10px;border-radius:8px;color:#a14740;background:#f8e3df;font-size:9px;line-height:1.5}.landing-content{width:min(820px,100%);display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;margin:auto;padding:60px 24px 45px;text-align:center}.landing-content h1{margin:15px 0 10px;font-size:clamp(40px,6vw,64px);letter-spacing:-3px}.landing-content>p{margin:0;color:var(--muted);font-size:12px}.landing-actions{width:min(620px,100%);display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}.landing-actions>button{position:relative;min-height:150px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:28px;overflow:hidden;border:1px solid var(--line);border-radius:20px;color:var(--green);background:var(--paper);text-align:left;box-shadow:0 18px 45px #19322814}.landing-actions>button:hover{transform:translateY(-4px);box-shadow:0 24px 55px #19322821}.landing-actions>button.return-entry{color:#f4f6f2;border-color:var(--green);background:var(--green)}.landing-actions>button>i{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;color:var(--green);background:var(--lime);font-size:27px;font-style:normal}.landing-actions>button.borrow-entry>i{background:var(--orange)}.landing-actions>button span small,.landing-actions>button span strong,.landing-actions>button span b{display:block}.landing-actions>button span small{margin-bottom:7px;color:#919994;font-size:8px;letter-spacing:1.5px}.landing-actions>button span strong{font-size:30px;letter-spacing:-1.5px}.landing-actions>button span b{margin-top:7px;color:#86908a;font-size:9px;font-weight:500}.landing-actions>button.return-entry span small,.landing-actions>button.return-entry span b{color:#93a299}.landing-actions>button>em{font-size:24px;font-style:normal}.rental-status-entry{display:flex;align-items:center;gap:8px;margin-top:16px;padding:9px 13px;border:1px solid #ced3ca;border-radius:9px;color:#526158;background:#ffffff9e;font-size:10px;font-weight:700}.rental-status-entry>span{font-size:13px}.rental-status-entry>b{min-width:22px;padding:3px 6px;border-radius:99px;color:var(--green);background:var(--lime);text-align:center}.landing-status{display:flex;align-items:center;gap:18px;margin-top:26px;color:#7b847e;font-size:9px}.landing-status span{display:flex;align-items:center;gap:7px}.landing-status span i{width:7px;height:7px;border-radius:50%;background:#75a86b;box-shadow:0 0 0 4px #dfeadd}.landing-status b{padding-left:18px;border-left:1px solid #cdd1ca;color:#5e6962;font-weight:600}.flow-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#0d1f18ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.flow-dialog{width:min(690px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:20px;background:var(--paper);box-shadow:0 30px 90px #05140d59}.flow-dialog.return-dialog{width:min(920px,100%)}.flow-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;padding:22px 26px 19px;border-bottom:1px solid var(--line);background:#fcfbf7f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flow-header span{color:#838c86;font-size:8px;font-weight:700;letter-spacing:1.7px}.flow-header h2{margin:5px 0 0;font-size:22px;letter-spacing:-.7px}.flow-header>button{width:34px;height:34px;margin-left:auto;border:0;border-radius:9px;color:#778079;background:#ecece6;font-size:21px}.borrow-form,.confirm-view,.return-list-view,.return-confirm{padding:24px 26px 27px}.quick-employees{margin-bottom:20px}.quick-employees>span{display:block;margin-bottom:8px;color:#858d88;font-size:8px;font-weight:700;letter-spacing:1px}.quick-employees>div{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.quick-employees button{min-width:0;display:flex;align-items:center;gap:7px;padding:8px;overflow:hidden;border:1px solid #dcddd6;border-radius:9px;color:var(--green);background:#fff;text-align:left}.quick-employees button:hover,.quick-employees button.active{border-color:#aaba51;background:#f6f8e5}.quick-employees button>b{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e7e9df;font-size:10px}.quick-employees button span,.quick-employees button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-employees button span{min-width:0;font-size:9px;font-weight:700}.quick-employees button small{margin-top:2px;color:#929993;font-size:7px}.flow-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.flow-field{display:grid;grid-template-rows:auto auto minmax(48px,auto);gap:7px;align-content:start}.flow-field>span{font-size:10px;font-weight:700}.flow-fields input,.flow-fields select{width:100%;height:44px;padding:0 13px;border:1px solid #d3d6ce;border-radius:9px;outline:0;color:var(--green);background:#fff;font-size:11px}.flow-fields input:focus,.flow-fields select:focus{border-color:#94a143;box-shadow:0 0 0 3px #dff06c45}.flow-field>small{color:#66805f;font-size:8px}.flow-field>small.field-feedback{display:flex;align-items:center;min-height:48px;padding:8px 10px;border:1px solid transparent;border-radius:9px}.flow-field>small.field-feedback.success{color:#426744;border-color:#d4e4c9;background:#edf5e8}.flow-field>small.field-feedback.error{color:#a14740;border-color:#ecd1cc;background:#f9e8e5}.flow-field>small.field-feedback.idle{visibility:hidden}.picker-stack{display:grid;gap:8px}.picker-stack select{color:var(--green);background-color:#fff}.picker-stack select:disabled{color:#9aa19c;background-color:#eeefe9}.number-pad-field{position:relative}.number-pad-field>input{cursor:pointer;caret-color:transparent}.number-pad-field.open>input{border-color:#94a143;box-shadow:0 0 0 3px #dff06c45}.number-pad{position:absolute;top:calc(100% + 7px);left:0;z-index:35;width:min(240px,100%);padding:10px;border:1px solid #d5d9cd;border-radius:12px;background:#fff;box-shadow:0 16px 38px #12281d33}.number-pad-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#788079;font-size:9px;font-weight:700}.number-pad-heading button{width:28px;height:28px;padding:0;border:0;border-radius:7px;color:var(--green);background:#eef0e8;font-size:18px;line-height:1}.number-pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.number-pad-keys button{min-height:46px;padding:0;border:1px solid #d9ddd4;border-radius:9px;color:var(--green);background:#f8f9f4;font-size:17px;font-weight:700;touch-action:manipulation}.number-pad-keys button:active{border-color:#a6b44e;background:var(--lime);transform:scale(.97)}.number-pad-keys button:disabled{opacity:.4}.number-pad-keys .number-pad-clear{color:#7d5d54;font-size:10px}.flow-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.flow-actions button{min-height:42px;padding:0 17px;border-radius:9px;font-size:10px;font-weight:700}.secondary-action{border:1px solid var(--line);color:#6c756f;background:transparent}.primary-action{border:0;color:var(--green);background:var(--lime)}.danger-confirm{color:#fff;background:var(--green)}.flow-error{margin:12px 0 0;padding:9px 11px;border-radius:8px;color:#a14740;background:#f8e3df;font-size:9px}.confirm-alert{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:13px;border:1px solid #efd9a6;border-radius:10px;background:#fff8df}.confirm-alert>b{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#735b17;background:#f3da75}.confirm-alert strong,.confirm-alert small{display:block}.confirm-alert strong{font-size:10px}.confirm-alert small{margin-top:3px;color:#8d7d4e;font-size:8px}.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin:0;border:1px solid var(--line);border-radius:11px;background:var(--line)}.confirm-grid>div{padding:12px 14px;background:#fff}.confirm-grid .wide{grid-column:1 / -1}.confirm-grid dt{color:#929994;font-size:8px}.confirm-grid dd{margin:4px 0 0;font-size:11px;font-weight:700}.signature-review img{display:block;width:100%;height:100px;margin-top:7px;object-fit:contain;border-radius:7px;background:#f5f5ef}.return-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.return-id-filter{display:grid;gap:7px}.return-id-filter>span{font-size:10px;font-weight:700}.return-id-filter input{width:100%;height:44px;padding:0 13px;border:1px solid #d3d6ce;border-radius:9px;outline:0;color:var(--green);background:#fff;font-size:11px}.return-table-wrap{min-height:408px;overflow-x:auto;border:1px solid var(--line);border-radius:11px}.status-dialog{width:min(780px,100%)}.status-table-wrap{min-height:330px}.status-table{table-layout:fixed;min-width:620px}.status-table th:nth-child(1){width:38%}.status-table th:nth-child(2){width:30%}.status-table th:nth-child(3){width:32%}.status-table th:last-child,.status-table td:last-child{text-align:left}.status-table td:first-child small{display:block;margin-top:3px}.return-table td{height:55px}.return-table td span,.return-table td small{display:block}.return-table td small{margin-top:3px;color:#969d98;font-size:8px}.return-table td:last-child{text-align:right}.return-table td button{padding:6px 12px;border:0;border-radius:7px;color:var(--green);background:var(--lime);font-size:9px;font-weight:700}.no-rentals{display:grid;place-items:center;height:330px;color:#919993;font-size:10px}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:#858d88;font-size:8px}.pagination div{display:flex;gap:6px}.pagination button{padding:6px 9px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:#fff;font-size:8px}.return-device-summary{display:grid;grid-template-columns:auto 1fr 1.4fr;align-items:center;gap:14px;padding:16px;border-radius:11px;background:#eef0e7}.return-device-summary>b{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--lime)}.return-device-summary small,.return-device-summary strong{display:block}.return-device-summary small{color:#888f8b;font-size:8px}.return-device-summary strong{margin-top:4px;font-size:11px}.return-confirm-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin:14px 0 0;border:1px solid var(--line);border-radius:10px;background:var(--line)}.return-confirm-details>div{padding:13px 14px;background:#fff}.return-confirm-details dt{color:#888f8b;font-size:8px}.return-confirm-details dd{margin:4px 0 0;color:var(--green);font-size:11px;font-weight:700}.no-sign-note{margin:13px 0 0;color:#8a928c;font-size:9px}.success-toast{position:fixed;right:22px;bottom:22px;z-index:150;display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:11px;color:#fff;background:var(--green);box-shadow:0 15px 40px #0b1d1540;font-size:10px;font-weight:700}.success-toast b{color:var(--lime);font-size:15px}.admin-sidebar nav button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 13px;border:0;border-radius:9px;color:#aab7af;background:transparent;font-size:11px;font-weight:600;text-align:left}.admin-sidebar nav button span{width:19px;font-size:17px;text-align:center}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:var(--green);background:var(--lime)}.admin-error{padding:10px 12px;border-radius:8px;color:#a14740;background:#f8e3df;font-size:9px}.table-sub{display:block;margin-top:3px;color:#9aa09c;font-size:8px}.manager-page{max-width:1050px}.manager-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.manager-heading span{color:#858d88;font-size:8px;font-weight:700;letter-spacing:1.5px}.manager-heading h2{margin:6px 0 4px;font-size:30px;letter-spacing:-1px}.manager-heading p{margin:0;color:var(--muted);font-size:10px}.manager-heading>strong{color:#6d766f;font-size:10px}.add-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.add-form label{display:grid;gap:6px}.add-form label span{font-size:9px;font-weight:700}.add-form input,.add-form select,.directory-tools input{height:37px;padding:0 10px;border:1px solid #d6d8d1;border-radius:8px;outline:0;background:#fff;font-size:9px}.add-form button{height:37px;padding:0 14px;border:0;border-radius:8px;color:var(--green);background:var(--lime);font-size:9px;font-weight:700}.add-form.editing{border-color:#adba5a;box-shadow:0 0 0 3px #dff06c33}.add-form input:disabled{color:#7f8781;background:#ecece7;cursor:not-allowed}.form-buttons{display:flex;gap:7px}.form-buttons .cancel-edit{color:#68716b;border:1px solid var(--line);background:#fff}.directory{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.directory-tools{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.directory-tools h3{margin:0;font-size:14px}.directory-tools input{width:210px}.directory td:last-child{text-align:right}.directory tr.editing-row{background:#f7f9e8}.row-actions{display:flex;justify-content:flex-end;gap:6px}.edit-button{padding:5px 9px;border:1px solid #cfd7c8;border-radius:6px;color:#456455;background:#f7faf5;font-size:8px}.remove-button{padding:5px 9px;border:1px solid #e2c9c4;border-radius:6px;color:#a34e46;background:#fff8f6;font-size:8px}@media(max-width:760px){.auth-content{grid-template-columns:1fr;gap:28px;max-width:560px}.auth-copy h1{font-size:38px}.landing-actions{grid-template-columns:1fr}.landing-actions>button{min-height:145px}.flow-backdrop{padding:0;place-items:stretch}.flow-dialog,.flow-dialog.return-dialog{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.flow-fields{grid-template-columns:1fr}.quick-employees>div{display:flex;overflow-x:auto;padding-bottom:4px}.quick-employees button{min-width:118px}.return-tools{grid-template-columns:1fr}.return-table-wrap{min-height:390px}.add-form{grid-template-columns:1fr}}@media(max-width:520px){.auth-content{min-height:calc(100vh - 70px);padding:38px 16px}.auth-copy h1{font-size:32px;letter-spacing:-2px}.auth-card{padding:24px 20px}.landing-content{justify-content:flex-start;padding-top:70px}.landing-content h1{font-size:36px;letter-spacing:-2px}.landing-actions{margin-top:32px}.landing-actions>button{min-height:132px;padding:20px}.landing-actions>button>i{width:46px;height:46px}.landing-actions>button span strong{font-size:25px}.flow-header{padding:17px 18px}.borrow-form,.confirm-view,.return-list-view,.return-confirm{padding:20px 16px 24px}.confirm-grid{grid-template-columns:1fr}.confirm-grid .wide{grid-column:auto}.flow-actions{position:sticky;bottom:-24px;margin:20px -16px -24px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));background:var(--paper)}.flow-actions button{flex:1}.return-device-summary{grid-template-columns:auto 1fr}.return-device-summary span:last-child{grid-column:2}.return-table{min-width:620px}.manager-heading{display:block}.manager-heading>strong{display:block;margin-top:12px}.directory{overflow-x:auto}.directory table{min-width:620px}}@media(min-width:700px)and (max-width:1180px){.landing-portal .brand-name strong{font-size:19px}.landing-portal .brand-name small{font-size:9px}.landing-portal .logout-link{font-size:12px}.landing-content .kicker{font-size:11px}.landing-content>p{font-size:15px}.landing-actions>button span small{font-size:11px}.landing-actions>button span strong{font-size:36px}.landing-actions>button span b{font-size:12px}.rental-status-entry{font-size:13px}.landing-status{font-size:12px}.flow-header span{font-size:10px}.flow-header h2{font-size:27px}.quick-employees>span{font-size:10px}.quick-employees button{padding:10px}.quick-employees button>b{width:34px;height:34px;font-size:13px}.quick-employees button span{font-size:12px}.quick-employees button small{font-size:10px}.flow-field>span{font-size:13px}.flow-fields input,.flow-fields select{height:50px;font-size:16px}.flow-field>small{font-size:11px}.number-pad{width:260px;padding:12px}.number-pad-heading{font-size:12px}.number-pad-heading button{width:34px;height:34px;font-size:21px}.number-pad-keys{gap:9px}.number-pad-keys button{min-height:55px;font-size:21px}.number-pad-keys .number-pad-clear{font-size:12px}.sign-heading strong{font-size:14px}.sign-heading small{font-size:11px}.sign-heading>span{font-size:11px}.signature>span{font-size:15px}.signature button{font-size:11px}.flow-actions button{min-height:48px;font-size:13px}.flow-error{font-size:12px}.confirm-alert strong{font-size:13px}.confirm-alert small,.confirm-grid dt{font-size:11px}.confirm-grid dd{font-size:14px}.return-id-filter>span{font-size:13px}.return-id-filter input{height:50px;font-size:16px}.return-table th{font-size:10px}.return-table td{font-size:13px}.return-table td small{font-size:10px}.return-table td button{font-size:12px}.no-rentals{font-size:13px}.pagination,.pagination button{font-size:11px}.return-device-summary small{font-size:10px}.return-device-summary strong{font-size:14px}.return-confirm-details dt{font-size:10px}.return-confirm-details dd{font-size:14px}.no-sign-note{font-size:12px}.success-toast{font-size:13px}}.brand-name strong{font-size:clamp(18px,2vw,22px)}.brand-name small{font-size:clamp(10px,1.1vw,12px)}.demo-pill,.logout-link,.admin-logout{font-size:clamp(13px,1.4vw,16px)}.kicker,.form-title>span,.records-tools>div>span,.admin-topbar>div>span{font-size:clamp(13px,1.4vw,16px)}.landing-content>p{font-size:clamp(17px,2vw,21px);line-height:1.6}.landing-actions>button span small{font-size:clamp(12px,1.4vw,15px)}.landing-actions>button span strong{font-size:clamp(34px,4.5vw,44px)}.landing-actions>button span b{font-size:clamp(15px,1.7vw,18px);line-height:1.45}.rental-status-entry,.landing-status{font-size:clamp(14px,1.6vw,17px)}.flow-dialog{width:min(800px,100%)}.flow-dialog.return-dialog{width:min(1060px,100%)}.flow-header span{font-size:clamp(12px,1.3vw,14px)}.flow-header h2{font-size:clamp(27px,3vw,34px)}.borrow-form,.confirm-view,.return-list-view,.return-confirm{padding:clamp(24px,3vw,34px)}.quick-employees>span{font-size:clamp(13px,1.4vw,15px)}.quick-employees button{min-height:58px;padding:10px}.quick-employees button>b{width:36px;height:36px;font-size:15px}.quick-employees button span{font-size:clamp(15px,1.6vw,18px)}.quick-employees button small{font-size:clamp(12px,1.3vw,14px)}.flow-field>span,.return-id-filter>span{font-size:clamp(15px,1.7vw,18px)}.flow-fields input,.flow-fields select,.return-id-filter input{height:56px;font-size:clamp(17px,2vw,21px)}.flow-field>small{font-size:clamp(13px,1.4vw,16px);line-height:1.4}.sign-heading strong{font-size:clamp(17px,1.8vw,20px)}.sign-heading small,.sign-heading>span{font-size:clamp(13px,1.4vw,16px);line-height:1.5}.signature{height:190px}.signature>span{font-size:clamp(17px,1.8vw,20px)}.signature button{padding:8px 12px;font-size:clamp(13px,1.4vw,15px)}.flow-actions button{min-height:56px;padding:0 22px;font-size:clamp(16px,1.8vw,19px)}.flow-error{font-size:clamp(14px,1.5vw,17px);line-height:1.45}.confirm-alert strong{font-size:clamp(16px,1.7vw,19px)}.confirm-alert small{font-size:clamp(13px,1.5vw,16px);line-height:1.45}.confirm-grid dt,.return-confirm-details dt{font-size:clamp(13px,1.4vw,15px)}.confirm-grid dd,.return-confirm-details dd{font-size:clamp(17px,1.8vw,20px)}.return-table th{font-size:clamp(12px,1.3vw,14px)}.return-table td{height:68px;font-size:clamp(15px,1.6vw,18px)}.return-table td small{font-size:clamp(12px,1.3vw,14px)}.return-table td button{min-height:40px;padding:8px 15px;font-size:clamp(14px,1.5vw,16px)}.no-rentals{font-size:clamp(15px,1.6vw,18px)}.pagination,.pagination button,.return-device-summary small,.no-sign-note{font-size:clamp(13px,1.4vw,15px)}.return-device-summary strong{font-size:clamp(17px,1.8vw,20px)}.success-toast{font-size:clamp(14px,1.6vw,17px)}.number-pad{width:min(280px,100%);padding:12px}.number-pad-heading{font-size:14px}.number-pad-heading button{width:36px;height:36px;font-size:23px}.number-pad-keys button{min-height:58px;font-size:23px}.number-pad-keys .number-pad-clear{font-size:14px}.auth-copy p{font-size:clamp(16px,1.8vw,19px)}.auth-switch-account,.auth-back-link{font-size:clamp(14px,1.6vw,17px)}.auth-card>span{font-size:clamp(12px,1.3vw,14px)}.auth-card h2{font-size:clamp(27px,3vw,34px)}.auth-card label>span{font-size:clamp(14px,1.5vw,16px)}.auth-card input{height:54px;font-size:clamp(16px,1.8vw,19px)}.auth-card>button{height:54px;font-size:clamp(15px,1.7vw,18px)}.auth-card>small,.auth-error,.auth-config-error{font-size:clamp(13px,1.4vw,15px)}.admin{grid-template-columns:270px 1fr}.admin-sidebar{width:270px}.admin-sidebar nav a,.admin-sidebar nav button{font-size:16px}.admin-sidebar>small{font-size:12px}.admin-topbar h1{font-size:27px}.system-status,.admin-welcome span,.admin-welcome p{font-size:15px}.stats article>span{font-size:16px}.stats article>strong{font-size:42px}.stats article>small{font-size:13px}.records-tools h2{font-size:25px}.filter-buttons button{padding:9px 13px;font-size:14px}.filters>input{width:240px;height:44px;font-size:15px}th{font-size:13px}td{font-size:16px}.empty,.admin-error{font-size:15px}.table-sub,.manager-heading span{font-size:13px}.manager-heading h2{font-size:clamp(31px,3vw,39px)}.manager-heading p,.manager-heading>strong{font-size:15px}.add-form label span{font-size:14px}.add-form input,.add-form select,.directory-tools input{height:48px;font-size:16px}.add-form button{height:48px;font-size:15px}.directory-tools h3{font-size:22px}.edit-button,.remove-button{padding:8px 12px;font-size:14px}@media(max-width:900px){.admin{display:block}.admin-sidebar,.flow-dialog,.flow-dialog.return-dialog{width:100%}}@media(max-width:760px){.flow-header{padding:18px 20px}.borrow-form,.confirm-view,.return-list-view,.return-confirm{padding:22px 18px 26px}.return-tools{grid-template-columns:1fr}.number-pad{width:min(300px,100%)}}@media(max-width:520px){.landing-content{padding-inline:16px}.landing-actions>button{min-height:150px;padding:20px}.landing-actions>button span strong{font-size:34px}.landing-actions>button span b{font-size:15px}.quick-employees button{min-width:155px}.flow-actions{flex-wrap:wrap}.flow-actions button{min-width:140px}.admin-topbar h1{font-size:22px}.stats{grid-template-columns:1fr}.stats article:last-child{grid-column:auto}}@media(min-width:700px)and (max-width:1180px){.landing-portal{height:100vh;height:100dvh;min-height:0;overflow:hidden}.landing-portal .portal-header{flex:0 0 72px;height:72px}.landing-content{min-height:0;padding:22px 24px 12px;overflow:hidden}.landing-actions{gap:12px;margin-top:22px}.landing-actions>button{min-height:clamp(108px,16dvh,138px);padding:20px 24px}.rental-status-entry{margin-top:12px}.landing-status{margin-top:14px}.landing-portal .portal-footer{flex:0 0 auto;padding:9px 16px}.flow-backdrop{height:100vh;height:100dvh;padding:12px}.flow-dialog,.flow-dialog.return-dialog{max-height:calc(100dvh - 24px)}.flow-dialog.borrow-dialog{overflow-y:hidden}}@media(min-width:700px)and (max-width:1180px)and (max-height:800px){.flow-header{padding:14px 22px 12px}.borrow-form,.confirm-view,.return-list-view,.return-confirm{padding:18px 24px 20px}.sign-heading{margin:14px 0 7px}.signature{height:145px}.flow-actions{margin-top:12px;padding-top:12px}.return-table-wrap{min-height:330px}.status-table-wrap{min-height:300px}}
