.header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:sticky;top:0;z-index:100}.header-title-wrapper{display:flex;flex-direction:column;align-items:center}.header-title{font-size:27px;font-weight:600;text-align:center}.header-subtitle{font-size:12px;font-weight:400;opacity:.85;margin-top:2px}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;transition:background .2s}.back-button:hover{background:#fff3}.back-button:active{background:#ffffff4d}.header-spacer{width:40px}.header-actions{min-width:70px;display:flex;justify-content:flex-end}.auth-button{padding:8px 14px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;text-decoration:none}.auth-button.login{color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.auth-button.login:hover{background:#ffffff40}.auth-button.logout{color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.auth-button.logout:hover{background:#ffffff40}.mypage-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background:#ffffff26;border-radius:50%;transition:all .2s}.mypage-button:hover{background:#ffffff40}.rating-stars{display:flex;align-items:center;gap:4px}.rating-stars.small .stars,.rating-stars.small .rating-value{font-size:12px}.rating-stars.medium .stars{font-size:16px}.rating-stars.medium .rating-value{font-size:14px}.rating-stars.large .stars{font-size:24px}.rating-stars.large .rating-value{font-size:20px}.stars{display:flex;gap:1px}.star{color:#ddd}.star.full{color:#ffc107}.star.half{background:linear-gradient(90deg,#ffc107 50%,#ddd 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.rating-value{font-weight:600;color:#333;margin-left:4px}.hospital-card{display:block;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.hospital-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.hospital-card:active{transform:scale(.98);box-shadow:0 1px 4px #0000001a}.card-content{padding:16px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.hospital-name{font-size:17px;font-weight:600;color:#1a1a2e;flex:1}.status-badge{padding:4px 10px;font-size:11px;font-weight:500;border-radius:12px;white-space:nowrap}.hospital-rating{display:flex;align-items:center;gap:6px;margin-bottom:10px}.rating-value{font-size:14px;font-weight:600;color:#667eea}.review-count{font-size:12px;color:#888}.hospital-address{font-size:13px;color:#666;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hospital-tel{font-size:13px;color:#888;margin-bottom:12px}.hospital-info-tags{display:flex;flex-wrap:wrap;gap:6px;padding-top:12px;border-top:1px solid #f0f0f0}.info-tag{display:inline-block;padding:4px 10px;font-size:11px;color:#555;background:#f5f5f5;border-radius:12px}.category-tabs{position:relative;margin:0 -16px;padding:0}.category-tabs:before,.category-tabs:after{content:"";position:absolute;top:0;bottom:0;width:24px;z-index:1;pointer-events:none}.category-tabs:before{left:0;background:linear-gradient(to right,#f5f5f5 0%,transparent 100%)}.category-tabs:after{right:0;background:linear-gradient(to left,#f5f5f5 0%,transparent 100%)}.tabs-scroll{display:flex;gap:8px;padding:4px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;scroll-padding:16px;cursor:grab;-webkit-user-select:none;user-select:none}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll.dragging{cursor:grabbing;scroll-snap-type:none}.tab{flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;color:#666;background:#f0f0f0;border:none;border-radius:20px;transition:all .2s;white-space:nowrap;cursor:pointer;scroll-snap-align:start}.tab:active{transform:scale(.95)}.tab.active{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.review-form{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:20px}.form-title{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.form-error{background:#fee;color:#c00;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.rating-group{margin-bottom:16px}.rating-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.rating-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.rating-group.small label{font-size:12px}.star-rating{display:flex;gap:4px}.star-rating .star{background:none;border:none;padding:0;cursor:pointer;transition:transform .1s}.star-rating .star:hover{transform:scale(1.1)}.rating-group.small .star-rating .star svg{width:20px;height:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea::placeholder{color:#aaa}.form-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-btn{padding:10px 20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.cancel-btn:hover:not(:disabled){background:#f5f5f5}.submit-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.submit-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.rating-row{grid-template-columns:1fr}}.review-list{display:flex;flex-direction:column;gap:16px}.no-reviews{text-align:center;padding:40px 20px;color:#888}.no-reviews p{margin:4px 0}.no-reviews p:first-child{font-size:15px}.no-reviews p:last-child{font-size:13px}.review-item{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #0000000f}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.reviewer-info{display:flex;align-items:center;gap:8px}.nickname{font-weight:600;color:#1a1a2e}.verified-badge{padding:2px 8px;font-size:10px;font-weight:500;color:#2d8c4e;background:#e8f5ed;border-radius:10px}.review-ratings{margin-bottom:12px}.sub-rating{font-size:12px;color:#666;padding:2px 8px;background:#f5f5f5;border-radius:10px}.review-content{font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap}.review-actions{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end}.delete-btn{padding:6px 12px;font-size:12px;color:#888;background:none;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{position:relative;width:100%;max-height:90vh;background:#f5f5f5;border-radius:20px 20px 0 0;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;cursor:pointer;z-index:10;box-shadow:0 2px 8px #0000001a}.modal-close:hover{background:#f0f0f0}.modal-content{max-height:90vh;overflow-y:auto;padding:20px 20px 100px}.modal-loading,.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.modal-loading .spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.modal-loading p{font-size:14px;color:#888}.modal-error p{font-size:14px;color:#e74c3c}.modal-error button{padding:10px 24px;font-size:14px;font-weight:500;color:#fff;background:#667eea;border:none;border-radius:8px;cursor:pointer}.modal-content .detail-header{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.modal-content .header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.modal-content .hospital-name{font-size:22px;font-weight:700;color:#1a1a2e}.modal-content .status-badge{padding:4px 12px;font-size:12px;font-weight:500;border-radius:12px;white-space:nowrap}.modal-content .status-badge.open{color:#2d8c4e;background:#e8f5ed}.modal-content .overall-rating{display:flex;align-items:center;gap:8px}.modal-content .rating-number{font-size:20px;font-weight:700;color:#667eea}.modal-content .review-count{font-size:14px;color:#888}.modal-content .detail-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.modal-content .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-content .section-title{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.modal-content .section-header .section-title{margin-bottom:0}.modal-content .write-review-btn{padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer}.modal-content .info-list{display:flex;flex-direction:column;gap:16px}.modal-content .info-item{display:flex;align-items:flex-start;gap:12px}.modal-content .info-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f0f4ff;border-radius:10px}.modal-content .info-content{display:flex;flex-direction:column;gap:2px}.modal-content .info-label{font-size:12px;color:#888}.modal-content .info-value{font-size:14px;color:#333}.modal-content .info-link{color:#667eea;text-decoration:none;word-break:break-all}.modal-content .info-link:hover{text-decoration:underline}.modal-content .facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.modal-content .facility-item{background:#f8f9fa;padding:14px;border-radius:10px;text-align:center}.modal-content .facility-label{display:block;font-size:12px;color:#888;margin-bottom:4px}.modal-content .facility-value{font-size:16px;font-weight:600;color:#667eea}.modal-action-buttons{position:fixed;bottom:0;left:0;right:0;padding:16px;background:#fff;box-shadow:0 -2px 10px #0000001a;z-index:1001}.modal-action-buttons .action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer}.modal-action-buttons .action-btn.primary{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.cost-calculator-section .toggle-calculator-btn{padding:8px 16px;font-size:13px;font-weight:500;color:#667eea;background:#f0f4ff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.cost-calculator-section .toggle-calculator-btn:hover{background:#e0e8ff}.cost-calculator{margin-top:16px}.cost-form{display:flex;flex-direction:column;gap:16px;padding:16px;background:#f8f9fa;border-radius:12px}.cost-form-group{display:flex;flex-direction:column;gap:6px}.cost-form-group label{font-size:13px;font-weight:500;color:#555}.cost-form-group select{padding:12px;font-size:14px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer}.cost-form-group select:focus{outline:none;border-color:#667eea}.cost-form-group.checkbox-group{flex-direction:row;align-items:center}.cost-form-group.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.cost-form-group.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#667eea}.calculate-btn{padding:14px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;cursor:pointer;margin-top:8px;transition:opacity .2s ease}.calculate-btn:disabled{opacity:.6;cursor:not-allowed}.cost-error{margin-top:12px;padding:12px;font-size:13px;color:#e74c3c;background:#fdf0ef;border-radius:8px}.cost-receipt{margin-top:20px;background:#fffef5;border:1px dashed #ddd;border-radius:12px;padding:20px;font-family:Courier New,monospace}.receipt-header{text-align:center;margin-bottom:16px}.receipt-header h4{font-size:16px;font-weight:700;color:#333;margin-bottom:4px}.receipt-hospital{font-size:12px;color:#666}.receipt-divider{height:1px;background:#ddd;margin:12px 0}.receipt-divider.dashed{background:transparent;border-top:1px dashed #ccc}.receipt-body{display:flex;flex-direction:column;gap:10px}.receipt-row{display:flex;justify-content:space-between;align-items:center}.receipt-label{font-size:13px;color:#555}.receipt-value{font-size:14px;font-weight:500;color:#333}.receipt-total{display:flex;justify-content:space-between;align-items:center;padding-top:8px}.total-label{font-size:15px;font-weight:700;color:#333}.total-value{font-size:20px;font-weight:700;color:#667eea}.receipt-footer{margin-top:16px;padding-top:12px;border-top:1px solid #eee}.receipt-message{font-size:12px;color:#667eea;text-align:center;margin-bottom:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.receipt-notice{font-size:11px;color:#999;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ai-review-section{background:linear-gradient(135deg,#f0f4ff,#faf0ff);border:1px solid #e0e8ff}.ai-review-section .section-title{display:flex;align-items:center;gap:8px;color:#667eea}.ai-review-section .ai-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border-radius:8px;box-shadow:0 2px 6px #667eea33}.ai-review-content{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #667eea1a}.ai-review-content p{font-size:14px;line-height:1.7;color:#444;margin:0;white-space:pre-line}.ai-review-content.blurred{position:relative}.ai-review-content.blurred>p{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.ai-review-login-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffff4d;border-radius:10px}.ai-review-login-overlay .lock-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border-radius:50%;box-shadow:0 2px 10px #667eea33}.ai-review-login-overlay p{font-size:14px;font-weight:500;color:#667eea;filter:none!important;-webkit-user-select:auto!important;user-select:auto!important;pointer-events:auto!important}.modal-content .data-source-footer{background:#f8f9fa;border-radius:12px;padding:16px;margin-bottom:16px}.modal-content .data-source-title{font-size:12px;font-weight:600;color:#888;margin:0 0 10px}.modal-content .data-source-list{margin:0;padding:0 0 0 16px;list-style-type:disc}.modal-content .data-source-list li{font-size:11px;color:#999;line-height:1.6}.modal-content .data-source-notice{font-size:10px;color:#aaa;margin:10px 0 0;padding-top:10px;border-top:1px solid #eee}.hospital-list-page{display:flex;flex-direction:column;gap:16px}.search-section{margin-bottom:8px}.search-form{display:flex;position:relative;align-items:center}.search-icon{position:absolute;right:16px;color:#888;pointer-events:none}.search-input{flex:1;padding:14px 48px 14px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#aaa}.search-button{padding:0 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.search-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.search-button:active{transform:translateY(0)}.result-count{font-size:14px;color:#666}.result-count strong{color:#667eea}.hospital-grid{display:flex;flex-direction:column;gap:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-more{display:flex;align-items:center;justify-content:center;padding:20px;gap:12px}.loading-more p{font-size:13px;color:#888}.spinner.small{width:24px;height:24px;border-width:2px}.hospital-detail-page{padding-bottom:100px}.detail-header{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.hospital-name{font-size:22px;font-weight:700;color:#1a1a2e}.status-badge{padding:4px 12px;font-size:12px;font-weight:500;border-radius:12px;white-space:nowrap}.status-badge.open{color:#2d8c4e;background:#e8f5ed}.status-badge.closed{color:#c00;background:#fee}.overall-rating{display:flex;align-items:center;gap:8px}.rating-number{font-size:20px;font-weight:700;color:#667eea}.review-count{font-size:14px;color:#888}.detail-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header .section-title{margin-bottom:0}.write-review-btn{padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.write-review-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.info-list{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;align-items:flex-start;gap:12px}.info-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f0f4ff;border-radius:10px}.info-content{display:flex;flex-direction:column;gap:2px}.info-label{font-size:12px;color:#888}.info-value{font-size:14px;color:#333}.info-link{color:#667eea;text-decoration:none;word-break:break-all;transition:color .2s}.info-link:hover{color:#764ba2;text-decoration:underline}.facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.facility-item{background:#f8f9fa;padding:14px;border-radius:10px;text-align:center}.facility-label{display:block;font-size:12px;color:#888;margin-bottom:4px}.facility-value{font-size:16px;font-weight:600;color:#667eea}.action-buttons{position:fixed;bottom:0;left:0;right:0;padding:16px;background:#fff;box-shadow:0 -2px 10px #0000001a;z-index:100}.action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.action-btn.primary{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{font-size:14px;color:#888}.error-state button{padding:10px 24px;font-size:14px;font-weight:500;color:#fff;background:#667eea;border:none;border-radius:8px;cursor:pointer}.data-source-footer{background:#f8f9fa;border-radius:12px;padding:16px;margin-bottom:16px}.data-source-title{font-size:12px;font-weight:600;color:#888;margin:0 0 10px}.data-source-list{margin:0;padding:0 0 0 16px;list-style-type:disc}.data-source-list li{font-size:11px;color:#999;line-height:1.6}.data-source-notice{font-size:10px;color:#aaa;margin:10px 0 0;padding-top:10px;border-top:1px solid #eee}@media (max-width: 480px){.facility-grid{grid-template-columns:repeat(2,1fr)}}.auth-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-container{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:28px;color:#1a1a2e;margin-bottom:8px}.auth-header p{color:#666;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background:#fee;color:#c00;padding:12px 16px;border-radius:8px;font-size:14px;border:1px solid #fcc}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#333}.form-group input{padding:14px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group input::placeholder{color:#aaa}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #eee}.auth-footer p{color:#666;font-size:14px}.auth-footer a{color:#667eea;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}@media (max-width: 480px){.auth-container{padding:24px}.auth-header h1{font-size:24px}}.mypage{display:flex;flex-direction:column;gap:20px}.profile-section{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000f}.profile-avatar{width:64px;height:64px;background:#f0f4ff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-info{flex:1}.profile-name{font-size:18px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.profile-stats{font-size:13px;color:#888}.logout-btn{padding:8px 16px;font-size:13px;color:#666;background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#eee}.reviews-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.section-title{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.my-review-list{display:flex;flex-direction:column;gap:16px}.my-review-item{background:#f8f9fa;border-radius:10px;padding:16px}.review-hospital-link{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e0e0e0;text-decoration:none;color:inherit}.review-hospital-link:hover .hospital-name{color:#667eea}.review-hospital-link .hospital-name{font-weight:600;color:#1a1a2e;transition:color .2s}.review-hospital-link svg{color:#888}.review-ratings{margin-bottom:10px}.main-rating{display:flex;align-items:center;gap:6px;margin-bottom:6px}.main-rating .rating-value{font-size:14px;font-weight:600;color:#667eea}.sub-ratings{display:flex;gap:8px;flex-wrap:wrap}.sub-rating{font-size:11px;color:#666;padding:2px 8px;background:#fff;border-radius:10px}.review-content{font-size:14px;color:#333;line-height:1.6;margin-bottom:12px}.review-footer{display:flex;justify-content:space-between;align-items:center}.review-date{font-size:12px;color:#888}.delete-btn{padding:6px 12px;font-size:12px;color:#888;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s}.delete-btn:hover{color:#c00;border-color:#c00}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p,.empty-state p{font-size:14px;color:#888}.error-state p{font-size:14px;color:#e74c3c}.error-state button{padding:8px 20px;font-size:13px;color:#fff;background:#667eea;border:none;border-radius:8px;cursor:pointer}.browse-link{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;text-decoration:none;transition:all .2s}.browse-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:16px 16px 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{max-width:480px;margin:0 auto;min-height:100vh;background-color:#fff;box-shadow:0 0 20px #0000001a}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none}ul,li{list-style:none}
