:root{--primary-color: #4CAF50;--primary-dark: #388E3C;--primary-light: #81C784;--error-color: #f44336;--warning-color: #ff9800;--bg-color: #f5f5f5;--card-bg: #ffffff;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--shadow: 0 2px 4px rgba(0,0,0,.1);--shadow-lg: 0 4px 8px rgba(0,0,0,.15)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-primary);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:active{transform:scale(.98)}input,textarea,select{font-family:inherit;font-size:16px;border:1px solid var(--border-color);border-radius:4px;padding:8px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-color)}.container{max-width:600px;margin:0 auto;padding:16px}.card{background:var(--card-bg);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--text-secondary);color:#fff}.btn-danger{background:var(--error-color);color:#fff}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.header{background:var(--primary-color);color:#fff;padding:16px;box-shadow:var(--shadow)}.header h1{font-size:20px;font-weight:600}.low-confidence{border:2px solid var(--warning-color)!important;background-color:#fff3e0}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#ffebee;color:var(--error-color);padding:12px;border-radius:4px;margin:16px 0;border-left:4px solid var(--error-color)}.success-message{background:#e8f5e9;color:var(--primary-dark);padding:12px;border-radius:4px;margin:16px 0;border-left:4px solid var(--primary-color)}video{width:100%;max-width:100%;border-radius:8px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:var(--card-bg);border-radius:8px;padding:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.home-page{min-height:100vh}.mode-selection{margin:24px 0}.mode-selection h2{font-size:18px;margin-bottom:16px;color:var(--text-primary)}.mode-card{background:var(--card-bg);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow);cursor:pointer;transition:all .2s ease;border:2px solid transparent}.mode-card:active{transform:scale(.98)}.mode-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.mode-icon{font-size:48px;margin-bottom:12px}.mode-card h3{font-size:20px;margin-bottom:8px;color:var(--text-primary)}.mode-desc{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.mode-features{display:flex;gap:8px;flex-wrap:wrap}.feature-tag{background:var(--primary-light);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.quick-actions{display:flex;flex-direction:column;gap:12px;margin:24px 0}.info-card{background:#e3f2fd;border-radius:8px;padding:16px;margin-top:24px;border-left:4px solid #2196F3}.info-card h4{color:#1976d2;margin-bottom:12px;font-size:16px}.info-card ul{list-style:none;padding:0}.info-card li{margin-bottom:8px;font-size:14px;line-height:1.5;color:var(--text-primary)}.info-card strong{color:#1976d2}.item-library-page{min-height:100vh;padding-bottom:32px}.back-btn{background:transparent;color:#fff;padding:8px 12px;border-radius:4px;font-size:16px;margin-bottom:8px}.search-bar{margin:16px 0}.search-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:16px}.items-list{margin-top:16px}.item-card{background:var(--card-bg);border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:16px}.item-info{flex:1}.item-info h3{font-size:16px;margin-bottom:8px;color:var(--text-primary)}.item-meta{font-size:13px;color:var(--text-secondary);display:flex;gap:12px;align-items:center;margin-bottom:4px}.category-tag{background:var(--primary-light);color:#fff;padding:2px 8px;border-radius:8px;font-size:11px}.aliases{font-size:12px;color:var(--text-secondary);margin-top:4px}.item-actions{display:flex;gap:8px}.btn-icon{background:var(--bg-color);border:none;padding:8px 12px;border-radius:6px;font-size:20px;cursor:pointer}.btn-icon:active{transform:scale(.95)}.empty-state{text-align:center;padding:48px 16px;color:var(--text-secondary)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--text-primary)}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions button{flex:1}.qr-modal{text-align:center}.qr-display{margin:24px 0}.qr-display img{width:200px;height:200px;margin:0 auto 16px;display:block}.qr-hint{font-size:14px;color:var(--text-secondary);line-height:1.6}.label-scan-page{min-height:100vh;background:#000}.scan-container{max-width:600px;margin:0 auto}.video-container{position:relative;width:100%;background:#000}.video-container video{width:100%;display:block}.scan-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.scan-frame{position:relative;border:2px solid rgba(76,175,80,.8);background:#4caf501a}.qr-frame{width:250px;height:250px}.price-frame{width:200px;height:80px}.scan-frame .corner{position:absolute;width:20px;height:20px;border:3px solid #4CAF50}.corner.tl{top:-3px;left:-3px;border-right:none;border-bottom:none}.corner.tr{top:-3px;right:-3px;border-left:none;border-bottom:none}.corner.bl{bottom:-3px;left:-3px;border-right:none;border-top:none}.corner.br{bottom:-3px;right:-3px;border-left:none;border-top:none}.scan-hint{color:#fff;background:#000000b3;padding:12px 24px;border-radius:8px;margin-top:24px;font-size:16px}.scanned-item-info{background:var(--card-bg);padding:24px 16px;text-align:center}.scanned-item-info h3{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.item-name{font-size:20px;font-weight:600;color:var(--primary-color);margin-bottom:24px}.action-buttons{display:flex;flex-direction:column;gap:12px;max-width:400px;margin:0 auto}.review-container{padding:16px;background:var(--bg-color);min-height:calc(100vh - 60px)}.review-field{margin-bottom:20px}.review-field label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.field-value{font-size:18px;color:var(--text-primary);padding:8px 0}.warning-badge{background:var(--warning-color);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;margin-left:8px;font-weight:500}.confidence-text{font-size:12px;color:var(--text-secondary);margin-top:4px}.review-actions{display:flex;gap:12px;margin-top:24px}.review-actions button{flex:1}.receipt-scan-page{min-height:100vh;padding-bottom:32px}.info-banner{background:#fff3e0;border-left:4px solid var(--warning-color);padding:12px;border-radius:4px;margin-bottom:24px}.info-banner p{font-size:13px;line-height:1.5;color:var(--text-primary);margin:0}.capture-section{text-align:center}.capture-placeholder{background:var(--card-bg);border:2px dashed var(--border-color);border-radius:12px;padding:48px 24px;margin-bottom:24px}.placeholder-icon{font-size:64px;margin-bottom:16px}.capture-placeholder p{color:var(--text-secondary);font-size:16px}.preview-section{margin-bottom:24px}.image-preview{background:var(--card-bg);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.image-preview img{width:100%;border-radius:4px;display:block}.preview-actions{display:flex;gap:12px}.preview-actions button{flex:1}.processing-section{text-align:center;padding:48px 24px}.processing-text{font-size:18px;font-weight:600;color:var(--text-primary);margin:24px 0 16px}.progress-bar{background:var(--border-color);height:8px;border-radius:4px;overflow:hidden;margin:0 auto 8px;max-width:300px}.progress-fill{background:var(--primary-color);height:100%;transition:width .3s ease}.progress-text{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.processing-hint{font-size:13px;color:var(--text-secondary);font-style:italic}.tips-section{background:var(--card-bg);border-radius:8px;padding:16px;margin-top:24px;box-shadow:var(--shadow)}.tips-section h3{font-size:16px;color:var(--text-primary);margin-bottom:12px}.tips-section ul{list-style:none;padding:0;margin:0}.tips-section li{font-size:14px;color:var(--text-secondary);margin-bottom:8px;padding-left:20px;position:relative}.tips-section li:before{content:"•";position:absolute;left:8px;color:var(--primary-color)}.review-page{min-height:100vh;padding-bottom:32px}.mode-badge{background:var(--primary-light);color:#fff;padding:8px 16px;border-radius:8px;display:inline-block;margin-bottom:16px;font-weight:600}.items-review-list{margin-bottom:16px}.item-review-card{background:var(--card-bg);border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow);border:2px solid transparent}.low-confidence-card{border-color:var(--warning-color);background:#fff8e1}.item-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.item-number{font-weight:600;color:var(--primary-color)}.delete-btn{background:transparent;border:none;font-size:18px;padding:4px;cursor:pointer;margin-left:auto}.form-row{display:flex;gap:8px;margin-bottom:12px}.form-group{flex:1;min-width:0}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.form-group input,.form-group select{width:100%}.flex-1{flex:1}.btn-library{background:var(--primary-light);color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:18px;cursor:pointer;align-self:flex-end;margin-bottom:0}.item-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border-color);font-size:13px}.subtotal{font-weight:600;color:var(--text-primary)}.confidence{color:var(--text-secondary);font-size:11px}.note-section{margin:24px 0}.note-section label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.note-section textarea{width:100%;resize:vertical}.summary-section{background:var(--card-bg);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.summary-row.total{border-top:2px solid var(--border-color);margin-top:8px;padding-top:12px;font-size:18px;color:var(--primary-color)}.btn-lg{padding:16px 24px;font-size:18px}.search-input{width:100%;margin-bottom:16px}.picker-list{max-height:400px;overflow-y:auto;margin-bottom:16px}.picker-item{padding:12px;border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .2s}.picker-item:hover{background:var(--bg-color);border-color:var(--primary-color)}.picker-item:active{transform:scale(.98)}.picker-item-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.history-page{min-height:100vh;padding-bottom:32px}.sessions-list{margin-top:16px}.session-card{background:var(--card-bg);border-radius:8px;margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}.session-header{padding:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;transition:background .2s}.session-header:hover{background:var(--bg-color)}.session-info{flex:1}.session-date{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.session-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.mode-tag{background:var(--primary-light);color:#fff;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}.session-total{font-weight:600;color:var(--primary-color)}.session-note{margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.session-actions{display:flex;gap:8px}.expand-btn{background:var(--bg-color);border:none;padding:8px 12px;border-radius:6px;font-size:14px;color:var(--text-secondary);cursor:pointer}.session-details{border-top:1px solid var(--border-color);padding:16px;background:var(--bg-color)}.items-table{margin-bottom:16px}.item-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-color);align-items:center}.item-row:last-child{border-bottom:none}.item-name{font-size:14px;color:var(--text-primary)}.item-detail{font-size:13px;color:var(--text-secondary)}.item-subtotal{font-size:14px;font-weight:600;color:var(--text-primary);text-align:right}.session-footer{display:flex;justify-content:flex-end;padding-top:12px}.empty-state{text-align:center;padding:64px 16px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.stats-section{background:var(--card-bg);border-radius:8px;padding:16px;margin-top:24px;box-shadow:var(--shadow)}.stats-section h3{font-size:16px;margin-bottom:16px;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-item{text-align:center}.stat-value{font-size:24px;font-weight:600;color:var(--primary-color);margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary)}
