@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.btn{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;background:#2d5a27;color:#fff}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary:hover:not(:disabled){background:#1e3d1a;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;background:#f9f4ee;color:#3d2b1f;border-color:#d9ccc0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-secondary:hover:not(:disabled){background:#e8ddd0}.btn-outline{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;background:transparent;color:#2d5a27;border-color:#2d5a27}.btn-outline:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-outline:hover:not(:disabled){background:#2d5a27;color:#fff;transform:translateY(-2px)}.btn-danger{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;background:#c0392b;color:#fff}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-danger:hover:not(:disabled){background:#a93226;transform:translateY(-2px)}.btn-warning{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-weight:600;font-size:.875rem;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;background:#fae8b4;color:#7a5a0a}.btn-warning:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-warning:hover:not(:disabled){background:#7a5a0a;color:#fff;transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.75rem}.card{background:#fefaf4;border-radius:12px;box-shadow:0 2px 10px #3d2b1f1a;padding:2rem;margin:1rem 0}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3d2b1f1f}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:600;color:#5c4033;margin-bottom:.5rem}.form-control{width:100%;padding:.75rem;border:2px solid #C4B5A8;border-radius:6px;font-size:1rem;font-family:inherit;background:#fff;color:#3d2b1f;transition:border-color .3s ease}.form-control:focus{outline:none;border-color:#2d5a27;box-shadow:0 0 0 3px #2d5a271f}.form-control.error{border-color:#c0392b}.form-control::placeholder{color:#9e7b6b}.form-error{color:#c0392b;font-size:.875rem;margin-top:.5rem}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px}.badge.active{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#c3e6cb;color:#1d5229}.badge.inactive{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#f5c6c2;color:#7b1d15}.session-type-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px}.session-type-badge.individual{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#eff7ee;color:#2d5a27}.session-type-badge.couples{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#fdf5e0;color:#c8941a}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px}.status-badge.active{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#c3e6cb;color:#1d5229}.status-badge.closed{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block;letter-spacing:.5px;background:#f5c6c2;color:#7b1d15}.status-badge.paused{background:#fae8b4;color:#7a5a0a}.loading{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:40px;height:40px;border:4px solid #E8DDD0;border-top:4px solid #2D5A27;border-radius:50%;animation:spin 1s linear infinite}.spinner-border{display:inline-block;width:.875rem;height:.875rem;border:.125rem solid #E8DDD0;border-top:.125rem solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.inline-spinner{display:inline-block;width:.875rem;height:.875rem;border:.125rem solid #E8DDD0;border-top:.125rem solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}.loading-spinner{width:40px;height:40px;border:4px solid #E8DDD0;border-top:4px solid #2D5A27;border-radius:50%;animation:spin 1s linear infinite}.modal-overlay{position:fixed;inset:0;background:#3d2b1f80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fefaf4;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #3d2b1f40}.modal-content h3{color:#3d2b1f;margin:0 0 1.5rem;font-size:1.5rem}.error,.error-message{padding:1rem;border-radius:6px;margin:1rem 0;display:flex;justify-content:space-between;align-items:center;color:#7b1d15;background:#f5c6c2;border:1px solid #F5C6C2}.error p,.error-message p{margin:0}.success,.success-message{padding:1rem;border-radius:6px;margin:1rem 0;display:flex;justify-content:space-between;align-items:center;color:#1d5229;background:#c3e6cb;border:1px solid #C3E6CB}.success p,.success-message p{margin:0}.container{max-width:800px;margin:0 auto;padding:2rem}.text-center{text-align:center}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.me-2{margin-right:.5rem}.w-100{width:100%}.section-header{border-bottom:2px solid #2D5A27;padding-bottom:1rem;margin-bottom:2rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fefaf4;border-radius:12px;box-shadow:0 2px 10px #3d2b1f1a}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#3d2b1f;margin-bottom:1rem;font-size:1.5rem}.empty-state p{color:#9e7b6b;margin-bottom:2rem;font-size:1.125rem}.loading-state,.loading-container{text-align:center;padding:3rem 2rem}.loading-state .loading-spinner,.loading-container .loading-spinner{margin:0 auto 1rem}.loading-state p,.loading-container p{color:#9e7b6b;margin:0}.error-state{text-align:center;padding:4rem;background:#fefaf4;border-radius:12px;box-shadow:0 2px 10px #3d2b1f1a}.error-state h2{color:#c0392b;margin-bottom:1rem}.error-state p{color:#9e7b6b;margin-bottom:2rem}.message-content h1{font-size:1.25rem;font-weight:700;margin:0 0 .5rem;color:#2d5a27}.message-content h2{font-size:1.125rem;font-weight:600;margin:1.5rem 0 .5rem;color:#2d5a27}.message-content h3{font-size:.875rem;font-weight:600;margin:1rem 0 .25rem;color:#5c4033}.message-content p{margin:0 0 .5rem}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:.25rem 0 .5rem;padding-left:1.5rem}.message-content li{margin-bottom:.25rem;line-height:1.7}.message-content strong{font-weight:600}.message-content em{font-style:italic}.message-content blockquote{margin:.5rem 0;padding:.5rem 1rem;border-left:3px solid #C8941A;background:#fdf5e0;border-radius:0 6px 6px 0;font-style:italic}.message-content blockquote p{margin:0;color:#5c4033}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5ecd7;min-height:100vh;color:#3d2b1f;line-height:1.6}a{color:#2d5a27;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{color:#3d2b1f;line-height:1.2}
