:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{font-size:20px;font-weight:700;color:#1a202c;margin:0;white-space:nowrap}.version-badge{font-size:11px;font-weight:500;color:#718096;background:#edf2f7;padding:2px 8px;border-radius:4px;margin-left:8px}.version-badge.version-btn{border:1px solid transparent;cursor:pointer;transition:all .2s ease}.version-badge.version-btn:hover{background:#e2e8f0;border-color:#cbd5e0;color:#4a5568}.version-badge.version-btn:active{transform:scale(.95)}.version-badge.version-btn.checking{background:#e9d8fd;color:#6b46c1;animation:pulse 1s infinite}.version-badge.version-btn.latest{background:#c6f6d5;color:#276749}.version-badge.version-btn.update-available{background:#fed7d7;color:#c53030;animation:pulse .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.branch-info{padding:4px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:13px;font-weight:600}.branch-selector{padding:6px 28px 6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image: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='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:all .2s}.branch-selector:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.branch-selector:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}.branch-selector option{background:#fff;color:#1a202c;font-weight:500}.place-count{color:#667eea;font-weight:600}.place-selector{padding:10px 36px 10px 14px;background:#fff;color:#1a202c;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image: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='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all .2s;min-width:100px}.place-selector:hover{border-color:#cbd5e0;background-color:#f7fafc}.place-selector:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.place-selector option{font-weight:500;padding:12px}.place-badge{padding:8px 14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-size:14px;font-weight:600}.header-right{display:flex;align-items:center;gap:16px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-name{font-size:14px;font-weight:600;color:#2d3748}.user-role{font-size:12px;color:#718096}.logout-button{padding:8px 16px;background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.logout-button:hover{background:#edf2f7;border-color:#cbd5e0}.gnb-nav{display:flex;align-items:center;gap:4px;margin-left:8px}.gnb-nav-item{padding:8px 16px;background:none;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#718096;cursor:pointer;transition:all .2s;white-space:nowrap;position:relative}.gnb-nav-item:hover{color:#4a5568;background:#f7fafc}.gnb-nav-item.active{color:#667eea;font-weight:700;background:#ebf4ff}.gnb-nav-item.active:after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:2px;background:#667eea;border-radius:2px 2px 0 0}@media (max-width: 768px){.header-content{flex-direction:column;gap:12px}.header-left,.header-right{width:100%;justify-content:space-between}.gnb-nav{margin-left:0}.gnb-nav-item{padding:6px 12px;font-size:13px}.gnb-nav-item.active:after{bottom:-13px}}.update-alert{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 8px 32px #667eea59;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.update-alert-icon{font-size:28px;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-alert-content{flex:1}.update-alert-title{margin:0 0 2px;font-size:15px;font-weight:600}.update-alert-message{margin:0;font-size:13px;opacity:.9}.update-alert-actions{display:flex;align-items:center;gap:8px}.update-alert-btn{border:none;cursor:pointer;font-family:inherit;transition:all .2s ease}.update-alert-btn.refresh{padding:8px 16px;background:#fff;color:#667eea;border-radius:8px;font-size:14px;font-weight:600}.update-alert-btn.refresh:hover{background:#f0f0f0;transform:scale(1.02)}.update-alert-btn.refresh:active{transform:scale(.98)}.update-alert-btn.dismiss{width:28px;height:28px;padding:0;background:#fff3;color:#fff;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center}.update-alert-btn.dismiss:hover{background:#ffffff4d}@media (max-width: 480px){.update-alert{left:12px;right:12px;bottom:12px;padding:14px 16px}.update-alert-icon{font-size:24px}.update-alert-title{font-size:14px}.update-alert-message{font-size:12px}.update-alert-btn.refresh{padding:6px 12px;font-size:13px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px;animation:fadeInUp .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 8px}.login-header p{font-size:14px;color:#718096;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input[type=tel],.form-group input[type=password]{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;transition:all .2s;background:#fff}.form-group input[type=tel]:focus,.form-group input[type=password]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input[type=tel].error,.form-group input[type=password].error{border-color:#f56565}.form-group input:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.error-message{font-size:13px;color:#f56565;margin-top:-4px}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-group span{font-size:14px;color:#4a5568}.submit-error{padding:12px;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:#c53030;font-size:14px;text-align:center}.login-button{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.dev-notice{margin-top:24px;padding:16px;background:#f7fafc;border-radius:8px;border-left:4px solid #4299e1}.dev-notice p{font-size:13px;color:#2d3748;margin:0 0 8px}.dev-notice p:last-child{margin-bottom:0}.dev-notice .dummy-info{color:#4299e1;font-weight:600}@media (max-width: 480px){.login-card{padding:24px}.login-header h1{font-size:20px}.login-button{padding:12px;font-size:15px}}.dashboard-container{min-height:100vh;background:#f7fafc}.dashboard-main{max-width:1400px;margin:0 auto;padding:24px}.welcome-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px}.welcome-section h2{font-size:24px;font-weight:700;color:#1a202c;margin:0 0 8px}.welcome-section p{font-size:15px;color:#4a5568;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:#fff;padding:16px;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;align-items:center;gap:12px;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#1a202c;line-height:1;margin-bottom:4px}.stat-label{font-size:13px;color:#718096;font-weight:500}.content-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px}.section-header{display:flex;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e2e8f0;gap:12px}.filter-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:space-between;width:100%}.filter-left{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filter-right{display:flex;align-items:center;gap:8px}.filter-group-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.filter-label-top{font-size:12px;font-weight:600;color:#718096}.section-header h3{font-size:18px;font-weight:700;color:#1a202c;margin:0;white-space:nowrap}.section-title-area{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-right:12px}.refresh-button{padding:6px 14px;background:#48bb78;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.refresh-button:hover:not(:disabled){background:#38a169}.refresh-button:disabled{background:#a0aec0;cursor:not-allowed}.month-selector{display:flex;align-items:center;gap:8px;background:#f7fafc;padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0}.month-nav-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:600;color:#4a5568;cursor:pointer;transition:all .2s}.month-nav-btn:hover{background:#667eea;border-color:#667eea;color:#fff}.month-display{font-size:15px;font-weight:700;color:#1a202c;min-width:80px;text-align:center}.section-actions{display:flex;gap:12px;align-items:center}.search-input{padding:8px 16px;border:1px solid #cbd5e0;border-radius:8px;font-size:14px;min-width:200px;background:#fff;color:#1a202c;transition:all .2s}.search-input::placeholder{color:#718096}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{font-size:14px;font-weight:600;color:#4a5568;white-space:nowrap}.trainer-filter-wrapper{position:relative}.trainer-filter-btn{padding:10px 36px 10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#1a202c;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap;min-width:80px}.trainer-filter-btn:hover{border-color:#cbd5e0;background:#f7fafc}.trainer-filter-btn.active{border-color:#667eea;background:#ebf4ff;color:#667eea}.dropdown-arrow{font-size:10px;color:#718096}.trainer-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:160px;max-height:250px;overflow-y:auto;z-index:100}.trainer-option{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:14px;color:#4a5568;cursor:pointer;transition:background .15s}.trainer-option:hover{background:#f7fafc}.trainer-option input[type=checkbox]{width:16px;height:16px;accent-color:#667eea;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f7fafc;border:2px solid #cbd5e0;border-radius:4px;cursor:pointer;position:relative}.trainer-option input[type=checkbox]:checked{background-color:#ebf4ff;border-color:#667eea}.trainer-option input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#667eea}.checkbox-filter{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #cbd5e0;border-radius:8px;font-size:14px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s;white-space:nowrap}.checkbox-filter:hover{border-color:#667eea;background:#f7fafc}.checkbox-filter:has(input:checked){border-color:#667eea;background:#ebf4ff;color:#667eea}.checkbox-filter input[type=checkbox]{width:16px;height:16px;accent-color:#667eea;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f7fafc;border:2px solid #cbd5e0;border-radius:4px;cursor:pointer;position:relative}.checkbox-filter input[type=checkbox]:checked{background-color:#ebf4ff;border-color:#667eea}.checkbox-filter input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#667eea}.filter-select{padding:10px 36px 10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;cursor:pointer;background:#fff;color:#1a202c;font-weight:500;transition:all .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image: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='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;min-width:90px}.filter-select:hover{border-color:#cbd5e0;background-color:#f7fafc}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select option{padding:12px;font-size:14px}.members-table-wrapper{overflow-x:auto}.members-table{width:100%;border-collapse:collapse;font-size:14px}.members-table thead{background:#f7fafc}.members-table th{padding:12px 16px;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0;white-space:nowrap}.members-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.members-table tbody tr:hover{background:#f7fafc}.members-table td{padding:16px;color:#2d3748;vertical-align:top}.type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.type-single{background:#dbeafe;color:#1e40af}.type-bundle{background:#fae8ff;color:#86198f}.member-info{display:flex;flex-direction:column;gap:2px}.member-name{font-weight:600;color:#1a202c}.member-phone{font-size:12px;color:#718096}.conversion-product-text{font-size:12px;color:#667eea;font-weight:500;margin-top:4px}.session-time{font-size:12px;color:#667eea;font-weight:500;margin-top:2px}.session-completed-tag{display:inline-block;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:500;color:#10b981;background-color:#d1fae5;border-radius:3px;vertical-align:middle}.regular-product-name{font-size:12px;color:#667eea;font-weight:500;margin-top:2px}.conversion-product-cell{font-size:11px;color:#2d3748}.conversion-product-name{display:inline-block;font-size:11px;color:#065f46;font-weight:500;background:#d1fae5;padding:2px 6px;border-radius:4px;word-break:keep-all;line-height:1.3}.purchase-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.purchase-type-badge.single{background:#e2e8f0;color:#4a5568}.purchase-type-badge.combined{background:#e9d8fd;color:#6b46c1}.purchase-type-badge.combined-extra{background:#fed7e2;color:#b83280}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.sortable-header:hover{background:#edf2f7}.sort-icon{display:inline-block;margin-left:4px;font-size:12px;width:16px;text-align:center;vertical-align:middle}.sort-default{color:#a0aec0;font-weight:700;letter-spacing:-2px}.sort-asc,.sort-desc{color:#667eea;font-weight:700}.report-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.report-exists{background:#d1fae5;color:#065f46}.report-draft{background:#fff3e0;color:#e65100;border:1px solid #ff9800}.report-none{background:#fee2e2;color:#991b1b}.last-author-cell{font-size:12px;color:#4a5568}.action-button{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.empty-state{text-align:center;padding:60px 20px;color:#718096}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:#4a5568;font-size:15px;font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px;text-align:center}.error-icon{font-size:64px}.error-state h3{font-size:20px;font-weight:700;color:#dc2626;margin:0}.error-state p{font-size:15px;color:#4a5568;margin:0 0 16px}.retry-button{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.dev-info-section{background:#d1fae5;padding:20px;border-radius:12px;border:2px solid #10b981}.dev-info-section h4{font-size:14px;color:#065f46;margin:0 0 8px;font-weight:600}.dev-info-section p{font-size:13px;color:#047857;margin:0}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.dashboard-main{padding:16px}.welcome-section h2{font-size:20px}.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%;flex-direction:column}.search-input,.filter-select{width:100%}.members-table{font-size:12px}.members-table th,.members-table td{padding:8px}}.member-info-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-button{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:background .2s;opacity:.7}.detail-button:hover{background:#e2e8f0;opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.member-detail-modal{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2)}.modal-header h2{margin:0;font-size:18px;color:#fff}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#fff;opacity:.8;transition:opacity .2s}.modal-close:hover{opacity:1}.modal-body{padding:24px;overflow-y:auto}.modal-loading,.modal-error{padding:40px;text-align:center;color:#718096}.modal-error{color:#e53e3e}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#4a5568;padding-bottom:8px;border-bottom:2px solid #667eea}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:#718096;font-weight:500}.detail-value{font-size:14px;color:#2d3748;font-weight:600}.payment-table-wrapper{overflow-x:auto;max-height:300px;overflow-y:auto}.payment-table{width:100%;border-collapse:collapse;font-size:13px}.payment-table th,.payment-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e2e8f0}.payment-table th{background:#f7fafc;font-weight:600;color:#4a5568;position:sticky;top:0}.payment-table tbody tr:hover{background:#f7fafc}.payment-table tr.refunded{opacity:.6}.payment-table .price{text-align:right;font-weight:600}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-badge.paid{background:#d1fae5;color:#065f46}.status-badge.refund{background:#fee2e2;color:#991b1b}.no-data{padding:20px;text-align:center;color:#a0aec0;font-size:14px}@media (max-width: 600px){.modal-content{max-height:90vh}.detail-grid{grid-template-columns:repeat(2,1fr)}.payment-table{font-size:12px}.payment-table th,.payment-table td{padding:8px}}.delivery-cell{text-align:center;vertical-align:middle!important}.delivery-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#48bb78;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f7fafc;border:2px solid #cbd5e0;border-radius:4px;position:relative;transition:all .2s}.delivery-checkbox:hover{border-color:#48bb78;background-color:#f0fff4}.delivery-checkbox:checked{background-color:#48bb78;border-color:#48bb78}.delivery-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#fff}.members-table tbody tr.delivered{background:#f0fff4}.members-table tbody tr.delivered:hover{background:#c6f6d5}.member-info-compact{display:flex;align-items:center;gap:6px}.member-name-short{font-weight:600;color:#1a202c;font-size:13px;word-break:keep-all}.members-table.compact{font-size:12px}.members-table.compact th{padding:8px 6px;font-size:11px}.members-table.compact td{padding:10px 6px}.members-table.compact .action-button{padding:5px 10px;font-size:11px}.members-table.compact .report-badge,.members-table.compact .type-badge{padding:3px 8px;font-size:11px}.members-table.compact .purchase-type-badge{padding:2px 6px;font-size:10px}.members-table.compact .detail-button{font-size:14px;padding:2px}.members-table.compact .session-time,.members-table.compact .regular-product-name,.members-table.compact .conversion-product-text,.members-table.compact .last-author-cell{font-size:11px}.delivery-disabled{color:#cbd5e0;font-size:12px}.scoreboard-container{min-height:calc(100vh - 65px);background:#f7fafc}.scoreboard-main{max-width:1400px;margin:0 auto;padding:24px}.sb-month-selector{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d}.sb-month-btn{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.sb-month-btn:hover{background:#f7fafc;border-color:#cbd5e0}.sb-month-label{font-size:18px;font-weight:700;color:#1a202c;min-width:120px;text-align:center}.sb-place-label{margin-left:auto;font-size:14px;font-weight:600;color:#4a5568;background:#edf2f7;padding:6px 14px;border-radius:6px}.sb-section{margin-bottom:20px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d}.sb-section-title{font-size:16px;font-weight:700;color:#1a202c;margin:0 0 16px;display:flex;align-items:center;gap:8px}.sb-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 0;color:#a0aec0;font-size:14px}.sb-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;animation:sb-spin .6s linear infinite}@keyframes sb-spin{to{transform:rotate(360deg)}}.sb-empty{text-align:center;padding:24px;color:#a0aec0;font-size:14px}.sb-qc-empty{color:#48bb78}.sb-stats-grid{display:grid;gap:12px}.sb-stats-4col{grid-template-columns:repeat(4,1fr)}.sb-stats-2col{grid-template-columns:repeat(2,1fr)}.sb-stat-card{padding:16px;background:#f7fafc;border-radius:10px;text-align:center;border:1px solid #e2e8f0}.sb-stat-label{font-size:12px;font-weight:600;color:#718096;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.sb-stat-value{font-size:28px;font-weight:800;color:#1a202c;margin-bottom:4px}.sb-stat-num{color:#3182ce}.sb-stat-sep{color:#cbd5e0;margin:0 2px;font-weight:400}.sb-stat-denom{color:#718096}.sb-stat-percent{font-size:13px;font-weight:600;color:#4a5568}.sb-stat-percent-unit{font-size:18px;font-weight:700;color:#718096;margin-left:1px}.sb-stat-date-range{font-size:10px;font-weight:400;color:#a0aec0;margin-top:2px;letter-spacing:0;text-transform:none}.sb-conversion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.sb-conversion-card{padding:16px;background:#f7fafc;border-radius:10px;border:1px solid #e2e8f0}.sb-conversion-header{font-size:13px;font-weight:700;color:#4a5568;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.sb-conversion-row{display:flex;align-items:center;gap:8px;padding:6px 0}.sb-conversion-label{font-size:13px;font-weight:600;color:#718096;min-width:36px}.sb-conversion-rate{font-size:20px;font-weight:800;color:#2d3748}.sb-conversion-detail{font-size:13px;color:#a0aec0}.sb-revenue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sb-revenue-card{padding:16px;background:#ebf8ff;border-radius:10px;border:1px solid #bee3f8;text-align:center}.sb-revenue-label{font-size:12px;font-weight:600;color:#2b6cb0;margin-bottom:8px}.sb-revenue-value{font-size:22px;font-weight:800;color:#2d3748}.sb-revenue-total{color:#2b6cb0}.sb-table-wrapper{overflow-x:auto}.sb-table{width:100%;border-collapse:collapse;font-size:14px}.sb-table thead th{padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:#718096;background:#f7fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.sb-table tbody td{padding:10px 12px;border-bottom:1px solid #edf2f7;color:#2d3748}.sb-table tbody tr:hover{background:#f7fafc}.sb-trainer-name{font-weight:600}.sb-trainer-rate{font-weight:700;color:#2d3748}.sb-trainer-detail{font-size:12px;color:#a0aec0}.sb-trainer-revenue{font-weight:700;color:#2b6cb0}.sb-qc-filter{margin-bottom:14px}.sb-qc-filter-select{padding:7px 32px 7px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#2d3748;font-size:13px;font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image: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='%23718096' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:all .15s}.sb-qc-filter-select:hover{border-color:#cbd5e0}.sb-qc-filter-select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 2px #4299e126}.sb-qc-count{font-size:13px;font-weight:600;color:#fff;background:#e53e3e;padding:2px 8px;border-radius:10px;margin-left:8px}.sb-qc-name{font-weight:600}.sb-purchase-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.sb-purchase-standalone{background:#ebf4ff;color:#3182ce}.sb-purchase-combined{background:#faf5ff;color:#805ad5}.sb-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.sb-status-completed{background:#f0fff4;color:#38a169}.sb-status-printed{background:#ebf8ff;color:#3182ce}.sb-status-draft{background:#fffaf0;color:#dd6b20}.sb-status-none{background:#fff5f5;color:#e53e3e}.sb-qc-flags{display:flex;flex-wrap:wrap;gap:4px}.sb-qc-flag{display:inline-block;padding:2px 8px;background:#fff5f5;color:#c53030;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.sb-qc-view-btn{padding:4px 12px;background:#4299e1;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.sb-qc-view-btn:hover{background:#3182ce}.sb-qc-no-report{color:#cbd5e0}.sb-info-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid #cbd5e0;background:#fff;color:#a0aec0;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0;line-height:1;transition:all .15s;flex-shrink:0}.sb-info-btn:hover{border-color:#4299e1;color:#4299e1}.sb-info-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:sb-fade-in .15s ease-out}@keyframes sb-fade-in{0%{opacity:0}to{opacity:1}}.sb-info-popup{background:#fff;border-radius:16px;max-width:440px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;animation:sb-popup-in .2s ease-out}@keyframes sb-popup-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.sb-info-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #edf2f7}.sb-info-header h3{font-size:17px;font-weight:700;color:#1a202c;margin:0}.sb-info-close{width:32px;height:32px;border:none;background:#f7fafc;border-radius:8px;color:#718096;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.sb-info-close:hover{background:#edf2f7;color:#2d3748}.sb-info-body{padding:20px 24px 24px}.sb-info-section{margin-bottom:16px}.sb-info-section:last-child{margin-bottom:0}.sb-info-section-title{font-size:14px;font-weight:700;color:#2d3748;margin:0 0 6px;display:flex;align-items:center;gap:6px}.sb-info-section-title:before{content:"";display:inline-block;width:4px;height:14px;background:#4299e1;border-radius:2px;flex-shrink:0}.sb-info-text{font-size:13px;color:#4a5568;line-height:1.7;margin:0}.sb-info-list{font-size:13px;color:#4a5568;line-height:1.7;margin:4px 0 0;padding-left:14px;list-style:none}.sb-info-list li{position:relative;padding-left:2px}.sb-info-list li:before{content:"·";position:absolute;left:-12px;color:#a0aec0;font-weight:700}.sb-info-highlight{color:#3182ce;font-weight:600}.sb-info-muted{color:#a0aec0;font-size:12px}@media (max-width: 768px){.scoreboard-main{padding:16px}.sb-stats-4col{grid-template-columns:repeat(2,1fr)}.sb-conversion-grid,.sb-revenue-grid{grid-template-columns:1fr}.sb-month-selector{flex-wrap:wrap}.sb-place-label{margin-left:0}.sb-stat-value{font-size:22px}}.input-form-container{max-width:680px;width:100%;margin:0 auto;padding:40px 24px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center}.header{width:100%;text-align:center;margin-bottom:40px}.input-form-container h1{text-align:center;color:#1a202c;margin-bottom:16px;font-size:2rem;font-weight:700;letter-spacing:-.02em}.dev-preview-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:24px;box-shadow:0 2px 8px #667eea4d}.dev-preview-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.step-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:0}.step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9375rem;background:#e2e8f0;color:#718096;transition:all .3s ease}.step.active .step-number{background:#cbd5e0;color:#4a5568}.step.current .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.step-label{font-size:.8125rem;font-weight:600;color:#718096;transition:all .3s ease;letter-spacing:-.01em}.step.active .step-label{color:#4a5568}.step.current .step-label{color:#1a202c;font-weight:700}.step-line{width:40px;height:2px;background:#e2e8f0;margin-bottom:24px}.input-form{background:#fff;border-radius:20px;box-shadow:0 4px 60px #0000001f;padding:48px;width:100%}.form-section{margin-bottom:48px}.form-section:last-of-type{margin-bottom:0}.form-section h2{color:#191f28;margin-bottom:24px;font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid.body-composition,.form-grid.movement-scores{grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:10px;font-weight:600;color:#191f28;font-size:.9375rem;letter-spacing:-.01em}.form-group input,.form-group select,.form-group textarea{padding:16px;border:1px solid #e5e8eb;border-radius:12px;font-size:1rem;transition:all .2s ease;background:#f9fafb;color:#191f28}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#d1d6db;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3182f6;background:#fff;box-shadow:0 0 0 4px #3182f614}.form-group textarea{resize:vertical;font-family:inherit;min-height:100px}.submit-button{width:100%;padding:18px;background:#3182f6;color:#fff;border:none;border-radius:12px;font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:32px;letter-spacing:-.01em}.submit-button:hover{background:#1b64da;transform:translateY(-1px);box-shadow:0 8px 24px #3182f64d}.submit-button:active{transform:translateY(0)}.form-navigation{display:flex;gap:12px;margin-top:32px;width:100%}.nav-button{flex:1;padding:18px;border-radius:12px;font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:-.01em;border:none;white-space:nowrap}.nav-button.prev{background:#f2f4f6;color:#191f28}.nav-button.prev:hover{background:#e5e8eb;transform:translateY(-1px)}.nav-button.next{background:#3182f6;color:#fff}.nav-button.next:hover{background:#1b64da;transform:translateY(-1px);box-shadow:0 8px 24px #3182f64d}.nav-button.draft{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.nav-button.draft:hover{background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-1px);box-shadow:0 8px 24px #ff98004d}.nav-button:active{transform:translateY(0)}.step-content{animation:fadeIn .3s ease}.step-content h2{color:#191f28;margin-bottom:32px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-align:center}.form-section h3{color:#191f28;margin-bottom:20px;font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.helper-text{margin-top:8px;font-size:.875rem;color:#8b95a1;line-height:1.5}.movement-assessment{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px}.assessment-item{display:flex;flex-direction:column;gap:12px}.assessment-item label{font-weight:600;color:#191f28;font-size:.9375rem}.score-selector{display:flex;gap:8px}.score-btn{flex:1;padding:14px;border:2px solid #e5e8eb;background:#f9fafb;border-radius:10px;font-size:1rem;font-weight:700;color:#6b7684;cursor:pointer;transition:all .2s ease}.score-btn:hover{border-color:#3182f6;background:#3182f60d;color:#3182f6}.score-btn.selected{border-color:#3182f6;background:#3182f6;color:#fff;box-shadow:0 4px 12px #3182f64d}@media (max-width: 768px){.input-form-container{padding:40px 16px}.input-form-container h1{font-size:2rem}.form-grid{grid-template-columns:1fr}.input-form{padding:32px 24px;border-radius:16px}.form-section h2{font-size:1.25rem}}.ai-refine-button{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;display:flex;align-items:center;gap:4px}.ai-refine-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #667eea66;background:linear-gradient(135deg,#764ba2,#667eea)}.ai-refine-button:active:not(:disabled){transform:translateY(0)}.ai-refine-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af;box-shadow:none}@font-face{font-family:Winner;src:url(/4step/assets/Winner-Bold-Boes5Mfl.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--brand-green: #008F48;--brand-green-light: #00A650;--brand-green-accent: #2A8D45;--bg-gray: #F3F3F3;--bg-comment: #EFF7EF;--text-dark: #0A0A0A;--text-gray: #666666;--text-content: #2E2E2E;--line-dark: #2E2E2E;--line-light: #E5E8EB}.print-optimized{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;max-width:595px;margin:0 auto;background:#fff;color:var(--text-dark)}.report-container{padding:20px}.report-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line-light)}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.header-actions button{padding:10px 18px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.print-button{background:var(--brand-green);color:#fff}.print-button:hover{background:var(--brand-green-accent)}.inline-edit-button{background:#10b981;color:#fff}.inline-edit-button:hover{background:#059669}.rewrite-button{background:#f97316;color:#fff}.rewrite-button:hover{background:#ea580c}.save-button{background:#10b981;color:#fff}.save-button:hover:not(:disabled){background:#059669}.save-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background:#6b7280;color:#fff}.cancel-button:hover:not(:disabled){background:#4b5563}.delete-button{background:#ef4444;color:#fff}.delete-button:hover{background:#dc2626}.report-meta-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:.8125rem;margin-right:auto}.meta-row{display:flex;gap:8px;align-items:center}.meta-row:not(:last-child){margin-bottom:4px}.meta-label{color:#6b7684;font-weight:500;min-width:60px}.meta-value{color:#333d4b;font-weight:400}.edit-mode-indicator{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:10px 18px;border-radius:24px;font-size:.875rem;font-weight:600;z-index:1000;box-shadow:0 4px 12px #10b9814d;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}.cover-page{width:595px;height:842px;position:relative;background:#fff;display:flex;flex-direction:column;margin-bottom:20px}.cover-main{flex:1;padding:54px 42px;display:flex;flex-direction:column}.cover-title{font-size:107px;font-weight:930;color:#0a0a0a;line-height:1.16;letter-spacing:-.03em;margin:0 0 37px;display:flex;flex-direction:column}.cover-title-line1,.cover-title-line2{display:block;white-space:nowrap}.cover-title-line1{margin-bottom:0}.cover-logo-box{width:276px;height:60px;background:#00a855;border-radius:10px;display:flex;align-items:center;justify-content:center}.cover-logo-text{font-family:Winner,sans-serif;font-size:34px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1}.cover-footer{height:145px;background:#eff7ef;margin:0 12px 12px;padding:18px 26px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.cover-footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.cover-info{display:flex;flex-direction:column;gap:0}.cover-name,.cover-date{font-size:16px;font-weight:700;color:#00a855;line-height:1.6}.cover-description{font-size:11px;font-weight:500;color:#00a855;line-height:1.18}.cover-brand{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.cover-brand-logo{font-family:Winner,Pretendard Variable,sans-serif;font-size:14px;font-weight:700;color:#00a855;letter-spacing:.08em}.report-page{width:595px;min-height:842px;padding:30px 30px 40px;box-sizing:border-box;position:relative;background:#fff;margin-bottom:20px}.section-header{padding-top:14px;border-top:3px solid var(--text-dark);margin-bottom:24px;display:flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:0;border-bottom:none}.section-header .section-number{display:inline-block!important;font-size:36px;font-weight:800;color:var(--text-dark);letter-spacing:-.01em;line-height:1.2;margin:0 16px 0 0;flex-shrink:0}.section-header .section-title{display:inline-block!important;font-size:36px;font-weight:800;color:var(--text-dark);letter-spacing:-.01em;line-height:1.2;margin:0;white-space:nowrap}.member-info-box{background:var(--bg-gray);border-radius:8px;padding:10px 14px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.info-column{display:flex;flex-direction:column;gap:4px}.info-row{display:flex;gap:8px;font-size:9px;line-height:11px}.info-label{font-weight:600;color:var(--text-gray);min-width:auto}.info-value{font-weight:400;color:var(--text-gray)}.purpose-section{margin-bottom:16px}.subsection-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-top:6px;border-top:2px solid var(--line-dark)}.subsection-icon{width:19px;height:19px;display:flex;align-items:center;justify-content:center}.subsection-icon svg{width:100%;height:100%}.subsection-title{font-size:16px;font-weight:700;color:var(--text-dark);margin:0}.purpose-content{font-size:9px;font-weight:400;color:var(--text-content);line-height:1.6}.purpose-content p{margin:0;min-height:1.4em}.evaluation-section{margin-bottom:16px}.eval-list{border-top:.6px solid var(--line-dark)}.eval-item{display:flex;padding:14px 0;border-bottom:.6px solid var(--line-dark);gap:20px}.eval-item:last-child{border-bottom:none}.eval-type-col{font-size:13px;font-weight:700;color:var(--text-dark);min-width:80px;flex-shrink:0}.eval-content-col{flex:1;display:flex;flex-direction:column;gap:6px}.eval-row{display:flex;gap:8px;align-items:flex-start}.eval-label{font-size:9px;font-weight:600;color:var(--text-content);white-space:nowrap;min-width:45px;flex-shrink:0}.eval-value{font-size:9px;font-weight:400;color:var(--text-content);line-height:1.6;flex:1}.eval-value p{margin:0;min-height:1.4em}.eval-textarea{width:100%;min-height:40px;font-size:9px;line-height:1.6;padding:4px 6px;border:1px solid var(--line-light);border-radius:4px;resize:vertical}.session-section{margin-bottom:20px}.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.session-item h4{font-size:11px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.session-content{font-size:9px;font-weight:400;color:var(--text-content);line-height:1.6}.session-content p{margin:0;min-height:1.4em}.summary-box{background:var(--bg-gray);border-radius:8px;padding:10px 14px;margin-bottom:20px}.summary-label{font-size:9px;font-weight:700;color:var(--text-gray);margin-bottom:4px}.summary-content{font-size:9px;font-weight:400;color:var(--text-gray);line-height:1.6}.summary-content p{margin:0;min-height:1.4em}.phase-timeline{position:relative;padding-left:25px}.phase-timeline:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:var(--line-dark)}.phase-item{position:relative;margin-bottom:24px}.phase-item:last-child{margin-bottom:0}.phase-dot{position:absolute;left:-19px;top:8px;width:6px;height:6px;background:var(--brand-green);border-radius:50%}.phase-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.phase-badge{background:var(--brand-green);color:#fff;font-size:15px;font-weight:700;padding:3px 12px;border-radius:6px;letter-spacing:-.02em;white-space:nowrap;align-self:flex-start;margin-top:2px}.phase-title-area{flex:1 1 auto;min-width:0}.phase-goal{font-size:19px;font-weight:700;color:var(--text-dark);line-height:1.4;letter-spacing:-.015em;margin:0;white-space:normal;word-break:keep-all;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.phase-period{display:inline-block;font-size:9px;font-weight:600;color:var(--brand-green-light);background:transparent;border:1px solid var(--brand-green-light);border-radius:10px;padding:1px 8px;margin-top:0;line-height:1.4;flex-shrink:0;margin-left:auto;align-self:flex-start}.phase-period-input{width:80px;font-size:9px;font-weight:600;text-align:center;padding:0 2px;border:1px solid var(--brand-green-light)!important;border-radius:6px;color:var(--brand-green-light);background:#f0faf0}.phase-description{font-size:9px;font-weight:300;color:var(--text-gray);line-height:1.6;margin-bottom:12px;padding-top:8px;border-top:1.2px solid var(--line-dark)}.phase-description p{margin:0;min-height:1.4em}.phase-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.phase-column h4{font-size:11px;font-weight:700;color:var(--text-dark);margin:0 0 8px}.phase-column ul{list-style:none;padding:0;margin:0}.phase-column li{font-size:9px;color:var(--text-content);line-height:1.6;margin-bottom:4px;padding-left:0}.exercise-list li{font-weight:400}.focus-list li{font-weight:400;display:flex;align-items:flex-start;gap:6px}.focus-list li:before{content:"";display:inline-block;width:7px;height:5px;border-left:1px solid var(--brand-green-accent);border-bottom:1px solid var(--brand-green-accent);transform:rotate(-45deg);margin-top:4px;flex-shrink:0}.trainer-section{margin-top:20px}.trainer-comment-box{background:var(--bg-comment);border-radius:8px;padding:12px 16px}.trainer-comment-content{font-size:11px;font-weight:700;color:var(--text-content);line-height:1.6}.trainer-comment-content p{margin:0;min-height:1.6em}.page-footer{position:absolute;bottom:20px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;font-size:6.5px;color:gray}.footer-left{font-weight:200}.footer-right{font-weight:700;letter-spacing:.05em}.edit-mode{border:2px dashed #10b981!important;background:linear-gradient(135deg,#f0fdf4,#fff)!important}.editable-input,.editable-textarea{width:100%;padding:8px 10px;border:2px solid #10b981;border-radius:6px;font-family:inherit;font-size:inherit;line-height:1.5;background:#fff;color:var(--text-dark);resize:vertical;box-sizing:border-box}.editable-input:focus,.editable-textarea:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #10b98126}.purpose-textarea{min-height:80px}.eval-textarea{min-height:40px}.session-textarea{min-height:120px}.phase-goal-input{font-size:19px;font-weight:700}.phase-desc-textarea{min-height:60px}.phase-list-input{font-size:9px;padding:4px 8px}.comment-textarea{min-height:100px}.overall-goal-textarea{min-height:60px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.125rem;color:#6b7684}@page{size:A4;margin:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}html,body{width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;background:#fff!important;zoom:1!important;transform:scale(1)!important;transform-origin:top left!important}.no-print,.report-header,.edit-mode-indicator{display:none!important}.report-container{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}.print-optimized{max-width:none!important;margin:0!important}.cover-page{width:210mm;height:297mm;margin:0;page-break-after:always;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cover-title{font-size:107px;color:#0a0a0a!important}.cover-title-line1,.cover-title-line2{white-space:nowrap!important}.cover-logo-box{background:#00a855!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cover-footer{background:#eff7ef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-page{width:210mm!important;min-height:297mm!important;height:auto!important;margin:0!important;padding:10mm 10mm 15mm!important;box-sizing:border-box!important;font-size:10pt!important}.page-1,.page-1.print-session-overflow{page-break-after:always}.page-1-continued{width:210mm!important;min-height:297mm!important;height:auto!important;margin:0!important;padding:10mm 10mm 15mm!important;box-sizing:border-box!important;font-size:10pt!important;page-break-after:always;position:relative;background:#fff}.page-1-continued .section-header{display:flex;align-items:baseline;margin-bottom:24px}.page-1-continued .section-number{display:inline-block;font-size:36px;font-weight:800;color:var(--text-dark, #191F28);letter-spacing:-.01em;line-height:1.2;margin:0 16px 0 0;flex-shrink:0}.page-1-continued .section-title{display:inline-block;font-size:36px;font-weight:800;color:var(--text-heading, #191F28);letter-spacing:-.01em;line-height:1.2;margin:0}.page-1-continued .page-footer{position:absolute;bottom:10mm;left:10mm;right:10mm}.page-2{page-break-after:auto}.page-2.print-phase3-overflow{page-break-after:always}.page-3{page-break-before:always}.page-3.print-phase3-merged{page-break-before:auto}.print-roadmap-header{margin-bottom:24px}.print-phase3-timeline{margin-bottom:40px}.phase-header{align-items:center}.phase-badge,.phase-period{align-self:center;margin-top:0}.phase-goal{font-size:17px}.phase-item,.eval-row,.session-item,.trainer-comment-box{page-break-inside:avoid}.page-footer{position:absolute;bottom:10mm;left:10mm;right:10mm}.section-header .section-number,.section-header .section-title{font-size:36px}.page-1 .eval-type-col{min-width:110px}.page-1 .eval-label{min-width:65px}.edit-mode{border:none!important;background:transparent!important}.editable-input,.editable-textarea{display:none!important}}@media screen and (max-width: 650px){.cover-page,.report-page{width:100%;height:auto;min-height:auto}.cover-title{font-size:42px;padding:4px 8px}.cover-title-line1,.cover-title-line2{white-space:nowrap}.cover-logo-box{width:180px;height:42px}.cover-logo-text{font-size:22px}.section-number,.section-title{font-size:28px}.member-info-box{grid-template-columns:1fr}.session-grid,.phase-content-grid{grid-template-columns:1fr;gap:12px}.phase-timeline{padding-left:20px}.phase-timeline:before{left:5px}.phase-dot{left:-17px}}.report-page-container{min-height:100vh;background:#f7fafc}.report-nav{background:#fff;padding:16px 24px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.back-to-dashboard-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.back-to-dashboard-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.member-info-badge{padding:8px 16px;background:#f0f9ff;border:1px solid #0284c7;border-radius:8px;color:#0c4a6e;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.saved-badge{background:#16a34a;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;margin-left:8px}.user-info-badge{padding:8px 16px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-size:13px;font-weight:500}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px}.loading-state .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#4a5568;font-size:16px}.report-actions{position:fixed;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:1000;pointer-events:none}.report-actions>*{pointer-events:auto}.action-left,.action-right{display:flex;align-items:center;gap:12px}.save-report-btn{padding:14px 28px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #16a34a4d}.save-report-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #16a34a66}.save-report-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.delete-report-btn{padding:14px 24px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #ef44444d}.delete-report-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.edit-report-btn{padding:14px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #f59e0b4d}.edit-report-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.save-report-btn.success{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.save-report-btn.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.save-status{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;animation:fadeIn .3s ease}.save-status.success{background:#dcfce7;color:#166534;border:1px solid #16a34a}.save-status.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.auto-save-status{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:0;border-radius:12px;font-size:15px;font-weight:600;z-index:9999;animation:slideDown .3s ease;box-shadow:0 8px 24px #0003}.auto-save-status .saving{color:#1e40af;background:#dbeafe;padding:14px 28px;border-radius:12px;display:inline-block;border:2px solid #3b82f6}.auto-save-status .saved{color:#166534;background:#dcfce7;padding:14px 28px;border-radius:12px;display:inline-block;border:2px solid #16a34a}.auto-save-status .error{color:#991b1b;background:#fee2e2;padding:14px 28px;border-radius:12px;display:inline-block;border:2px solid #ef4444}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.report-nav{flex-direction:column;align-items:stretch}.back-to-dashboard-btn,.member-info-badge,.user-info-badge{width:100%;justify-content:center}}@media print{.report-nav,.report-actions{display:none!important}.report-page-container{min-height:auto!important;background:#fff!important;padding:0!important;margin:0!important}.report-content{padding:0!important;margin:0!important}}.app-container{min-height:100vh;background:linear-gradient(180deg,#3182f6,#1b64da);display:flex;justify-content:center;align-items:flex-start;width:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Roboto,Noto Sans KR,Segoe UI,Malgun Gothic,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fafc;color:#191f28}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
