/* Screen layout: consistent type scale and touch targets. */
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf2fa;background:#0c111b;font-synthesis:none;color-scheme:dark;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}input,select,textarea{font-size:16px;min-width:0}button{cursor:pointer;min-height:44px;border:1px solid #354155;background:#1c2738;color:#edf2fa;border-radius:10px;padding:10px 14px;font-weight:600;line-height:1.3}button:disabled{opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #91b6ff;outline-offset:3px}[hidden]{display:none!important}.shell{max-width:1120px;margin:auto;padding:28px 24px 48px}.header,.brand,.toolbar,.section-heading,.modal-head,.modal-actions,.backup-actions{display:flex;align-items:center;gap:16px}.header,.section-heading,.modal-head{justify-content:space-between}.header{margin-bottom:32px;flex-wrap:wrap}.brandmark{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#386cf8;font-size:28px}.brand strong{display:block;font-size:22px;line-height:1.3}.brand small{display:block;color:#a7b4c8;font-size:13px;margin-top:3px}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.3px;color:#91b0ff}h1{font-size:40px;line-height:1.15;letter-spacing:-1px;margin:10px 0 12px}h2{font-size:24px;line-height:1.3;margin:6px 0}h3{font-size:20px;line-height:1.35;margin:20px 0 8px}p{color:#a7b4c8;line-height:1.6}.hero p{margin:0}.dot{color:#7098ff}.primary{background:#386cf8;border-color:#386cf8;color:white}.primary:hover{background:#4e7eff}.secondary:hover{background:#293951}.appnav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:32px}.stat{background:#151e2c;border:1px solid #29364a;border-radius:16px;padding:20px}.stat span{display:block;color:#a7b4c8;font-size:14px}.stat strong{display:block;font-size:32px;line-height:1.3;margin-top:8px}.section-heading{margin-bottom:20px;align-items:end}.toolbar input{width:230px}.toolbar select{width:185px}input:not([type=checkbox]),select,textarea{color:#f4f7ff;background:#101a28;border:1px solid #40516c;padding:12px;border-radius:10px;min-height:48px}textarea{resize:vertical}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.item{background:#151e2c;border:1px solid #29364a;border-radius:16px;padding:20px;min-width:0}.item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-icon{display:grid;place-items:center;background:#283b5d;width:44px;height:44px;border-radius:12px;font-size:22px}.status{border-radius:99px;padding:5px 10px;font-size:13px;background:#173b2d;color:#8ae9b8}.status.loaned{color:#ffd59a;background:#553d20}.item h3,.meta,.notes{overflow-wrap:anywhere}.meta{font-size:14px;margin:0}.notes{font-size:14px;white-space:pre-wrap;min-height:44px}.item-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #2b3649;padding-top:16px;margin-top:16px}.item-footer button{font-size:14px;padding:9px 8px}.danger{color:#ffb7b1}.empty{text-align:center;padding:32px 16px;background:#141e2d;border-radius:15px}.backup{margin-top:32px;border:1px solid #2c3a51;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:22px;gap:24px}.backup p{font-size:14px;margin:6px 0 0}.backup-actions{flex-shrink:0;flex-wrap:wrap}footer{color:#9aa8bf;text-align:center;margin-top:32px;font-size:13px}dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:18px;border:1px solid #40516c;background:#172232;color:#f0f4fc;box-shadow:0 24px 80px #0009}dialog::backdrop{background:#050b17c9}form{display:grid;gap:18px;padding:0}.modal-head{align-items:start;margin-bottom:18px}.modal-head h2{margin:0;min-width:0;overflow-wrap:anywhere}.modal-head button{flex-shrink:0;width:44px;padding:8px}.modal-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:20px}dialog label:not(.check){display:grid;gap:8px;margin:16px 0;font-size:14px;font-weight:600}form label:not(.check){margin:0}dialog input:not([type=checkbox]),dialog select,textarea{width:100%}.check{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#7098ff}.detail-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;border-bottom:1px solid #334155;padding:14px 0;overflow-wrap:anywhere;font-size:15px}.detail-qr{display:block;width:200px;max-width:100%;margin:24px auto;border-radius:12px}#camera{width:100%;max-height:40dvh;background:#020617;border-radius:14px}#labelItems{max-height:35dvh;overflow:auto;margin:18px 0}#labelItems label{padding:8px}#toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#2563eb;color:white;padding:12px 18px;border-radius:12px;z-index:99;width:max-content;max-width:calc(100% - 32px);font-size:15px}#toast:empty,#printArea{display:none}.install-help{padding:16px;border:1px solid #426195;background:#172b49;border-radius:14px;margin:0 0 24px}.install-help p{margin:6px 0 0;color:#c0d2ee;font-size:14px}
@media screen and (max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:stretch;flex-direction:column}.toolbar{width:100%}.toolbar input{flex:1;width:0}.backup{align-items:start;flex-direction:column}}
@media screen and (max-width:560px){.shell{padding:20px 16px calc(32px + env(safe-area-inset-bottom))}.header{gap:12px;margin-bottom:24px}.brand small{font-size:12px}.header .install{font-size:14px}.hero{align-items:stretch;flex-direction:column;gap:18px}h1{font-size:32px}.hero p{font-size:15px}.appnav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appnav button{font-size:14px;padding:12px 8px}.stats{gap:8px;margin-bottom:24px}.stat{padding:14px 10px}.stat span{font-size:13px}.stat strong{font-size:28px}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar input,.toolbar select{width:100%;flex:auto;font-size:16px}.grid{grid-template-columns:1fr}.backup{padding:18px}.backup-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}dialog{padding:20px;max-height:calc(100dvh - 24px)}.detail-row{grid-template-columns:1fr;gap:4px}.modal-actions>*{flex:1}.modal-head h2{font-size:22px}}
@media print{@page{size:A4;margin:0}body{background:white!important;color:black!important}body>*{display:none!important}body>#printArea{display:block!important}.label-page{box-sizing:border-box;width:210mm;height:297mm;padding:12.9mm 7mm;display:grid;grid-template-columns:repeat(3,63mm);grid-template-rows:repeat(8,33.9mm);column-gap:3.5mm;break-after:page}.label-page:last-child{break-after:auto}.print-label{box-sizing:border-box;padding:2mm;display:flex;align-items:center;gap:1mm;overflow:hidden;color:black}.print-label img{width:28mm;height:28mm}.print-label svg{width:59mm;height:21mm}.barcode-label{flex-direction:column;gap:0;justify-content:center}.barcode-label .label-text{text-align:center}.label-text small{font-size:6pt}.label-text strong{font-size:8pt}dialog{display:none!important}}
.account-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid #334155;border-radius:14px;margin-bottom:24px}.account-panel p{margin:4px 0 0;font-size:14px}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.category-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #334155;flex-wrap:wrap}.category-row strong{flex:1;min-width:100px;overflow-wrap:anywhere}.backup p{max-width:60ch}@media screen and (max-width:560px){.account-panel{align-items:start;flex-direction:column}.appnav{grid-template-columns:1fr 1fr}.appnav button:last-child{grid-column:1/-1}}@media print{.account-panel{display:none}}

.delete-account-panel{margin-top:24px;padding-top:16px;border-top:1px solid #563440}.delete-account-panel h3{color:#ffb5b5}.danger{background:#802c3a;border-color:#bc4659;color:#fff}.danger:hover{background:#963647}

#otpCode{font-size:22px;letter-spacing:.18em;font-variant-numeric:tabular-nums}#otpEmail{overflow-wrap:anywhere}#authVerifyBtn,#recoverBtn{margin:8px 8px 0 0}
