@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap";:root,.light{--background-hsl: 0 0% 100%;--primary-hsl: 220 13% 9%;--secondary-hsl: 220 9% 46%;--accent-hsl: 187 82% 52%;--accent-text-hsl: 220 13% 9%;--accent-hover-hsl: 187 81% 47%;--ui-background-hsl: 220 14% 96%;--ui-hover-hsl: 220 13% 91%;--ui-border-hsl: 220 14% 89%;--destructive-hsl: 0 84% 60%;--destructive-text-hsl: 0 0% 100%;--destructive-hover-hsl: 0 72% 51%;--success-hsl: 134 61% 41%;--font-family: "Inter", sans-serif;--radius: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow: 0 4px 12px hsla(var(--primary-hsl), .08);--shadow-lg: 0 8px 24px hsla(var(--primary-hsl), .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%}body{font-family:var(--font-family);background-color:hsl(var(--ui-background-hsl));color:hsl(var(--primary-hsl));line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:80rem;margin:0 auto;padding:2rem 1.5rem}main{flex-grow:1;display:flex;flex-direction:column}.app-header{background-color:hsl(var(--background-hsl));padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;border-bottom:1px solid hsl(var(--ui-border-hsl))}.app-header .logo{height:2rem;color:hsl(var(--primary-hsl));text-decoration:none}.app-header .logo svg{height:100%;width:auto}.app-header nav{display:flex;align-items:center;gap:.5rem}.app-header .user-info{color:hsl(var(--secondary-hsl));margin-right:1rem;font-size:.9rem}.app-header .user-info strong{color:hsl(var(--primary-hsl))}.app-footer{text-align:center;padding:1.5rem;margin-top:auto;border-top:1px solid hsl(var(--ui-border-hsl));background-color:hsl(var(--background-hsl));display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.app-footer a{color:hsl(var(--secondary-hsl));text-decoration:none;font-size:.9rem}.app-footer a:hover{text-decoration:underline}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.page-header h1{font-size:2rem;font-weight:800;margin:0;letter-spacing:-.02em}.page-header-actions{display:flex;gap:1rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;padding:.65rem 1.25rem;font-size:.95rem;border-radius:var(--radius);transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out,opacity .2s ease-out;text-decoration:none;line-height:1.25}.btn:focus-visible{outline:2px solid hsl(var(--accent-hsl));outline-offset:2px}.btn:disabled{background-color:hsl(var(--ui-hover-hsl));border-color:hsl(var(--ui-hover-hsl));color:hsl(var(--secondary-hsl));cursor:not-allowed;opacity:.7}.btn{background-color:hsl(var(--accent-hsl));color:hsl(var(--accent-text-hsl))}.btn:hover:not(:disabled){background-color:hsl(var(--accent-hover-hsl))}.btn-secondary{background-color:hsl(var(--ui-background-hsl));color:hsl(var(--primary-hsl));border-color:hsl(var(--ui-border-hsl))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--ui-hover-hsl))}.btn-danger{background-color:hsl(var(--destructive-hsl));color:hsl(var(--destructive-text-hsl))}.btn-danger:hover:not(:disabled){background-color:hsl(var(--destructive-hover-hsl))}.btn-nav{background-color:transparent;color:hsl(var(--secondary-hsl));border:none;padding:.5rem 1rem;font-weight:500}.btn-nav:hover:not(:disabled){background-color:hsl(var(--ui-background-hsl));color:hsl(var(--primary-hsl))}.btn-nav.active{color:hsl(var(--primary-hsl));background-color:hsl(var(--ui-background-hsl))}.btn-icon{background:transparent;border:none;cursor:pointer;padding:.5rem;line-height:1;border-radius:50%;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem}.btn-icon:hover{background-color:hsl(var(--ui-background-hsl))}.auth-container{width:100%;max-width:26rem;margin:auto;padding:2rem;display:flex;flex-direction:column}.auth-logo{width:12rem;margin:0 auto 2.5rem;color:hsl(var(--primary-hsl))}.auth-container h1{text-align:center;margin-bottom:2rem;font-size:1.75rem;font-weight:700}.form-container{max-width:50rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:hsl(var(--secondary-hsl))}.form-control{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.5;color:hsl(var(--primary-hsl));background-color:hsl(var(--ui-background-hsl));background-clip:padding-box;border:1px solid hsl(var(--ui-border-hsl));border-radius:var(--radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{outline:none;border-color:hsl(var(--accent-hsl));box-shadow:0 0 0 2px hsla(var(--accent-hsl),.3)}.form-check{display:flex;align-items:center;gap:.5rem}.form-check-input{width:1.25em;height:1.25em}.form-check-label{margin-bottom:0;font-weight:500;color:hsl(var(--primary-hsl))}.error-message{color:hsl(var(--destructive-hsl));background-color:hsla(var(--destructive-hsl),.1);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center;font-size:.9rem}.success-message{color:hsl(var(--success-hsl));background-color:hsla(var(--success-hsl),.1);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center;font-size:.9rem}.view-switcher{display:flex;border:1px solid hsl(var(--ui-border-hsl));border-radius:var(--radius);overflow:hidden;height:2.75rem;background-color:hsl(var(--ui-background-hsl))}.view-btn{padding:.5rem 1rem;border:none;background-color:transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease;font-weight:600;color:hsl(var(--secondary-hsl));flex-grow:1}.view-btn:not(:last-child){border-right:1px solid hsl(var(--ui-border-hsl))}.view-btn.active{background-color:hsl(var(--background-hsl));color:hsl(var(--primary-hsl));box-shadow:0 1px 3px hsla(var(--primary-hsl),.05)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.5rem}.product-card{background:hsl(var(--background-hsl));border-radius:var(--radius-lg);border:1px solid hsl(var(--ui-border-hsl));overflow:hidden;transition:box-shadow .2s ease;display:flex;flex-direction:column;position:relative}.product-card:hover{box-shadow:var(--shadow-lg)}.product-card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex-grow:1}.product-card-image{width:100%;height:12.5rem;object-fit:cover;background-color:hsl(var(--ui-background-hsl))}.product-card-body{padding:1.25rem;display:flex;flex-direction:column;flex-grow:1}.product-card-title{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.product-card-description{color:hsl(var(--secondary-hsl));margin-bottom:1rem;font-size:.9rem;flex-grow:1}.product-card-footer{margin-top:auto;padding-top:1rem;border-top:1px solid hsl(var(--ui-border-hsl))}.product-card-clicks{display:block;font-size:.9em;color:hsl(var(--secondary-hsl));margin-bottom:.25rem}.product-card-clicks strong{color:hsl(var(--primary-hsl));font-weight:600}.product-card-link{font-size:.8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card-link a{color:hsl(var(--accent-hsl));text-decoration:none}.product-card-link a:hover{text-decoration:underline}.product-card .delete-btn{position:absolute;top:.75rem;right:.75rem;background-color:hsla(var(--destructive-hsl),.8);color:hsl(var(--destructive-text-hsl));border:none;border-radius:50%;width:2rem;height:2rem;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.product-card .delete-btn:hover{background-color:hsl(var(--destructive-hsl))}.table-responsive{overflow-x:auto;width:100%}.product-table{width:100%;border-collapse:collapse;background-color:hsl(var(--background-hsl))}.product-table th,.product-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid hsl(var(--ui-border-hsl));vertical-align:middle}.product-table th{font-weight:600;color:hsl(var(--secondary-hsl));font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.product-table tbody tr:hover{background-color:hsl(var(--ui-background-hsl))}.table-product-image,.table-user-avatar{width:2.5rem;height:2.5rem;object-fit:cover;border-radius:50%;background-color:hsl(var(--ui-hover-hsl))}.table-product-image{border-radius:var(--radius)}.product-table td a{color:hsl(var(--accent-hsl));text-decoration:none}.product-table td a:hover{text-decoration:underline}.delete-btn-table{color:hsl(var(--destructive-hsl));font-size:1.5rem}.delete-btn-table:hover{background-color:hsla(var(--destructive-hsl),.1)}.loader-container{display:flex;justify-content:center;align-items:center;padding:4rem}.loader{border:5px solid hsl(var(--ui-background-hsl));border-top:5px solid hsl(var(--accent-hsl));border-radius:50%;width:3.125rem;height:3.125rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:flex-start;z-index:2000;overflow-y:auto;padding:4rem 1rem}.modal-dialog{background:hsl(var(--background-hsl));padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:32rem;text-align:center;margin:auto}.modal-dialog.modal-lg{max-width:50rem}.modal-dialog h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.modal-dialog p{margin-bottom:1.5rem;color:hsl(var(--secondary-hsl))}.modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.modal-actions .btn{flex:1}.modal-dialog form .form-group{text-align:left}.image-preview{max-width:100%;max-height:12.5rem;border-radius:var(--radius);border:1px solid hsl(var(--ui-border-hsl));object-fit:contain;margin-top:.5rem}.plan-groups .plan-group{margin-bottom:2.5rem}.plan-groups .plan-group h2{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--ui-border-hsl));font-size:1.25rem}.tree-view{padding-left:0}.tree-node{margin:.25rem 0}.tree-node-content{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius);transition:background-color .2s}.tree-node-content:hover{background-color:hsl(var(--ui-background-hsl))}.tree-node-main{display:flex;align-items:center;gap:.75rem;flex-grow:1}.tree-node-toggle{display:inline-flex;width:1rem;align-items:center;justify-content:center;transition:transform .2s ease;font-size:.8em;color:hsl(var(--secondary-hsl))}.tree-node-toggle.open{transform:rotate(90deg)}.tree-node-children{padding-left:2.5rem;border-left:1px solid hsl(var(--ui-border-hsl));margin-left:1.25rem}.delete-btn-tree{color:hsl(var(--destructive-hsl));font-size:1.5rem;flex-shrink:0}.delete-btn-tree:hover{background-color:hsla(var(--destructive-hsl),.1)}.difficulty-badge{font-size:.75rem;font-weight:600;padding:.2em .6em;border-radius:1rem;margin-left:.75rem;line-height:1.5}.difficulty-beginner{background-color:#28a745;color:#fff}.difficulty-intermediate{background-color:#ffc107;color:hsl(var(--primary-hsl))}.difficulty-advanced{background-color:#dc3545;color:#fff}.tree-node.is-deleted{opacity:.6;pointer-events:none}.deleted-badge{font-size:.75rem;font-weight:600;padding:.2em .6em;border-radius:1rem;margin-left:.75rem;color:hsl(var(--secondary-hsl));background-color:hsl(var(--ui-hover-hsl));line-height:1.5}.modal-dialog .form-section{background-color:hsl(var(--ui-background-hsl));border:1px solid hsl(var(--ui-border-hsl));padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem}.schedule-builder{display:flex;flex-direction:column;gap:1.5rem}.day-editor{border:1px solid hsl(var(--ui-border-hsl));border-radius:var(--radius-lg);padding:1rem;background-color:hsl(var(--background-hsl))}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--ui-border-hsl))}.day-header h3{margin:0}.day-body{display:flex;flex-direction:column;gap:1rem;min-height:2.5rem}.empty-day-message{color:hsl(var(--secondary-hsl));text-align:center;padding:1rem}.add-phase-controls{margin-top:1rem;padding-top:1rem;border-top:1px dashed hsl(var(--ui-border-hsl));display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.add-phase-controls span{font-weight:500}.add-phase-controls button{background-color:hsl(var(--ui-hover-hsl));color:hsl(var(--primary-hsl));border:1px solid hsl(var(--ui-border-hsl));padding:.25rem .75rem;font-size:.9rem;border-radius:.5rem;cursor:pointer}.add-phase-controls button:hover{background-color:hsl(var(--ui-border-hsl))}.phase-editor{background-color:hsl(var(--ui-background-hsl));border:1px solid hsl(var(--ui-border-hsl));border-radius:var(--radius);padding:.75rem}.phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.phase-header strong{font-weight:600}.phase-body{display:flex;gap:.5rem}.phase-body .form-control{padding:.5rem;font-size:.9rem;background-color:hsl(var(--background-hsl))}.remove-btn{color:hsl(var(--destructive-hsl));font-size:1.25rem;font-weight:700}.remove-btn:hover{background-color:hsla(var(--destructive-hsl),.1);border-radius:50%}.nested-phases{margin-top:1rem;padding-left:1rem;border-left:2px solid hsl(var(--ui-border-hsl));display:flex;flex-direction:column;gap:1rem}.filters-container{background-color:hsl(var(--background-hsl));padding:1.5rem;border-radius:var(--radius-lg);border:1px solid hsl(var(--ui-border-hsl));margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:hsl(var(--secondary-hsl))}.filter-group .form-control,.filter-group .view-switcher{height:2.75rem}.filter-group button{width:100%}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-top:.25rem}.category-filter-group,.plan-type-filter-group,.plan-difficulty-filter-group{grid-column:span 2 / span 2}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;margin-top:2rem;background-color:hsl(var(--background-hsl));border-radius:var(--radius-lg);border:1px solid hsl(var(--ui-border-hsl));flex-wrap:wrap;gap:1.5rem}.pagination-info,.pagination-nav{display:flex;align-items:center;gap:1rem}.pagination-info .form-control{width:auto;padding-right:2.5rem;height:2.75rem}.pagination-buttons{display:flex;gap:.5rem}.prose-container{padding-top:3rem;padding-bottom:3rem;background-color:hsl(var(--background-hsl))}.prose-container-inner{max-width:800px;margin:0 auto}.prose{line-height:1.7;color:hsl(var(--secondary-hsl))}.prose h1,.prose h2,.prose h3{color:hsl(var(--primary-hsl));margin-top:2em;margin-bottom:1em;font-weight:700;line-height:1.3}.prose h1{font-size:2rem;text-align:center;margin-bottom:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose p{margin-bottom:1.25em}.prose strong{color:hsl(var(--primary-hsl));font-weight:600}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.25em}.prose li{margin-bottom:.5em}.prose a{color:hsl(var(--accent-hsl));text-decoration:none}.prose a:hover{text-decoration:underline}@media(max-width:992px){.filters-container{grid-template-columns:1fr 1fr}.category-filter-group,.plan-type-filter-group,.plan-difficulty-filter-group{grid-column:span 2 / span 2}}@media(max-width:768px){html{font-size:93.75%}.app-header{flex-direction:column;gap:1rem;padding:1rem}.app-header nav{flex-wrap:wrap;justify-content:center}.page-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.filters-container{grid-template-columns:1fr}.category-filter-group,.plan-type-filter-group,.plan-difficulty-filter-group{grid-column:auto}.pagination-controls{flex-direction:column;align-items:stretch;text-align:center}.pagination-info,.pagination-nav{justify-content:center}}
