:root{--primary-bg: #f0f4f8;--secondary-bg: #ffffff;--text-primary: #102a43;--text-secondary: #486581;--accent-color: #3b82f6;--accent-hover: #2563eb;--border-color: #dcdfe6;--quadrant-e: #fca5a5;--quadrant-s: #fdba74;--quadrant-b: #86efac;--quadrant-i: #93c5fd;--quadrant-u: #d1d5db;--danger-color: #ef4444;--danger-hover: #dc2626;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans SC,sans-serif;background-color:var(--primary-bg);color:var(--text-primary);line-height:1.6}#root{max-width:800px;margin:2rem auto;padding:1rem}header{text-align:center;margin-bottom:2rem}header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary)}header p{font-size:1.1rem;color:var(--text-secondary);margin-top:.5rem}main{display:flex;flex-direction:column;gap:2rem}.card{background-color:var(--secondary-bg);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border-color)}h2{font-size:1.5rem;margin-bottom:1rem;border-bottom:2px solid var(--accent-color);padding-bottom:.5rem;color:var(--text-primary)}.quadrant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.quadrant{padding:1rem;border-radius:8px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid transparent}.quadrant:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.quadrant.selected{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 0 15px #3b82f680}.quadrant .letter{font-size:3rem;font-weight:700}.quadrant .title{font-size:1.2rem;font-weight:700;margin-top:.5rem}.quadrant .desc{font-size:.9rem;color:var(--text-secondary)}.quadrant-E{background-color:var(--quadrant-e)}.quadrant-S{background-color:var(--quadrant-s)}.quadrant-B{background-color:var(--quadrant-b)}.quadrant-I{background-color:var(--quadrant-i)}.quadrant-U{background-color:var(--quadrant-u)}.selected-quadrant-display{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center;font-size:1.1rem;font-weight:500}.selected-quadrant-display span{font-weight:700}.quadrant-text-E{color:#b91c1c}.quadrant-text-S{color:#b45309}.quadrant-text-B{color:#15803d}.quadrant-text-I{color:#1d4ed8}.quadrant-text-U{color:#4b5563}.financials-form{display:flex;flex-direction:column;gap:1.5rem}.form-section-header{margin-bottom:0rem;font-size:1.1rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.form-section-desc{font-size:.9rem;color:var(--text-secondary);margin:.5rem 0}.form-group{display:flex;flex-direction:column}.form-group.form-group-full{grid-column:1 / -1}.form-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-title-group{display:flex;align-items:baseline;gap:.75rem}.header-title-group>label{font-weight:700;color:var(--text-primary);font-size:1.1rem}.header-total-value{font-size:1.4rem;font-weight:700;color:var(--accent-hover)}.timeframe-selector{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.timeframe-selector label{flex:1;display:flex;align-items:center;justify-content:center;padding:.4rem .5rem;cursor:pointer;text-align:center;color:var(--text-secondary);background-color:var(--secondary-bg);transition:background-color .2s,color .2s;font-size:.9rem;border-left:1px solid var(--border-color)}.timeframe-selector label:first-child{border-left:none}.timeframe-selector input[type=radio]{display:none}.timeframe-selector label.active{background-color:var(--accent-color);color:#fff;font-weight:500;border-color:var(--accent-hover)}.form-group input,.item-input-name,.item-input-value{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background-color:#fff}.form-group input:focus,.item-input-name:focus,.item-input-value:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f633}.sub-items-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding-left:1rem;border-left:3px solid #e0e7ff}.sub-item{display:flex;flex-direction:column}.sub-item label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.sub-item input{padding:.6rem;font-size:.95rem}.image-upload-section{background-color:#f9fafb;border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.image-upload-controls{display:flex;gap:1rem;align-items:center}input#image-upload{display:none}.image-upload-label{background-color:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s,border-color .2s;white-space:nowrap}.image-upload-label:hover{background-color:#f0f4f8;border-color:#a0aec0}.analyze-button{background-color:var(--accent-color);color:#fff;font-size:1rem;font-weight:700;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:100px;height:38px}.analyze-button:hover:not(:disabled){background-color:var(--accent-hover)}.analyze-button:disabled{background-color:#9ca3af;cursor:not-allowed}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1rem}.image-preview-item{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.image-preview{width:100%;height:100px;object-fit:cover;display:block}.remove-image-button{position:absolute;top:4px;right:4px;width:22px;height:22px;background-color:#102a4399;color:#fff;border:1px solid white;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;transition:background-color .2s;padding:0}.remove-image-button:hover{background-color:var(--danger-color)}.error-message-small{color:#b91c1c;font-size:.9rem;margin-top:.5rem}.financial-item-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.item-input-name{flex:2}.item-input-value{flex:3}.remove-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background-color:#fee2e2;color:var(--danger-color);border-radius:50%;font-weight:700;font-size:1.2rem;cursor:pointer;transition:background-color .2s,color .2s;flex-shrink:0}.remove-button:hover{background-color:var(--danger-color);color:#fff}.add-item-button{background-color:transparent;color:var(--accent-color);border:2px dashed var(--border-color);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:700;transition:background-color .2s,border-color .2s,color .2s;width:100%;margin-top:.5rem}.add-item-button:hover{background-color:#eef2ff;border-color:var(--accent-color);color:var(--accent-hover)}.monthly-mode-container{padding-top:1rem}.month-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;background-color:#f9fafb;padding:.75rem;border-radius:6px;border:1px solid var(--border-color)}.month-selector label{font-size:1rem;color:var(--text-secondary)}.month-selector input[type=number]{width:60px;text-align:center;padding:.4rem;font-size:1rem}.monthly-inputs-container{display:flex;flex-direction:column;gap:1.5rem}.monthly-input-row{padding-left:1rem;border-left:3px solid #e0e7ff}.monthly-input-row h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.monthly-input-row .sub-items-container{border-left:none;padding-left:0}.button-container{text-align:center;margin-top:1rem}.cta-button{background-color:var(--accent-color);color:#fff;font-size:1.2rem;font-weight:700;padding:.8rem 2rem;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:180px}.cta-button:hover:not(:disabled){background-color:var(--accent-hover)}.cta-button:disabled{background-color:#9ca3af;cursor:not-allowed}.loader{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.loader-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}#ai-coach-response{margin-top:1rem;padding:1.5rem;background-color:#eef2ff;border-left:5px solid var(--accent-color);border-radius:8px}#ai-coach-response h3{font-size:1.3rem;color:var(--text-primary);margin-top:1.5rem;margin-bottom:1rem;padding-bottom:.25rem;border-bottom:1px solid #c7d2fe}#ai-coach-response p,#ai-coach-response ul,#ai-coach-response li{margin-bottom:1rem}#ai-coach-response ul{padding-left:1.5rem}#ai-coach-response strong{color:var(--text-primary)}#ai-coach-response code{background-color:#e0e7ff;padding:.2em .4em;margin:0;font-size:85%;border-radius:3px}.error-message{color:#ef4444;background-color:#fee2e2;border:1px solid #fca5a5;padding:1rem;border-radius:8px;margin-top:1rem}footer{text-align:center;margin-top:3rem;font-size:.9rem;color:var(--text-secondary)}@media (max-width: 600px){.quadrant-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.financials-form{grid-template-columns:1fr}.image-upload-controls{flex-direction:column;align-items:stretch}.analyze-button{width:100%}.sub-items-container{grid-template-columns:1fr}}
