.survey-container{max-width:600px;margin:0 auto;padding:16px}.survey-header{background:#e91e8c;color:#fff;padding:20px;border-radius:12px;margin-bottom:20px;text-align:center}.header-logo{width:180px;display:block;margin:0 auto 8px}.survey-header h1{font-size:20px;margin-bottom:8px}.survey-header p{font-size:13px;opacity:.9}.survey-form{display:flex;flex-direction:column;gap:20px}.form-group{background:#fff;padding:16px;border-radius:12px;box-shadow:0 1px 4px #00000014;position:relative}.form-group label:first-child{display:block;font-weight:600;font-size:14px;margin-bottom:10px;line-height:1.5}.required,.optional{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:400;margin-bottom:4px}.required{background:#e91e8c;color:#fff}.optional{background:#999;color:#fff}.hint{font-size:12px;color:#888;margin-bottom:8px}input[type=text],textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s}input[type=text]:focus,textarea:focus{border-color:#e91e8c}textarea{resize:vertical}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;list-style:none;z-index:100;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto}.autocomplete-list li{padding:12px 14px;font-size:15px;cursor:pointer;border-bottom:1px solid #f0f0f0}.autocomplete-list li:hover{background:#fce4f3}.radio-label,.checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #eee;border-radius:8px;margin-bottom:8px;font-size:14px;cursor:pointer;transition:background .15s}.radio-label:hover,.checkbox-label:hover{background:#fce4f3}.radio-label input,.checkbox-label input{width:auto;accent-color:#e91e8c}.other-input{margin-top:8px}.error-msg{background:#ffeaea;color:#c00;padding:12px;border-radius:8px;font-size:14px;text-align:center}.submit-btn{background:#e91e8c;color:#fff;border:none;padding:16px;border-radius:12px;font-size:16px;font-weight:600;width:100%;margin-bottom:24px;transition:opacity .2s}.submit-btn:disabled{opacity:.6}.survey-thanks{max-width:600px;margin:60px auto;padding:40px 20px;text-align:center}.thanks-icon{width:72px;height:72px;background:#e91e8c;color:#fff;border-radius:50%;font-size:36px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.survey-thanks h2{font-size:20px;margin-bottom:12px;color:#333}.survey-thanks p{font-size:14px;color:#666;line-height:1.8}.gbp-prompt{margin-top:32px;padding:24px 20px;background:#fff8e1;border:1px solid #ffe082;border-radius:12px}.gbp-prompt-text{font-size:14px;color:#555;line-height:1.8;margin-bottom:16px}.review-preview{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin:16px 0;text-align:left}.review-text{font-size:14px;color:#333;line-height:1.8;white-space:pre-wrap}.gbp-prompt-sub{font-size:13px;color:#888;line-height:1.8;margin-bottom:16px}.gbp-btn{display:inline-block;background:#4285f4;color:#fff;text-decoration:none;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:opacity .2s}.gbp-btn:hover{opacity:.85}.star-rating{display:flex;gap:8px;margin-bottom:8px}.star-btn{background:none;border:none;font-size:40px;color:#ddd;cursor:pointer;padding:0;line-height:1;transition:color .1s,transform .1s}.star-btn.active{color:#f5a623}.star-btn:hover{transform:scale(1.15)}.star-label{font-size:13px;color:#e91e8c;font-weight:600;margin-top:4px}.dash-login{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.dash-login-form{background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 12px #0000001a;text-align:center;width:320px}.dash-login-logo{width:120px;margin-bottom:16px}.dash-login-form h2{font-size:18px;margin-bottom:24px;color:#333}.dash-login-form input{display:block;width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.dash-login-form button{width:100%;padding:10px;background:#e91e8c;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer}.dash-login-error{color:#c62828;font-size:13px;margin-bottom:12px}.dash-loading{text-align:center;padding:60px;color:#999;font-size:16px}.dash-container{max-width:100%;margin:0 auto;padding:20px;zoom:1.2}.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.dash-title{display:flex;align-items:center;gap:14px}.dash-logo{height:48px;width:auto;border-radius:4px}.dash-header h1{font-size:20px;color:#333}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.threshold-setting{display:flex;align-items:center;gap:8px;background:#fff8e1;border:1px solid #ffe082;padding:8px 12px;border-radius:8px}.threshold-label{font-size:13px;color:#555;white-space:nowrap}.threshold-setting select{padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;outline:none}.threshold-setting select:focus{border-color:#e91e8c}.threshold-save-btn{background:#e91e8c;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap;min-width:80px}.threshold-save-btn:disabled{opacity:.6}.download-btn{background:#e91e8c;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600}.summary-period{font-size:13px;color:#888;margin-bottom:8px}.summary-cards{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-start}.summary-card{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 1px 4px #00000014;min-width:120px;text-align:center}.summary-num{font-size:28px;font-weight:700;color:#e91e8c}.summary-pct{font-size:12px;color:#999}.summary-label{font-size:12px;color:#666;margin-top:4px}.modal-legend{display:flex;gap:24px}.modal-legend-section{flex:1}.modal-legend-title{font-size:16px;font-weight:700;color:#333;margin:0 0 12px}.modal-legend-list{display:flex;flex-direction:column;gap:6px}.legend-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.legend-row .good-point-tag,.legend-row .concern-tag{font-size:13px;padding:3px 8px}.legend-full{font-size:14px;color:#555;white-space:nowrap}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:14px 16px;border-radius:10px;margin-bottom:16px;box-shadow:0 1px 4px #00000014}.store-search-input{width:160px}.filters select,.filters input[type=date],.store-search-input{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;outline:none}.filters select:focus,.filters input[type=date]:focus,.store-search-input:focus{border-color:#e91e8c}.clear-btn{background:#f0f0f0;border:none;padding:8px 14px;border-radius:6px;font-size:13px;color:#555}.filter-store-btn{background:#e91e8c;color:#fff;font-weight:600}.table-wrap{overflow-x:hidden;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014}.dash-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.dash-table th{background:#f8f8f8;padding:6px 10px;text-align:left;font-size:12px;color:#555;border-bottom:2px solid #eee;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.dash-table th:hover{background:#fce4f3}.dash-table td{padding:6px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-table tr:hover td{background:#fafafa}.nowrap{white-space:nowrap}.concern-cell{cursor:pointer;max-width:160px;overflow:hidden;white-space:normal}.comment-cell{font-size:12px;color:#555;line-height:1.4;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.good-points-cell{cursor:pointer;max-width:200px;overflow:hidden;white-space:normal}.good-point-tag{display:inline;background:#fce4f3;color:#333;font-size:11px;padding:2px 6px;border-radius:4px;margin:1px 2px;white-space:nowrap;line-height:2}.tooltip-popup{position:fixed;background:#333;color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.7;max-width:320px;white-space:pre-wrap;word-break:break-all;z-index:9998;box-shadow:0 4px 16px #00000040;pointer-events:auto}.tooltip-text{display:block}.tooltip-tags{display:flex;flex-wrap:wrap;gap:4px}.tooltip-tags .good-point-tag{background:#fce4f3;color:#333}.tooltip-tags .concern-tag{background:#fff3e0;color:#333}.concern-tag{display:inline;background:#fff3e0;color:#333;font-size:11px;padding:2px 6px;border-radius:4px;margin:1px 2px;white-space:nowrap;line-height:2}.modal-overlay{position:fixed;inset:0;background:#0006;z-index:9999;display:flex;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:12px;padding:24px;max-width:900px;width:90%;position:relative;box-shadow:0 8px 32px #0003;max-height:70vh;overflow-y:auto}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;color:#999;line-height:1;padding:4px}.modal-close:hover{color:#333}.modal-text{font-size:14px;line-height:1.8;color:#333;white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text}.star-icon{color:#f5a623;font-size:14px}.star-cell{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}.tab-bar{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #eee}.tab-btn{background:none;border:none;padding:10px 20px;font-size:14px;font-weight:600;color:#888;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s}.tab-btn:hover{color:#e91e8c}.tab-btn.active{color:#e91e8c;border-bottom-color:#e91e8c}.ranking-section{margin-bottom:24px}.section-desc{font-size:12px;color:#888;margin-bottom:12px}.store-cards{display:flex;flex-direction:column;gap:8px}.store-card{display:flex;align-items:center;gap:14px;background:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 1px 4px #00000014;min-height:90px}.top-card{border-left:4px solid #2e7d32}.warn-card{border-left:4px solid #c62828}.store-rank{font-size:24px;font-weight:700;min-width:36px;text-align:center}.top-rank{color:#2e7d32}.warn-rank{color:#c62828}.store-info{flex:1}.store-name{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.store-stats{display:flex;gap:12px;font-size:13px;color:#666;margin-bottom:6px}.store-avg{font-weight:600;color:#f5a623}.warn-avg{color:#c62828}.store-revisit{color:#2e7d32}.store-tags{display:flex;flex-wrap:wrap;gap:4px}.no-concern{font-size:11px;color:#999}.other-details{margin-top:6px}.other-detail-text{font-size:12px;color:#c62828;line-height:1.6}.copy-promo-btn{background:#e91e8c;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;min-width:64px}.copy-promo-btn:hover{opacity:.85}.revisit{font-size:12px;font-weight:600;white-space:nowrap}.revisit.good{color:#2e7d32}.revisit.neutral{color:#e65100}.revisit.bad{color:#c62828}.print-header{display:none;align-items:center;gap:16px;margin-bottom:16px}.print-logo{height:52px;width:auto;border-radius:4px}.print-title{font-size:20px;font-weight:700;color:#333;margin:0}.print-period{font-size:13px;color:#666;margin:4px 0 0}.print-footer{display:none;text-align:right;font-size:11px;color:#999;margin-top:16px}.print-btn{background:#e91e8c;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:12px}.print-btn:hover{opacity:.85}@media print{.dash-header,.tab-bar,.filters,.summary-period,.summary-cards,.no-print{display:none!important}.dash-container{zoom:1;padding:0;margin:0}.print-header{display:flex!important}.print-footer{display:block!important}.store-card{box-shadow:none;border:1px solid #ddd;padding:10px 14px;break-inside:avoid}.store-cards{gap:6px}.good-point-tag{border:1px solid #e91e8c;-webkit-print-color-adjust:exact;print-color-adjust:exact}.store-name{font-size:14px}.store-stats{font-size:12px}.store-rank{font-size:22px}@page{size:A4 portrait;margin:15mm 12mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.alert-banner{background:#fff3f3;border:2px solid #e74c3c;border-radius:10px;padding:16px 20px;margin-bottom:20px}.alert-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.alert-title{font-weight:700;color:#c0392b;font-size:15px}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border-radius:8px;margin-bottom:8px;border:1px solid #f5c6cb}.alert-item:last-child{margin-bottom:0}.alert-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1}.alert-store{font-weight:700;font-size:14px;color:#333}.alert-detail{font-size:13px;color:#666}.alert-concerns{display:flex;gap:4px;flex-wrap:wrap}.alert-dismiss{background:#e74c3c;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.alert-dismiss:hover{background:#c0392b}.days-left{font-size:13px;color:#e67e22;margin-top:4px}.days-left strong{font-size:15px;color:#d35400}.revisit-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin:1px 2px;white-space:nowrap}.revisit-tag.good{background:#e8f5e9;color:#2e7d32}.revisit-tag.neutral{background:#fff3e0;color:#e65100}.revisit-tag.bad{background:#ffebee;color:#c62828}.more-tag{font-size:12px;font-weight:700;color:#999;margin-left:2px}.tags-cell{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.other-detail-badge{display:inline-block;background:#fff3e0;color:#e65100;font-size:12px;font-weight:600;padding:2px 10px;border-radius:4px;cursor:pointer;border:1px solid #ffe0b2}.other-detail-badge:hover{background:#ffe0b2}.modal-items{display:flex;flex-direction:column;gap:10px}.modal-item-card{display:flex;gap:12px;align-items:flex-start;background:#fafafa;border:1px solid #eee;border-radius:8px;padding:12px 14px}.modal-item-num{background:#e65100;color:#fff;font-size:12px;font-weight:700;min-width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-item-text{font-size:14px;line-height:1.6;color:#333;margin:0;word-break:break-all}.row-needs-action td{background:#fff8e1!important}.row-needs-action:hover td{background:#fff3c4!important}.status-select{padding:4px 2px;border:1px solid #ddd;border-radius:4px;font-size:11px;font-family:inherit;outline:none;width:100%;min-width:52px;background:#fff;overflow:visible}.status-select:focus{border-color:#e91e8c}.note-cell{cursor:pointer}.note-placeholder{color:#ccc;font-size:13px}.note-cell:hover .note-placeholder{color:#e91e8c}.note-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;line-height:1.6;outline:none;resize:vertical;box-sizing:border-box}.note-textarea:focus{border-color:#e91e8c}.note-save-btn{background:#e91e8c;color:#fff;border:none;padding:8px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.note-save-btn:hover{opacity:.85}.gbp-link{cursor:pointer;color:#e91e8c;font-weight:700}.gbp-link:hover{text-decoration:underline}.store-login{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.store-login-form{background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 12px #0000001a;text-align:center;width:320px}.store-login-logo{width:120px;margin-bottom:16px}.store-login-form h2{font-size:18px;margin-bottom:24px;color:#333}.store-login-form input{display:block;width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.store-login-form button{width:100%;padding:10px;background:#e91e8c;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer}.store-login-error{color:#c62828;font-size:13px;margin-bottom:12px}.store-loading{text-align:center;padding:60px;color:#999;font-size:16px}.store-container{max-width:100%;margin:0 auto;padding:20px}.store-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.store-logo{height:48px;width:auto;border-radius:4px}.store-header h1{font-size:20px;color:#333}.store-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:14px 16px;border-radius:10px;margin-bottom:16px;box-shadow:0 1px 4px #00000014}.store-dropdown-wrap{position:relative}.store-search-input{width:200px;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;outline:none}.store-search-input:focus{border-color:#e91e8c}.store-dropdown-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;margin:2px 0 0;padding:0;list-style:none;max-height:240px;overflow-y:auto;z-index:9997;box-shadow:0 4px 12px #0000001f;min-width:200px}.store-dropdown-list li{padding:8px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.store-dropdown-list li:hover{background:#fce4f3}.store-clear-btn{background:#f0f0f0;border:none;padding:8px 14px;border-radius:6px;font-size:13px;color:#555;cursor:pointer}.store-clear-btn:hover{background:#e0e0e0}.store-count{font-size:13px;color:#888;margin-left:4px}.store-table-wrap{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow-x:auto}.store-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.store-table th{background:#f8f8f8;padding:10px 12px;text-align:left;font-size:12px;color:#555;border-bottom:2px solid #eee;white-space:nowrap}.store-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.store-table tr:hover td{background:#fafafa}.store-nowrap,.store-star-cell{white-space:nowrap}.store-star{color:#f5a623;font-size:14px}.store-tags-cell{white-space:normal}.store-good-tag{display:inline;background:#fce4f3;color:#333;font-size:11px;padding:2px 6px;border-radius:4px;margin:1px 2px;white-space:nowrap;line-height:2}.store-comment{font-size:12px;color:#555;line-height:1.6;white-space:normal;word-break:break-all}.store-empty{text-align:center;padding:40px;color:#999}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;background:#f5f5f5;color:#333;font-size:16px;line-height:1.6}button{cursor:pointer;font-family:inherit}
