@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--brand-primary:#022c22;--brand-secondary:#facc15;--brand-bg:#fff;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--color-danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow-x:hidden}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.main-content{flex:1;padding-bottom:80px;overflow-y:auto}.text-brand-primary{color:var(--brand-primary)}.text-brand-secondary{color:var(--brand-secondary)}.text-secondary{color:var(--text-secondary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.w-full{width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.btn{border-radius:8px;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--brand-primary);color:#fff}.btn-primary:active{opacity:.9;transform:scale(.98)}.btn-icon{border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:inline-flex}.btn-icon:active{background-color:var(--bg-tertiary)}.auth-page{background-color:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-logo{color:var(--brand-primary);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.auth-logo img{width:auto;height:40px}.auth-title{text-align:center;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2.5rem;font-size:.9375rem}.form-group{width:100%;margin-bottom:1.5rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-control{border:1px solid var(--border-color);border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--brand-primary)}.password-wrapper{align-items:center;display:flex;position:relative}.password-toggle{color:var(--text-tertiary);position:absolute;right:1rem}.auth-error{color:var(--color-danger);text-align:center;background-color:#fee2e2;border-radius:8px;width:100%;margin-bottom:1.5rem;padding:.75rem;font-size:.875rem}.top-bar button svg,.nav-item.active{color:var(--brand-primary)}.nav-item.active:after{background-color:var(--brand-secondary)}.scan-button{border-color:var(--brand-secondary)}.scan-button-inner{background-color:#fef9c3}.action-icon{color:var(--brand-primary)}.overlay{z-index:40;opacity:0;pointer-events:none;background-color:#0006;transition:opacity .3s;position:fixed;inset:0}.overlay.visible{opacity:1;pointer-events:auto}.bottom-nav{border-top:1px solid var(--border-color);z-index:30;background-color:#fff;justify-content:space-around;align-items:center;height:70px;padding:0 10px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;margin-top:4px;font-size:.7rem;display:flex;position:relative}.nav-item svg{margin-bottom:4px}.nav-item.active:after{content:"";border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-10px;left:30%;right:30%}.scan-button-container{flex:1;justify-content:center;align-items:center;display:flex}.scan-button{border:2px solid var(--brand-secondary);width:64px;height:64px;color:var(--text-primary);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;margin-top:-30px;display:flex;box-shadow:0 4px 10px #0000001a}.scan-button-inner{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.top-bar{border-bottom:1px solid var(--border-color);background-color:#fff;align-items:center;padding:1rem;display:flex}.top-bar-title{text-align:center;flex:1;font-size:1.125rem;font-weight:600}.search-container{border-bottom:1px solid var(--border-color);background-color:#fff;gap:.75rem;padding:1rem;display:flex}.search-input-wrapper{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex:1;align-items:center;padding:.5rem .75rem;display:flex}.search-input-wrapper:focus-within{border-color:var(--brand-secondary);background-color:#fff}.search-input{background:0 0;border:none;outline:none;width:100%;margin-left:.5rem;font-size:.875rem}.filter-btn{border:1px solid var(--border-color);color:var(--brand-primary);background-color:#fff;border-radius:8px;justify-content:center;align-items:center;padding:.5rem .75rem;display:flex}.asset-list{background-color:#fff}.asset-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;padding:1rem;transition:background-color .2s;display:flex}.asset-item:active{background-color:var(--bg-secondary)}.asset-image{object-fit:cover;background-color:var(--bg-tertiary);border-radius:4px;width:56px;height:56px;margin-right:1rem}.asset-image-placeholder{border-radius:4px;width:56px;height:56px;margin-right:1rem}.asset-details{flex:1}.asset-name{color:#333;margin-bottom:.25rem;font-weight:500}.asset-id{color:var(--text-secondary);font-size:.75rem}.action-sheet{z-index:50;padding-bottom:env(safe-area-inset-bottom);background-color:#fff;border-radius:16px 16px 0 0;transition:transform .3s cubic-bezier(.175,.885,.32,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.action-sheet.open{transform:translateY(0)}.action-item{border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:left;align-items:center;width:100%;padding:1.25rem 1.5rem;font-size:1rem;display:flex}.action-item:last-child{border-bottom:none}.action-icon{margin-right:1rem}.cancel-btn{width:calc(100% - 2rem);color:var(--text-primary);text-align:center;box-shadow:0 0 0 1px var(--border-color);background-color:#fff;border-radius:12px;margin:1rem;padding:1rem;font-weight:600;display:block}
