@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap";:root{--brand:#e8601c;--brand-dark:#c04e12;--brand-light:#fef0e8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body,#root{color:#1a1a18;background:#f4f2ee;min-height:100vh;font-family:DM Sans,sans-serif}.m-app{background:#f4f2ee;flex-direction:column;min-height:100vh;display:flex}.m-header{z-index:100;background:#fff;border-bottom:1px solid #e8e5df;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.m-header-logo{align-items:center;gap:10px;display:flex}.m-header-name{color:#1a1a18;font-size:15px;font-weight:600;line-height:1.2}.m-logout{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:8px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:13px}.m-main{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex}.m-search-wrap{z-index:99;background:#f4f2ee;padding:10px 16px 0;position:sticky;top:69px}.m-search{color:#1a1a18;background:#fff;border:1px solid #ddd;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px}.m-search:focus{border-color:var(--brand)}.m-section-title{color:#888;text-transform:uppercase;letter-spacing:.04em;padding:4px 0;font-size:12px;font-weight:600}.m-empty{text-align:center;color:#aaa;padding:32px 0;font-size:14px}.m-card{background:#fff;border:1px solid #e8e5df;border-radius:12px;overflow:hidden}.m-card-main{cursor:pointer;padding:14px 16px;transition:background .1s}.m-card-main:hover{background:#fafaf8}.m-card-main:active{background:#f4f2ee}.m-card-name{color:#1a1a18;margin-bottom:3px;font-size:16px;font-weight:600}.m-card-address{color:#666;margin-bottom:8px;font-size:13px}.m-card-meta{flex-wrap:wrap;gap:6px;display:flex}.m-badge{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.m-card-actions{border-top:1px solid #f0eee9;display:flex}.m-action-btn{cursor:pointer;color:#555;background:0 0;border:none;border-right:1px solid #f0eee9;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:background .1s;display:flex}.m-action-btn:last-child{border-right:none}.m-action-btn:hover{background:#f4f2ee}.m-action-btn.call{color:#27500a}.m-action-btn.nav{color:#0c447c}.m-form-page{background:#f4f2ee;flex-direction:column;min-height:100vh;display:flex}.m-form-topbar,.m-detail-header{z-index:100;background:#fff;border-bottom:1px solid #e8e5df;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.m-form-title{color:#1a1a18;font-size:17px;font-weight:600}.m-back-btn{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:22px;line-height:1}.m-back-btn:hover{color:#1a1a18}.m-form-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex}.m-customer-info{background:#fff;border:1px solid #e8e5df;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.m-customer-info-name{color:#1a1a18;font-size:17px;font-weight:600}.m-customer-info-sub{color:#666;font-size:13px}.m-customer-info-button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.m-customer-info-button:hover .m-customer-info-name{text-decoration:underline}.m-field{flex-direction:column;gap:6px;display:flex}.m-label{color:#444;font-size:13px;font-weight:600}.m-input{color:#1a1a18;background:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .12s}.m-input:focus{border-color:var(--brand)}.m-select{color:#1a1a18;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px}.m-select:focus{border-color:var(--brand)}.m-textarea{color:#1a1a18;resize:vertical;background:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;min-height:100px;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .12s}.m-textarea:focus{border-color:var(--brand)}.m-btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:background .15s}.m-btn-primary:hover{background:var(--brand-dark)}.m-btn-secondary{color:#444;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;padding:13px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:background .15s}.m-btn-secondary:hover{background:#f4f2ee}.m-radio-group{flex-direction:column;gap:10px;display:flex}.m-radio-row{color:#444;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.m-radio-row input[type=radio]{accent-color:var(--brand);width:18px;height:18px}.m-canvas-wrap{background:#fff;border:1.5px solid #ddd;border-radius:10px;position:relative;overflow:hidden}.m-canvas-wrap canvas{touch-action:none;width:100%;height:auto;display:block}.m-canvas-clear{cursor:pointer;color:#666;background:#ffffffe6;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:12px;position:absolute;top:8px;right:8px}.m-photo-btn{color:#666;cursor:pointer;background:#fff;border:1.5px dashed #ddd;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s;display:flex}.m-photo-btn:hover{border-color:var(--brand);color:var(--brand)}.m-photo-preview{object-fit:cover;border-radius:10px;width:100%;max-height:240px}.m-customer-detail-card{background:#fff;border:1px solid #e8e5df;border-radius:12px;overflow:hidden}.m-customer-detail-row{border-bottom:1px solid #f0eee9;gap:12px;padding:11px 16px;font-size:13px;display:flex}.m-customer-detail-row:last-child{border-bottom:none}.m-customer-detail-label{color:#888;flex-shrink:0;width:110px;font-weight:500}.m-customer-detail-value{color:#1a1a18;flex:1}.m-log-entry{background:#fff;border:1px solid #e8e5df;border-radius:10px;padding:12px 14px;font-size:13px}.m-log-date{color:#1a1a18;font-size:13px;font-weight:600}.m-log-author{color:#555;margin-bottom:4px;font-size:12px;font-weight:500}.m-log-note{color:#666;font-size:13px;line-height:1.5}.m-login-page{background:#f4f2ee;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.m-login-card{background:#fff;border:1px solid #e8e5df;border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:32px 24px;display:flex}.m-login-logo{align-items:center;gap:12px;margin-bottom:8px;display:flex}.m-login-name{color:#1a1a18;font-size:15px;font-weight:600}.m-login-sub{color:#aaa;font-size:12px}.m-login-error{color:#993c1d;background:#fef0ee;border:1px solid #f5c4b3;border-radius:8px;padding:10px 14px;font-size:13px}.modal-bg{z-index:300;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:20px 20px 0 0;flex-direction:column;gap:14px;width:100%;max-height:90vh;padding:24px 20px;animation:.2s slideUp;display:flex;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-title{color:#1a1a18;font-size:17px;font-weight:700}.close-btn{cursor:pointer;color:#888;background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.form-section{flex-direction:column;gap:6px;display:flex}.form-section label{color:#444;font-size:13px;font-weight:600;display:block}.form-section input[type=text],.form-section input[type=date],.form-section select,.form-section textarea{color:#1a1a18;background:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{border-color:var(--brand)}.form-section textarea{resize:vertical;min-height:80px}.checkbox-row{color:#444;cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0;margin-top:2px}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-row{color:#444;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.radio-row input[type=radio]{accent-color:var(--brand);width:18px;height:18px}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:13px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{color:#444;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;flex:1;padding:13px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500}.btn-secondary:hover{background:#f4f2ee}.btn-row{gap:10px;margin-top:4px;display:flex}.fp-page{background:#f4f2ee;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.fp-card{background:#fff;border:1px solid #e8e5df;border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:380px;padding:40px 36px;display:flex}.fp-card.fp-mobile{gap:14px;max-width:360px;padding:32px 24px}.fp-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:4px;display:flex}.fp-logo img{object-fit:cover;border-radius:10px;width:40px;height:40px}.fp-mobile .fp-logo img{border-radius:12px;width:48px;height:48px}.fp-logo-name{color:#1a1a18;font-size:15px;font-weight:600;line-height:1.2}.fp-logo-sub{color:#aaa;font-size:11px}.fp-mobile .fp-logo-sub{font-size:12px}.fp-heading{text-align:center;color:#1a1a18;font-family:Jura,sans-serif;font-size:22px}.fp-mobile .fp-heading{font-family:DM Sans,sans-serif;font-size:20px;font-weight:700}.fp-sub{text-align:center;color:#999;margin-top:-12px;font-size:13px;line-height:1.5}.fp-mobile .fp-sub{margin-top:0}.fp-error{color:#993c1d;text-align:center;background:#fef0ee;border:1px solid #f5c4b3;border-radius:8px;padding:10px 14px;font-size:13px}.fp-field{flex-direction:column;gap:6px;display:flex}.fp-field label{color:#444;font-size:13px;font-weight:500}.fp-mobile .fp-field label{display:none}.fp-input{color:#1a1a18;background:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .12s}.fp-mobile .fp-input{padding:11px 14px}.fp-input:focus{border-color:#e8601c}.fp-btn{color:#fff;cursor:pointer;background:#e8601c;border:none;border-radius:8px;width:100%;margin-top:4px;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:background .15s}.fp-mobile .fp-btn{border-radius:10px;margin-top:0;padding:14px;font-size:15px}.fp-btn:hover:not(:disabled){background:#c04e12}.fp-btn:disabled{cursor:not-allowed;background:#ccc}.fp-link{text-align:center;color:#e8601c;cursor:pointer;background:0 0;border:none;font-family:DM Sans,sans-serif;font-size:12px;text-decoration:underline}.fp-pin-row{justify-content:center;gap:8px;display:flex}.fp-pin-box{text-align:center;color:#1a1a18;caret-color:#0000;background:#fff;border:1.5px solid #ddd;border-radius:8px;outline:none;width:44px;height:52px;font-family:DM Sans,sans-serif;font-size:22px;font-weight:600;transition:border-color .12s,box-shadow .12s}.fp-pin-box:focus{border-color:#e8601c;box-shadow:0 0 0 3px #e8601c1f}.fp-mobile .fp-pin-box{width:40px;height:48px;font-size:20px}.fp-success{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.fp-success-title{color:#1a1a18;font-family:Jura,sans-serif;font-size:22px}.fp-mobile .fp-success-title{font-family:DM Sans,sans-serif;font-size:20px;font-weight:700}.fp-success-text{color:#666;font-size:13px;line-height:1.6}.toast{color:#fff;z-index:1000;white-space:nowrap;border-radius:10px;align-items:center;gap:10px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;animation:.18s toastSlideUp;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.toast--success{background:#1e4620}.toast--error{background:#7b1d1d}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}
