: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;display:flex;place-items:center;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}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px}.login-card h1{margin:0 0 .5rem;font-size:1.75rem;color:#1a202c;text-align:center}.login-subtitle{margin:0 0 2rem;color:#718096;text-align:center;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#2d3748;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.error-message{padding:.75rem;background-color:#fee;color:#c53030;border-radius:8px;font-size:.9rem;border-left:4px solid #fc8181}.login-button{padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.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}.dashboard-page{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-page h1{margin:0 0 .5rem;font-size:1.75rem;color:#1a202c}.welcome-text{color:#718096;margin:0 0 2rem}.user-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d}.user-card h2{margin:0 0 1.5rem;font-size:1.25rem;color:#2d3748}.user-details{background:#f7fafc;padding:1.5rem;border-radius:8px;border-left:4px solid #667eea}.user-details h3{margin:0 0 1rem;font-size:1.1rem;color:#2d3748}.detail-item{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.detail-item:last-child{border-bottom:none}.detail-item .label{font-weight:600;color:#4a5568;min-width:100px}.detail-item .value{color:#2d3748}.lessons-page{padding:2rem;max-width:1400px;margin:0 auto}.lessons-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.lessons-table table{width:100%;border-collapse:collapse}.lessons-table thead{background:#f7fafc}.lessons-table th{padding:1rem;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.lessons-table td{padding:1rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}.lessons-table tbody tr:hover{background:#f7fafc}.lesson-image{width:80px}.lesson-image img{width:60px;height:60px;object-fit:cover;border-radius:8px}.lesson-title{font-weight:500;color:#2d3748;max-width:300px}.lesson-description{color:#718096;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-form-page{padding:2rem;max-width:900px;margin:0 auto}.lesson-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000000d}.form-group input[type=text],.form-group input[type=url],.form-group input[type=email],.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.button-group{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;padding:1rem;background:#f7fafc;border-radius:8px;margin-bottom:1rem}.btn-small{padding:.5rem 1rem;font-size:.875rem}@media(max-width:768px){.button-group{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.tools-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.tools-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.tools-table table{width:100%;border-collapse:collapse}.tools-table thead{background:#f7fafc}.tools-table th{padding:1rem;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.tools-table td{padding:1rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}.tools-table tbody tr:hover{background:#f7fafc}.tool-image{width:80px}.tool-image img{width:60px;height:60px;object-fit:cover;border-radius:8px}.no-image{width:60px;height:60px;background:#e2e8f0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#a0aec0;text-align:center}.tool-title{font-weight:500;color:#2d3748;max-width:250px}.tool-description{color:#718096;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-url{max-width:200px}.tool-url a{color:#667eea;text-decoration:none}.tool-url a:hover{text-decoration:underline}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.tool-form-page{padding:2rem;max-width:900px;margin:0 auto}.tool-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000000d}.form-group input[type=text],.form-group input[type=url],.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.form-group input[type=file]{padding:.5rem 0}.image-preview{margin-bottom:1rem}.image-preview img{max-width:300px;max-height:200px;border-radius:8px;object-fit:cover;border:2px solid #e2e8f0}.prompts-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{margin:0;font-size:1.75rem;color:#1a202c}.search-form{display:flex;gap:.75rem;margin-bottom:2rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 4px #0000000d}.search-input{flex:1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .2s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-banner{background:#fee;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #fc8181}.loading{text-align:center;padding:3rem;color:#718096}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.empty-state p{color:#718096;margin-bottom:1.5rem;font-size:1.1rem}.prompts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.prompt-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:all .2s;display:flex;flex-direction:column}.prompt-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.prompt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.prompt-header h3{margin:0;font-size:1.25rem;color:#2d3748;flex:1}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.status-badge.published{background:#c6f6d5;color:#22543d}.status-badge.draft{background:#fed7d7;color:#742a2a}.prompt-description{color:#718096;margin:0 0 1rem;font-size:.95rem;line-height:1.5}.prompt-content-preview{background:#f7fafc;padding:1rem;border-radius:8px;font-size:.9rem;color:#4a5568;line-height:1.6;margin-bottom:1rem;flex:1;font-family:Monaco,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.prompt-meta{display:flex;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0;margin-bottom:1rem}.prompt-date{font-size:.85rem;color:#a0aec0}.prompt-actions{display:flex;gap:.5rem;flex-wrap:wrap}.delete-confirm{display:flex;gap:.5rem;align-items:center;font-size:.9rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.page-info{color:#4a5568;font-size:.95rem}.btn{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background:#c53030}.btn-small{padding:.4rem .8rem;font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.prompts-grid{grid-template-columns:1fr}.search-form{flex-direction:column}}.prompt-form-page{padding:2rem;max-width:900px;margin:0 auto}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.form-header h1{margin:0;font-size:1.75rem;color:#1a202c}.prompt-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000000d}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{margin:0 0 1rem;font-size:1.25rem;color:#2d3748}.section-description{color:#718096;font-size:.9rem;margin:0 0 1rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2d3748;font-size:.95rem}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{background-color:#f7fafc;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.prompt-content-textarea{font-family:Monaco,Courier New,monospace;font-size:.95rem;line-height:1.6;min-height:300px}.character-count{text-align:right;color:#a0aec0;font-size:.85rem;margin-top:.5rem}.checkbox-group label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem 0}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-group span{font-weight:500;color:#2d3748}.field-hint{margin:.5rem 0 0 2.5rem;color:#718096;font-size:.85rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #e2e8f0}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #667eea4d}.btn-secondary{background:#4a5568;color:#fff}.btn-secondary:hover:not(:disabled){background:#2d3748}.btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:#fee;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #fc8181}.error-banner button{background:none;border:none;color:#c53030;font-size:1.2rem;cursor:pointer;padding:0 .5rem}@media(max-width:768px){.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.layout{display:flex;min-height:100vh;background:#f7fafc}.sidebar{width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid #e2e8f0}.sidebar-header h2{margin:0 0 .25rem;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-header p{margin:0;color:#718096;font-size:.9rem}.sidebar-nav{flex:1;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar-nav a{display:flex;align-items:center;padding:.75rem 1rem;border-radius:8px;color:#4a5568;text-decoration:none;font-weight:500;transition:all .2s}.sidebar-nav a:hover{background:#f7fafc;color:#2d3748}.sidebar-nav a.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sidebar-footer{padding:1.5rem 1rem;border-top:1px solid #e2e8f0}.user-info{display:flex;flex-direction:column;gap:.75rem}.user-email{font-size:.85rem;color:#4a5568;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:.5rem 1rem;background:#e53e3e;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#c53030}.main-content{margin-left:260px;flex:1;min-height:100vh}@media(max-width:768px){.sidebar{width:200px}.main-content{margin-left:200px}}@media(max-width:640px){.sidebar{display:none}.main-content{margin-left:0}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;min-height:100vh}
