.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:3rem;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.login-box h1{margin-bottom:.5rem;color:#333;text-align:center}.login-box .subtitle{text-align:center;color:#666;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;text-align:center}button[type=submit]{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}button[type=submit]:hover{transform:translateY(-2px)}button[type=submit]:disabled{opacity:.6;cursor:not-allowed;transform:none}.dashboard-container{min-height:100vh;background-color:#f5f5f5}.dashboard-nav{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-nav h1{color:#333;font-size:1.5rem}.dashboard-nav>div{display:flex;align-items:center;gap:1rem}.dashboard-nav a{color:#667eea;text-decoration:none;font-weight:500}.nav-user{display:flex;align-items:center;gap:1rem}.nav-user span{color:#666}.btn-logout{padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-logout:hover{background-color:#c82333}.dashboard-content{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-content h2{color:#333;margin-bottom:2rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.dashboard-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;cursor:pointer}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.card-icon{font-size:3rem;margin-bottom:1rem}.dashboard-card h3{color:#333;margin-bottom:.5rem}.dashboard-card p{color:#666;line-height:1.6}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary:hover{transform:translateY(-2px)}.filters{display:flex;gap:1rem;margin-bottom:2rem}.filters button{padding:.5rem 1rem;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.filters button:hover{border-color:#667eea;color:#667eea}.filters button.active{background:#667eea;color:#fff;border-color:#667eea}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-item{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:1rem}.post-info{flex:1}.post-info h3{color:#333;margin-bottom:.5rem}.post-summary{color:#666;margin-bottom:.75rem;line-height:1.5}.post-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.status{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.status.published{background-color:#d4edda;color:#155724}.status.draft{background-color:#fff3cd;color:#856404}.tags{color:#667eea;font-size:.875rem}.post-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-edit{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;text-decoration:none;cursor:pointer;font-weight:500}.btn-edit:hover{background-color:#5568d3}.btn-toggle{padding:.5rem 1rem;background-color:#ffc107;color:#333;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-toggle:hover{background-color:#e0a800}.btn-delete{padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-delete:hover{background-color:#c82333}@media (max-width: 768px){.post-item{flex-direction:column;align-items:flex-start}.post-actions{width:100%;justify-content:flex-start}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.project-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:transform .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.project-image{width:100%;height:180px;object-fit:cover;background-color:#f0f0f0}.project-content{padding:1.5rem}.project-content h3{color:#333;margin-bottom:.5rem}.project-category{color:#667eea;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.project-description{color:#666;line-height:1.6;margin-bottom:1rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-badge{padding:.25rem .75rem;background-color:#e9ecef;color:#495057;border-radius:20px;font-size:.75rem;font-weight:500}.project-actions{display:flex;gap:.5rem;padding:0 1.5rem 1.5rem}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.image-uploader{margin-bottom:1.5rem}.image-uploader-label{display:block;margin-bottom:.75rem;color:#333;font-weight:600;font-size:1rem}.mode-selector{display:flex;gap:.5rem;margin-bottom:1rem}.mode-btn{flex:1;padding:.625rem 1rem;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;color:#666}.mode-btn:hover{border-color:#667eea;color:#667eea}.mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.url-mode{margin-bottom:1rem}.url-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.url-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.url-mode small{display:block;margin-top:.5rem;color:#666;font-size:.875rem;font-style:italic}.upload-mode{margin-bottom:1rem}.upload-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .2s ease,opacity .2s ease}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.upload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-mode small{display:block;margin-top:.5rem;color:#666;font-size:.875rem;font-style:italic;text-align:center}.progress-bar{width:100%;height:6px;background-color:#e0e0e0;border-radius:3px;overflow:hidden;margin-top:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:3px}.error-message{padding:.75rem;margin-top:.5rem;background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.875rem}.image-preview-container{position:relative;margin-top:1rem;border:2px solid #ddd;border-radius:8px;overflow:hidden;max-width:400px;box-shadow:0 2px 8px #0000001a}.image-preview{width:100%;height:auto;display:block}.clear-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;background-color:#ffffffe6;border:2px solid #ddd;border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.clear-btn:hover{background-color:#f44;color:#fff;border-color:#f44;transform:scale(1.1)}.image-preview{margin-top:1rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:8px;overflow:hidden;max-width:400px}.image-preview img{width:100%;height:auto;display:block}.editor-content{padding:2rem;max-width:1000px;margin:0 auto}.editor-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.editor-form .form-group{margin-bottom:1.5rem}.editor-form label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.editor-form input,.editor-form textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit}.editor-form input:focus,.editor-form textarea:focus{outline:none;border-color:#667eea}.editor-form small{display:block;margin-top:.25rem;color:#666;font-size:.875rem;font-style:italic}.markdown-editor{font-family:Courier New,monospace;resize:vertical;min-height:400px}.editor-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.editor-tabs button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:6px 6px 0 0;cursor:pointer;font-weight:500}.editor-tabs button.active{background:#667eea;color:#fff;border-color:#667eea}.markdown-preview{border:1px solid #ddd;border-radius:6px;padding:1.5rem;min-height:400px;background-color:#fafafa;line-height:1.8}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin-top:1.5rem;margin-bottom:.75rem;color:#333}.markdown-preview p{margin-bottom:1rem;color:#555}.markdown-preview code{background-color:#f4f4f4;padding:.2rem .4rem;border-radius:3px;font-size:.9em}.markdown-preview pre{background-color:#f4f4f4;padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem}.markdown-preview ul,.markdown-preview ol{margin-left:2rem;margin-bottom:1rem}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;cursor:pointer;margin-bottom:0}.checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.btn-cancel{padding:.75rem 1.5rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.btn-cancel:hover{background-color:#5a6268}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.btn-save:hover{transform:translateY(-2px)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:#666}.empty-state{text-align:center;padding:3rem;color:#999;font-size:1.1rem}
