.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;padding:20px}.auth-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:48px 40px;width:100%;max-width:420px}.auth-title{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300;color:#d4af37;letter-spacing:.1em;text-align:center;margin-bottom:8px}.auth-jp{font-size:.75rem;font-weight:300;color:#d4af37;text-align:center;margin-bottom:6px;letter-spacing:.3em;opacity:.8}.auth-subtitle{font-size:.85rem;font-weight:300;color:#888;text-align:center;margin-bottom:40px;letter-spacing:.05em}.error{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);color:#fca5a5;padding:12px;border-radius:6px;font-size:.875rem;margin-bottom:24px;text-align:center}.auth-form,.form-group{margin-bottom:24px}.form-group label{display:block;font-size:.875rem;font-weight:300;color:#ccc;margin-bottom:8px;letter-spacing:.02em}.form-group input{width:100%;padding:12px 16px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#fff;font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.form-group input::placeholder{color:#555}.form-group input:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 1px #d4af371a}.btn-primary{background:#d4af37;color:#0a0a0a;font-weight:500;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease;letter-spacing:.02em}.btn-primary:hover:not(:disabled){background:#e8c44d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%;margin-top:8px}.auth-footer{text-align:center;padding-top:24px;border-top:1px solid #2a2a2a}.auth-footer p{font-size:.875rem;font-weight:300;color:#888}.auth-footer a{color:#d4af37;text-decoration:none;font-weight:400;transition:color .2s ease}.auth-footer a:hover{color:#e8c44d;text-decoration:underline}.terms-row{margin:8px 0 24px}.terms-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:#ccc;font-size:.8rem;font-weight:300;line-height:1.5}.terms-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:#d4af37}.terms-label span{flex:1}.customer-list{display:flex;flex-direction:column;gap:8px}.customer-row{display:flex;align-items:center;gap:12px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease}.customer-row:hover{border-color:#d4af37}.customer-photo-sm{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#0a0a0a}.customer-photo-sm img{width:100%;height:100%;object-fit:cover}.photo-placeholder-sm{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#b8941f);color:#0a0a0a;font-size:1.3rem;font-weight:500}.customer-info{flex:1;min-width:0}.customer-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.customer-name{color:#fff;font-size:1rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:500;flex-shrink:0}.status-free{background:rgba(136,136,136,.2);color:#aaa;border:1px solid #444}.status-shimei{background:rgba(212,175,55,.15);color:#d4af37;border:1px solid rgba(212,175,55,.4)}.status-regular{background:rgba(212,175,55,.3);color:#f0d061;border:1px solid #d4af37}.customer-memo{color:#888;font-size:.8rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-voice-btn{width:38px;height:38px;border-radius:50%;background:transparent;border:1px solid #d4af37;color:#d4af37;font-size:1rem;cursor:pointer;flex-shrink:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.row-voice-btn:hover{background:rgba(212,175,55,.15)}.row-voice-btn:active{transform:scale(.95)}.customer-add-container{min-height:100vh;background:#0a0a0a;color:#fff}.add-header{background:#0a0a0a;border-bottom:1px solid #2a2a2a;padding:16px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50}.btn-back{background:transparent;border:none;color:#d4af37;font-size:.95rem;cursor:pointer;padding:4px 8px}.add-header h2{color:#fff;font-size:1.1rem;font-weight:400;margin:0}.add-content{padding:20px 16px;max-width:600px;margin:0 auto}.add-type-selection{padding:20px 16px;display:flex;flex-direction:column;gap:16px;max-width:600px;margin:0 auto}.add-type-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:24px 20px;text-align:center;cursor:pointer;transition:all .2s ease}.add-type-card:hover{border-color:#d4af37;transform:translateY(-2px)}.add-type-icon{font-size:2.5rem;margin-bottom:12px}.add-type-card h3{color:#d4af37;font-size:1.1rem;font-weight:400;margin:0 0 8px;letter-spacing:.05em}.add-type-description{color:#aaa;font-size:.85rem;margin:0 0 12px}.add-type-features{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.add-type-features li{color:#888;font-size:.75rem;background:#0a0a0a;padding:4px 10px;border-radius:12px;border:1px solid #2a2a2a}.form-section{margin-bottom:20px}.form-section label{display:block;color:#ccc;font-size:.85rem;font-weight:300;margin-bottom:8px}.form-section input[type=text],.form-section input[type=number],.form-section input[type=date],.form-section textarea,.form-section select{width:100%;background:#0a0a0a;border:1px solid #333;border-radius:6px;padding:10px 14px;color:#fff;font-size:.95rem;font-family:inherit;box-sizing:border-box}.form-section input:focus,.form-section textarea:focus,.form-section select:focus{outline:none;border-color:#d4af37}.form-section input::placeholder,.form-section textarea::placeholder{color:#555}.photo-upload{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden;background:#0a0a0a;border:1px dashed #444;cursor:pointer}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#555;font-size:.8rem}.photo-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.status-buttons,.check-buttons{display:flex;gap:8px;flex-wrap:wrap}.status-btn,.check-btn{flex:1;background:#0a0a0a;border:1px solid #333;color:#888;padding:10px 8px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease;min-width:70px}.status-btn.active,.check-btn.active{background:rgba(212,175,55,.15);border-color:#d4af37;color:#d4af37}.btn-voice{width:100%;background:#0a0a0a;border:2px solid #d4af37;color:#d4af37;padding:14px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-voice:hover{background:rgba(212,175,55,.1)}.btn-voice.recording{background:#d4af37;color:#0a0a0a;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d4af3799}50%{box-shadow:0 0 0 12px #d4af3700}}.btn-primary{background:#d4af37;color:#0a0a0a;border:none;padding:12px 24px;border-radius:6px;font-weight:500;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#e8c44d}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid #333;color:#ccc;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:.95rem}.btn-secondary:hover{border-color:#d4af37;color:#d4af37}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-full{width:100%}.ai-progress{height:3px;background:#1a1a1a;position:relative}.ai-progress-bar{height:100%;background:#d4af37;transition:width .3s ease}.ai-question{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:20px;margin-bottom:20px;display:flex;gap:12px;align-items:flex-start}.ai-question-icon{font-size:1.5rem;flex-shrink:0}.ai-question-text{color:#fff;font-size:1rem;line-height:1.5;margin:0}.ai-actions{display:flex;gap:12px;margin-top:20px}.ai-actions button{flex:1}.ai-tip{text-align:center;color:#555;font-size:.75rem;margin-top:16px}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input{flex:1}.input-with-unit .unit{color:#888;font-size:.9rem}.visit-add-container{min-height:100vh;background:#0a0a0a;color:#fff}.customer-info-bar{background:#1a1a1a;border:1px solid #d4af37;border-radius:8px;padding:12px 16px;margin-bottom:20px;text-align:center}.customer-info-bar .customer-name{color:#d4af37;font-size:1.1rem;font-weight:500}.group-size-buttons{display:flex;gap:6px;flex-wrap:wrap}.size-btn{width:44px;height:44px;background:#0a0a0a;border:1px solid #333;color:#888;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s ease}.size-btn.active{background:rgba(212,175,55,.15);border-color:#d4af37;color:#d4af37}.current-size{color:#d4af37;font-size:.9rem;margin-top:8px;text-align:center}.check-btn.douhan.active{border-color:#d4af37;background:rgba(212,175,55,.15);color:#d4af37}.check-btn.shimei.active{border-color:#9b87f5;background:rgba(155,135,245,.15);color:#9b87f5}.check-btn.after.active{border-color:#ff9ecd;background:rgba(255,158,205,.15);color:#ff9ecd}.voice-memo-container{min-height:100vh;background:#0a0a0a;color:#fff}.voice-memo-content{padding:20px 16px;max-width:600px;margin:0 auto}.target-customer-card{background:#1a1a1a;border:1px solid #d4af37;border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.target-label{color:#888;font-size:.7rem;letter-spacing:.2em;margin-bottom:4px}.target-name{color:#d4af37;font-size:1.3rem;font-weight:500}.customer-select-tabs{display:flex;gap:6px;margin-bottom:12px}.select-tab{flex:1;background:#0a0a0a;border:1px solid #333;color:#888;padding:10px;border-radius:6px;cursor:pointer;font-size:.85rem}.select-tab.active{background:rgba(212,175,55,.15);border-color:#d4af37;color:#d4af37}.customer-name-input,.customer-select{width:100%;background:#0a0a0a;border:1px solid #333;color:#fff;padding:10px 14px;border-radius:6px;font-size:.95rem;font-family:inherit;box-sizing:border-box}.customer-name-input:focus,.customer-select:focus{outline:none;border-color:#d4af37}.customer-select option{background:#1a1a1a;color:#fff}.recording-area{display:flex;flex-direction:column;align-items:center;gap:16px;margin:32px 0}.big-record-btn{width:120px;height:120px;border-radius:50%;background:#0a0a0a;border:3px solid #d4af37;color:#d4af37;font-size:2.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.big-record-btn:hover{background:rgba(212,175,55,.1)}.big-record-btn.recording{background:#d4af37;color:#0a0a0a;animation:pulse-rec 1.5s ease-in-out infinite}@keyframes pulse-rec{0%,to{box-shadow:0 0 #d4af3799}50%{box-shadow:0 0 0 20px #d4af3700}}.recording-status{text-align:center}.recording-time{color:#d4af37;font-size:1.5rem;font-family:Cormorant Garamond,serif;font-weight:500;margin-bottom:4px}.recording-hint{color:#888;font-size:.85rem}.memo-textarea{width:100%;background:#0a0a0a;border:1px solid #333;color:#fff;padding:12px 14px;border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.memo-textarea:focus{outline:none;border-color:#d4af37}.customer-detail-container{min-height:100vh;background:#0a0a0a;color:#fff;padding-bottom:40px}.detail-header{background:#0a0a0a;border-bottom:1px solid #2a2a2a;padding:16px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50}.detail-header h2{flex:1;color:#fff;font-size:1.1rem;font-weight:400;margin:0}.btn-edit-icon{background:transparent;border:1px solid #d4af37;color:#d4af37;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem}.btn-edit-icon:hover{background:rgba(212,175,55,.15)}.detail-content{padding:20px 16px;max-width:600px;margin:0 auto}.profile-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:24px 20px;text-align:center;margin-bottom:16px}.detail-photo{width:100px;height:100px;border-radius:50%;overflow:hidden;margin:0 auto 16px;background:#0a0a0a}.detail-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder-large{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#b8941f);color:#0a0a0a;font-size:2.5rem;font-weight:500}.profile-card .customer-name{font-size:1.5rem;color:#fff;margin:0 0 8px;font-weight:400}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.stat-item{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:12px 8px;text-align:center}.stat-label{color:#888;font-size:.7rem;margin-bottom:6px}.stat-value{color:#d4af37;font-size:1.05rem;font-weight:500;font-family:Cormorant Garamond,serif}.action-row{display:flex;gap:8px;margin-bottom:24px}.action-btn{flex:1;padding:12px;border-radius:6px;cursor:pointer;font-size:.9rem;border:1px solid #d4af37;background:transparent;color:#d4af37;transition:all .2s ease}.action-btn:hover{background:rgba(212,175,55,.1)}.action-btn.visit{background:#d4af37;color:#0a0a0a}.action-btn.visit:hover{background:#e8c44d}.detail-section{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:16px;margin-bottom:16px}.detail-section h3{color:#d4af37;font-size:.9rem;font-weight:400;margin:0 0 12px;letter-spacing:.05em}.memo-text{color:#ccc;font-size:.9rem;line-height:1.6;white-space:pre-wrap;margin:0}.ai-profile-grid{display:flex;flex-direction:column;gap:8px}.profile-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid #2a2a2a;gap:12px}.profile-row:last-child{border-bottom:none}.profile-row.highlight{background:rgba(212,175,55,.08);padding:10px 12px;border-radius:6px;border-bottom:none;margin-top:4px}.profile-label{color:#888;font-size:.8rem;flex-shrink:0;width:110px}.profile-value{color:#fff;font-size:.9rem;text-align:right;flex:1}.empty-message{color:#666;text-align:center;font-size:.85rem;padding:16px}.visit-list{display:flex;flex-direction:column;gap:12px}.visit-item{background:#0a0a0a;border:1px solid #2a2a2a;border-radius:6px;padding:12px;position:relative}.visit-date{color:#d4af37;font-size:.85rem;margin-bottom:6px;font-weight:500}.visit-tags{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.visit-tag{font-size:.7rem;padding:2px 8px;border-radius:10px}.visit-tag.douhan{background:rgba(212,175,55,.2);color:#d4af37}.visit-tag.shimei{background:rgba(155,135,245,.2);color:#9b87f5}.visit-tag.after{background:rgba(255,158,205,.2);color:#ff9ecd}.visit-sales{color:#fff;font-size:.95rem;font-weight:500;margin-bottom:4px}.visit-memo{color:#aaa;font-size:.8rem;line-height:1.5}.visit-delete-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#666;font-size:.7rem;cursor:pointer;padding:4px 8px}.visit-delete-btn:hover{color:#f87171}.detail-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px}.btn-danger{background:transparent;border:1px solid #7f1d1d;color:#f87171;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:.95rem}.btn-danger:hover{background:rgba(127,29,29,.2)}.edit-form{display:flex;flex-direction:column;gap:12px;align-items:stretch}.edit-name-input{background:#0a0a0a;border:1px solid #333;color:#fff;padding:10px 14px;border-radius:6px;font-size:1rem;text-align:center;width:100%;box-sizing:border-box}.edit-name-input:focus{outline:none;border-color:#d4af37}.edit-memo-textarea{width:100%;background:#0a0a0a;border:1px solid #333;color:#fff;padding:10px 14px;border-radius:6px;font-size:.9rem;font-family:inherit;box-sizing:border-box;resize:vertical}.edit-memo-textarea:focus{outline:none;border-color:#d4af37}.home-container{min-height:100vh;background:#0a0a0a;color:#fff;padding-bottom:100px}.home-header{background:#0a0a0a;border-bottom:1px solid #2a2a2a;padding:16px 20px;position:sticky;top:0;z-index:50}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto}.brand{display:flex;flex-direction:column}.app-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:300;color:#d4af37;letter-spacing:.1em;margin:0;line-height:1}.app-subtitle{font-size:.65rem;color:#888;letter-spacing:.2em;font-weight:300;margin-top:2px}.header-right{display:flex;align-items:center;gap:12px}.user-name{color:#ccc;font-size:.85rem;font-weight:300}.btn-logout{background:transparent;border:1px solid #333;color:#888;padding:6px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.btn-logout:hover{border-color:#d4af37;color:#d4af37}.home-main{padding:20px 16px}.container{max-width:600px;margin:0 auto}.section-label{font-size:.7rem;letter-spacing:.2em;color:#888;font-weight:400;margin-bottom:12px;margin-top:24px;text-transform:uppercase}.summary-section{margin-bottom:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:12px 8px;text-align:center}.summary-label{font-size:.7rem;color:#888;margin-bottom:6px}.summary-value{font-size:1.1rem;font-weight:500;color:#d4af37;font-family:Cormorant Garamond,serif}.alert-section{background:#1a1a1a;border:1px solid rgba(212,175,55,.3);border-radius:8px;padding:16px;margin-bottom:16px;margin-top:16px}.alert-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;justify-content:space-between;align-items:center;background:#0a0a0a;padding:10px 12px;border-radius:6px;cursor:pointer;border:1px solid #2a2a2a;transition:all .2s ease}.alert-item:hover{border-color:#d4af37}.alert-name{color:#fff;font-size:.95rem}.alert-days{color:#d4af37;font-size:.8rem;font-weight:500}.search-section{display:flex;gap:8px;margin:24px 0 12px}.search-input{flex:1;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:10px 14px;color:#fff;font-size:.9rem}.search-input::placeholder{color:#555}.search-input:focus{outline:none;border-color:#d4af37}.btn-add{background:#d4af37;color:#0a0a0a;border:none;padding:10px 16px;border-radius:6px;font-weight:500;cursor:pointer;font-size:.9rem;white-space:nowrap}.btn-add:hover{background:#e8c44d}.filter-tabs{display:flex;gap:6px;margin-bottom:16px}.filter-tab{background:transparent;border:1px solid #2a2a2a;color:#888;padding:6px 12px;border-radius:16px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.filter-tab.active{background:rgba(212,175,55,.15);border-color:#d4af37;color:#d4af37}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{margin:4px 0;font-size:.9rem}.empty-state .empty-sub{color:#555;font-size:.8rem}.error{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);color:#fca5a5;padding:10px 12px;border-radius:6px;font-size:.85rem;margin-bottom:12px}.floating-voice-btn{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:#d4af37;color:#0a0a0a;border:none;font-size:1.6rem;cursor:pointer;box-shadow:0 4px 20px #d4af3766;z-index:100;transition:all .2s ease}.floating-voice-btn:hover{background:#e8c44d;transform:scale(1.05)}.floating-voice-btn:active{transform:scale(.95)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:#0a0a0a;color:#fff;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;background:#0a0a0a}button{font-family:inherit}button:disabled{cursor:not-allowed}button:not(:disabled):active{transform:scale(.98)}a{color:#d4af37;text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{font-family:inherit}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{font-size:16px}
