.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;display:flex;justify-content:space-around;padding:8px 0 12px;box-shadow:0 -2px 12px #00000014;z-index:100;border-top:1px solid #f1f3f5}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#adb5bd;transition:color .2s;padding:6px 0}.nav-btn.active{color:#ff6b35}.nav-icon{line-height:1;display:flex;align-items:center;justify-content:center}.nav-label{font-size:11px;font-weight:600}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:#fff}.login-card{background:#fff;border-radius:24px;padding:40px 28px 32px;width:100%;max-width:400px;box-shadow:0 4px 20px #00000014;border:2px solid #f1f3f5}.login-title{text-align:center;font-size:26px;line-height:1.35;margin-bottom:6px;font-weight:700;background:linear-gradient(135deg,#ff6b35,#ff8c42);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-sub{text-align:center;color:#ff8c42;font-size:16px;margin-bottom:32px;font-weight:500}.login-form label{display:block;font-size:14px;color:#495057;font-weight:600;margin-bottom:8px}.login-form input{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:12px;font-size:16px;outline:none;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.login-error{color:#dc3545;font-size:14px;text-align:center;margin:8px 0 12px;line-height:1.4;background:#fff5f5;padding:10px;border-radius:8px}.login-btn{width:100%;padding:16px;background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;margin-top:8px;transition:transform .1s,box-shadow .2s;box-shadow:0 4px 12px #ff6b354d}.login-btn:hover{box-shadow:0 6px 16px #ff6b3566}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-toggle{display:block;width:100%;background:none;border:none;color:#ff6b35;font-size:14px;cursor:pointer;margin-top:20px;padding:8px;text-align:center;font-weight:500}.cat-welcome{padding:16px 16px 12px;font-size:15px;color:#495057}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 16px 16px}.cat-btn{background:#fff;border:2px solid #f1f3f5;border-radius:16px;padding:32px 16px;font-size:17px;font-weight:600;color:#212529;cursor:pointer;transition:all .2s;text-align:center;box-shadow:0 2px 8px #0000000a}.cat-btn:hover{border-color:#ff6b35;color:#ff6b35;box-shadow:0 4px 12px #ff6b3526}.cat-btn:active{transform:scale(.97);box-shadow:0 2px 6px #ff6b3533}.item-list{padding:12px 16px}.item-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000000a;border:2px solid #f1f3f5;transition:all .2s}.item-card:hover{box-shadow:0 4px 12px #00000014}.item-card.clickable{cursor:pointer}.item-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3526;border-color:#ff6b35}.item-card.clickable:active{transform:translateY(0)}.item-card.available{border-left:5px solid #20c997}.item-card.rented{border-left:5px solid #FF6B35}.item-card.unavailable{border-left:5px solid #adb5bd;opacity:.7}.item-info h3{font-size:16px;color:#212529;margin-bottom:4px;font-weight:600}.item-eid{font-size:13px;color:#6c757d;margin-bottom:2px}.item-uuid{font-size:12px;color:#ff6b35;font-weight:700;font-family:Courier New,monospace;letter-spacing:1px}.status-badge{font-size:12px;font-weight:700;padding:6px 14px;border-radius:20px;white-space:nowrap}.status-badge.available{background:#d1f4e8;color:#0ca678}.status-badge.rented{background:#ffe8de;color:#ff6b35}.status-badge.unavailable{background:#e9ecef;color:#6c757d}.rental-confirm{padding:24px 16px}.confirm-card{background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 4px 16px #0000001a;border:2px solid #f1f3f5}.confirm-card h3{font-size:20px;font-weight:700;color:#212529;text-align:center;margin-bottom:24px}.confirm-item-info{background:#f8f9fa;border-radius:14px;padding:20px;margin-bottom:24px}.confirm-item-name{font-size:18px;font-weight:700;color:#212529;margin-bottom:12px;text-align:center}.confirm-item-detail{font-size:14px;color:#6c757d;margin-bottom:6px;text-align:center}.confirm-item-category{font-size:13px;color:#ff6b35;font-weight:600;text-align:center;margin-top:10px;padding-top:10px;border-top:1px solid #e9ecef}.confirm-btns{display:flex;gap:10px}.confirm-btns button{flex:1;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.confirm-cancel-btn{background:#6c757d;color:#fff}.confirm-cancel-btn:active{transform:scale(.98)}.confirm-rent-btn{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;box-shadow:0 4px 12px #ff6b354d}.confirm-rent-btn:active{transform:scale(.98)}.rental-tabs{display:flex;gap:12px;padding:14px 16px}.rental-tab{flex:1;padding:12px;border:2px solid #FF6B35;background:#fff;color:#ff6b35;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;text-align:center;transition:all .2s}.rental-tab.active{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;box-shadow:0 4px 12px #ff6b354d}.rental-prompt{text-align:center;padding:40px 24px 24px}.rental-prompt p{color:#495057;font-size:16px;line-height:1.6;margin-bottom:28px}.scan-btn{display:block;margin:0 auto;background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;border:none;border-radius:14px;padding:18px 48px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #ff6b354d;transition:all .2s}.scan-btn:hover{box-shadow:0 8px 20px #ff6b3566}.scan-btn:active{transform:scale(.98)}.manual-form{margin-top:36px;display:flex;gap:8px;max-width:320px;margin-left:auto;margin-right:auto}.manual-form input{flex:1;padding:12px 14px;border:2px solid #e9ecef;border-radius:10px;font-size:14px;outline:none;transition:border-color .2s}.manual-form input:focus{border-color:#ff6b35}.manual-form button{padding:12px 20px;background:#6c757d;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.rental-error{margin:24px 16px;background:#fff5f5;border:2px solid #ffdddd;border-radius:16px;padding:32px 20px;text-align:center}.rental-error p{color:#dc3545;font-size:15px;margin-bottom:20px;line-height:1.5}.retry-btn{background:#dc3545;color:#fff;border:none;padding:12px 32px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.rental-success{margin:24px 16px;background:#d1f4e8;border:2px solid #a8e6d0;border-radius:16px;padding:36px 20px;text-align:center}.rental-success h3{color:#0ca678;font-size:24px;margin-bottom:20px;font-weight:700}.rental-success p{color:#212529;font-size:15px;margin-bottom:8px}.done-btn{margin-top:20px;background:#20c997;color:#fff;border:none;padding:14px 40px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.done-btn:active{transform:scale(.98)}.rental-list{padding:12px 16px}.rental-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:10px;box-shadow:0 2px 8px #0000000a;border:2px solid #f1f3f5;border-top:4px solid #FF6B35;transition:all .2s}.rental-card:hover{box-shadow:0 4px 12px #00000014}.rental-card.clickable{cursor:pointer}.rental-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3526;border-color:#ff6b35}.rental-card.clickable:active{transform:translateY(0)}.rental-card.returned{border-top-color:#20c997;opacity:.8}.rental-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rental-card-header h3{font-size:16px;color:#212529;font-weight:600}.rental-status{font-size:12px;font-weight:700;padding:4px 12px;border-radius:16px}.rental-status.active{background:#ffe8de;color:#ff6b35}.rental-status.returned{background:#d1f4e8;color:#0ca678}.rental-card p{font-size:14px;color:#6c757d;margin-bottom:4px}.return-hint{margin-top:8px;font-size:12px;color:#ff6b35;font-weight:600;text-align:center;padding-top:8px;border-top:1px dashed #FFB89A}.return-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.return-modal-card{background:#fff;border-radius:20px;padding:32px 24px 24px;max-width:360px;width:100%;box-shadow:0 10px 40px #0000004d}.return-modal-card h3{font-size:20px;font-weight:700;color:#212529;text-align:center;margin-bottom:24px}.return-item-info{background:#f8f9fa;border-radius:14px;padding:20px;margin-bottom:24px}.return-item-name{font-size:18px;font-weight:700;color:#212529;margin-bottom:12px;text-align:center}.return-item-detail{font-size:14px;color:#6c757d;margin-bottom:6px;text-align:center}.return-item-date{font-size:13px;color:#495057;margin-bottom:4px;text-align:center}.return-modal-btns{display:flex;gap:10px}.return-modal-btns button{flex:1;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.return-modal-btns button:disabled{opacity:.6;cursor:not-allowed}.return-cancel-btn{background:#6c757d;color:#fff}.return-cancel-btn:active:not(:disabled){transform:scale(.98)}.return-confirm-btn{background:linear-gradient(135deg,#20c997,#17a589);color:#fff;box-shadow:0 4px 12px #20c9974d}.return-confirm-btn:active:not(:disabled){transform:scale(.98)}.admin-add-btn{background:#20c997;color:#fff;border:none;padding:8px 16px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.admin-add-btn:active{transform:scale(.96)}.admin-sub-tabs{display:flex;gap:0;padding:8px 16px}.admin-sub-tab{flex:1;padding:12px;background:#f8f9fa;border:none;font-size:14px;font-weight:700;color:#6c757d;cursor:pointer;text-align:center;transition:all .2s}.admin-sub-tab:first-child{border-radius:10px 0 0 10px}.admin-sub-tab:last-child{border-radius:0 10px 10px 0}.admin-sub-tab.active{background:#ff6b35;color:#fff}.admin-form-card{background:#fff;margin:12px 16px;border-radius:14px;padding:18px;box-shadow:0 2px 10px #0000000f;border:2px solid #f1f3f5}.admin-form-card input,.admin-form-card select{width:100%;padding:12px 14px;margin-bottom:12px;border:2px solid #e9ecef;border-radius:10px;font-size:15px;outline:none;background:#fff;transition:border-color .2s}.admin-form-card input:focus,.admin-form-card select:focus{border-color:#ff6b35}.admin-form-btns{display:flex;gap:10px;margin-top:8px}.admin-form-btns button{flex:1;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .1s}.admin-save-btn{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;box-shadow:0 4px 10px #ff6b3540}.admin-save-btn:active{transform:scale(.98)}.admin-cancel-btn{background:#6c757d;color:#fff}.admin-list{padding:8px 16px 16px}.admin-item-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000a;border:2px solid #f1f3f5;transition:all .2s}.admin-item-card:hover{box-shadow:0 4px 12px #00000014}.admin-item-info h3{font-size:15px;color:#212529;margin-bottom:4px;font-weight:600}.admin-item-info p{font-size:13px;color:#6c757d;margin-bottom:2px}.admin-status.정상{color:#20c997;font-weight:700}.admin-status.폐기{color:#dc3545;font-weight:700}.admin-status.분실{color:#fd7e14;font-weight:700}.admin-item-actions{display:flex;gap:6px;flex-shrink:0}.admin-item-actions button{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:700;color:#fff;cursor:pointer;transition:all .1s}.admin-item-actions button:active{transform:scale(.95)}.btn-qr{background:#8e44ad}.btn-edit{background:#ff8c42}.btn-delete{background:#dc3545}.admin-cat-card{background:#fff;border-radius:14px;padding:18px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000a;border:2px solid #f1f3f5;transition:all .2s}.admin-cat-card:hover{box-shadow:0 4px 12px #00000014}.admin-cat-card h3{font-size:16px;color:#212529;font-weight:600}.qr-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qr-modal-card{background:#fff;border-radius:20px;padding:36px 28px 28px;text-align:center;max-width:320px;width:90%;box-shadow:0 10px 40px #0000004d}.qr-modal-card h3{margin-bottom:20px;color:#212529;font-size:18px;font-weight:700}.qr-uuid{margin-top:12px;font-size:11px;color:#6c757d;word-break:break-all;font-family:Courier New,monospace}.qr-close-btn{margin-top:20px;padding:12px 32px;background:#ff6b35;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.qr-close-btn:active{transform:scale(.98)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans KR,sans-serif;background-color:#f8f9fa;color:#212529}.app-container{max-width:480px;margin:0 auto;min-height:100vh;background:#fff;padding-bottom:68px;position:relative;box-shadow:0 0 20px #0000000d}.page-header{background:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #00000014}.page-header h2{font-size:18px;font-weight:700;background:linear-gradient(135deg,#ff6b35,#ff8c42);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading{text-align:center;padding:48px 20px;color:#6c757d;font-size:15px}.empty-text{text-align:center;padding:48px 20px;color:#adb5bd;font-size:15px}.back-btn{background:none;border:none;color:#ff6b35;font-size:15px;font-weight:600;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:4px;transition:opacity .2s}.back-btn:active{opacity:.7}.logout-btn{background:linear-gradient(135deg,#ff6b35,#ff8c42);border:none;color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #ff6b3533}.logout-btn:active{transform:scale(.96)}
