*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--secondary-color: #10b981;--text-primary: #1f2937;--text-secondary: #6b7280;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}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;color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6}html{scroll-behavior:smooth}.container{max-width:1200px;margin:0 auto;padding:0 2rem}section{padding:6rem 0}h1,h2,h3,h4{font-weight:700;line-height:1.2}h2{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}p{margin-bottom:1rem}a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary-dark)}button{font-family:inherit;cursor:pointer;border:none;outline:none}.fade-in{animation:fadeInUp .6s ease-out}@media(max-width:768px){.container{padding:0 1rem}h2{font-size:2rem}section{padding:4rem 0}}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.admin-login-box{background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:450px}.admin-logo{font-size:4rem;text-align:center;margin-bottom:1rem}.admin-title{text-align:center;font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#1f2937}.admin-subtitle{text-align:center;color:#6b7280;margin-bottom:2rem}.admin-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.95rem}.admin-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.95rem}.admin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.95rem}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:100px}.admin-button{padding:.875rem 2rem;background:#6366f1;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.admin-button:hover{background:#4f46e5;transform:translateY(-1px)}.admin-button:active{transform:translateY(0)}.admin-layout{min-height:100vh;background:#f9fafb}.admin-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px #0000000d}.admin-header-title{font-size:1.5rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.admin-nav{display:flex;gap:.5rem}.admin-nav-item{padding:.5rem 1rem;border:none;background:transparent;color:#6b7280;font-weight:500;cursor:pointer;border-radius:.375rem;transition:all .2s}.admin-nav-item:hover{background:#f3f4f6;color:#1f2937}.admin-nav-item.active{background:#6366f1;color:#fff}.admin-content{padding:2rem;max-width:1200px;margin:0 auto}.admin-section{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 1px 2px #0000000d}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.admin-section-title{font-size:1.5rem;font-weight:700;color:#1f2937}.admin-btn-primary{padding:.5rem 1rem;background:#6366f1;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.admin-btn-primary:hover{background:#4f46e5}.admin-btn-secondary{padding:.5rem 1rem;background:#fff;color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.admin-btn-secondary:hover{background:#f9fafb;color:#1f2937;border-color:#d1d5db}.admin-btn-danger{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.admin-btn-danger:hover{background:#dc2626}.admin-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.admin-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s}.admin-card:hover{border-color:#6366f1;box-shadow:0 4px 6px -1px #0000001a}.admin-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.admin-card-title{font-size:1.25rem;font-weight:600;color:#1f2937}.admin-card-actions{display:flex;gap:.5rem}.admin-card-actions button{padding:.375rem .75rem;font-size:.875rem}.admin-card-body{color:#6b7280;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.admin-card-demo-status{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280;margin-bottom:1rem}.demo-status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.demo-status-badge.document{background:#dbeafe;color:#1d4ed8}.demo-status-badge.video{background:#fce7f3;color:#be185d}.demo-status-badge.none{background:#f3f4f6;color:#9ca3af}.admin-card-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.admin-tag{padding:.25rem .75rem;background:#e0e7ff;color:#4338ca;border-radius:1rem;font-size:.85rem;font-weight:500}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal{background:#fff;border-radius:1rem;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.admin-modal-title{font-size:1.5rem;font-weight:700;color:#1f2937}.admin-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;transition:color .2s}.admin-modal-close:hover{color:#1f2937}.admin-modal-body{display:flex;flex-direction:column;gap:1.5rem}.admin-modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:2px solid #f3f4f6}@media(max-width:768px){.admin-login-box{padding:2rem}.admin-header,.admin-content{padding:1rem}.admin-section{padding:1.5rem}.admin-nav-item{padding:.5rem .75rem;font-size:.9rem}.admin-card-list{grid-template-columns:1fr}}.form-section-divider{margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.form-section-title{font-size:1.1rem;font-weight:600;color:#374151}.source-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.source-type-button{flex:1;padding:.5rem 1rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.source-type-button:hover{background:#e5e7eb;color:#374151}.source-type-button.active{background:#07c160;border-color:#07c160;color:#fff}.source-type-button.active:hover{background:#06ad56}.file-input-wrapper,.url-input-wrapper{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group input[type=file]{padding:.5rem;cursor:pointer}.form-group input[type=url]{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input[type=url]:focus{outline:none;border-color:#07c160;box-shadow:0 0 0 3px #07c1601a}.form-group input[type=url]:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.file-info{font-size:.85rem;color:#6b7280;margin-top:.5rem;padding:.5rem;background:#f9fafb;border-radius:.375rem}.form-hint{padding:.75rem 1rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:.5rem;color:#92400e;font-size:.9rem;margin:1rem 0}.demo-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;overflow-y:auto;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.demo-modal{background:#fff;border-radius:1rem;max-width:600px;width:100%;box-shadow:0 20px 25px -5px #0003;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.demo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f3f4f6}.demo-modal-title{font-size:1.5rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.demo-modal-close{background:none;border:none;font-size:2.5rem;cursor:pointer;color:#6b7280;line-height:1;transition:all .2s;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.demo-modal-close:hover{color:#ef4444;background:#fef2f2;transform:rotate(90deg)}.demo-modal-body{padding:2rem}.demo-modal-desc{font-size:1.1rem;color:#374151;text-align:center;margin-bottom:2rem}.demo-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.demo-option-button{padding:2rem;border:2px solid #e5e7eb;border-radius:1rem;background:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.demo-option-button:hover:not(.disabled){border-color:#07c160;background:#f0fdf4;transform:translateY(-4px);box-shadow:0 10px 15px -3px #07c16033}.demo-option-button.disabled{opacity:.5;cursor:not-allowed}.demo-option-icon{font-size:3rem}.demo-option-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.demo-option-title{font-size:1.25rem;font-weight:700;color:#1f2937}.demo-option-desc{font-size:.95rem;color:#6b7280}.demo-hint{text-align:center;padding:1rem;background:#fef3c7;border-radius:.5rem;color:#92400e;font-size:.9rem}.demo-viewer-modal{max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.demo-viewer-body{padding:1.5rem;flex:1;overflow-y:auto}.demo-content{min-height:300px}.url-preview{display:flex;flex-direction:column;gap:2rem}.url-info p{font-weight:600;color:#374151;margin-bottom:.5rem}.demo-link-button{color:#07c160;text-decoration:none;word-break:break-all;background:#f0fdf4;padding:.75rem 1rem;border-radius:.5rem;display:block;transition:background .2s}.demo-link-button:hover{background:#dcfce7}.video-container{margin-top:1rem;border-radius:.75rem;overflow:hidden;background:#000}.demo-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.demo-action-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.demo-action-button.primary{background:#07c160;color:#fff}.demo-action-button.primary:hover{background:#06ad56;transform:translateY(-2px)}.demo-action-button.secondary{background:#f3f4f6;color:#6b7280}.demo-action-button.secondary:hover{background:#e5e7eb;color:#374151}.demo-action-button.danger{background:#ef4444;color:#fff}.demo-action-button.danger:hover{background:#dc2626;transform:translateY(-2px)}.file-preview{display:flex;flex-direction:column;gap:1.5rem}.file-info-box{display:flex;gap:1.5rem;align-items:start;padding:2rem;background:#f9fafb;border-radius:1rem}.file-icon{font-size:4rem}.file-details h4{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.file-details p{color:#6b7280;font-size:1rem}.file-hint{background:#fef3c7;border-color:#fcd34d}.document-iframe{width:100%;height:500px;border:none;border-radius:.5rem;background:#fff}.document-alternative-view{padding:2rem 0}.office-online-viewer,.download-hint{text-align:center}.view-hint{font-size:1rem;color:#6b7280;margin-bottom:1.5rem}.view-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.image-preview{display:flex;justify-content:center;padding:2rem;background:#f9fafb;border-radius:.5rem}.text-preview{background:#f9fafb;border-radius:.5rem;padding:1rem}.local-file-hint{text-align:center;padding:2rem;background:#f0fdf4;border-radius:.5rem;border:2px dashed #86efac}.view-tip{font-size:.85rem;color:#9ca3af;margin-top:1rem}.office-doc-options{text-align:center;padding:2rem;background:#fef3c7;border-radius:.5rem;border:2px dashed #fcd34d}.word-preview-container{background:#f9fafb;border-radius:.5rem;padding:2rem;min-height:500px}.word-preview{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;max-height:500px;overflow-y:auto}.word-preview img{max-width:100%!important;height:auto!important}.word-preview p,.word-preview h1,.word-preview h2,.word-preview h3,.word-preview h4,.word-preview h5,.word-preview h6{margin:.5rem 0;line-height:1.6}.word-preview table{border-collapse:collapse;width:100%;margin:1rem 0}.word-preview table td,.word-preview table th{border:1px solid #e5e7eb;padding:.5rem}.word-preview ul,.word-preview ol{padding-left:2rem;margin:.5rem 0}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #07c160;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{text-align:center;padding:2rem;background:#fef2f2;border-radius:.5rem;border:2px solid #fecaca}.error-message p{color:#991b1b;margin-bottom:1.5rem;font-weight:600}@media(max-width:640px){.demo-options{grid-template-columns:1fr}.demo-modal-body{padding:1.5rem}.demo-modal-header{padding:1rem 1.5rem}.demo-option-button{padding:1.5rem}}.updating-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.updating-container{background:#fff;border-radius:1.5rem;padding:3rem;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 25px -5px #0003;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.updating-animation{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;height:80px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f4f6;border-top-color:#07c160;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-dot{width:12px;height:12px;background:#07c160;border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.loading-dot.dot2{animation-delay:.2s}.loading-dot.dot3{animation-delay:.4s}@keyframes pulse{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.updating-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.updating-message{font-size:1.1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.updating-illustration{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:1rem}.illustration-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.illustration-icon{font-size:2.5rem}.illustration-text{font-size:.95rem;color:#6b7280;font-weight:500}.illustration-divider{font-size:1.5rem;color:#d1d5db;font-weight:300}.updating-hint{font-size:.95rem;color:#6b7280;margin-bottom:2rem;padding:1rem;background:#fef3c7;border-radius:.5rem;border:1px solid #fcd34d}.updating-back-button{padding:1rem 2rem;background:#07c160;color:#fff;border:none;border-radius:.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.updating-back-button:hover{background:#06ad56;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.updating-back-button:active{transform:translateY(0)}@media(max-width:640px){.updating-container{padding:2rem 1.5rem}.updating-title{font-size:1.5rem}.updating-message{font-size:1rem}.updating-illustration{flex-direction:column}.illustration-divider{transform:rotate(90deg)}.updating-back-button{width:100%}}.navbar{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);z-index:1000;padding:1rem 0}.navbar-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:var(--text-secondary);font-weight:500;transition:color .3s ease}.nav-links a:hover{color:var(--primary-color)}.hero{padding-top:120px;min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.hero h1{font-size:3.5rem;margin-bottom:1rem;color:#fff}.hero p{font-size:1.25rem;margin-bottom:2rem;color:#ffffffe6;max-width:600px;margin-left:auto;margin-right:auto}.btn{display:inline-block;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:.5rem;transition:all .3s ease;text-decoration:none;cursor:pointer}.btn-primary{background:#fff;color:var(--primary-color)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.btn-secondary{background:transparent;color:#fff;border:2px solid white;margin-left:1rem}.btn-secondary:hover{background:#fff;color:var(--primary-color)}.portfolio{background:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{margin-bottom:1rem}.section-header p{color:var(--text-secondary);max-width:600px;margin:0 auto}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.project-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-md);transition:all .3s ease}.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-xl)}.project-image{width:100%;height:200px;object-fit:cover;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem}.project-content{padding:1.5rem}.project-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.project-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem;line-height:1.6}.project-tech{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tech-tag{padding:.25rem .75rem;background:var(--bg-secondary);color:var(--text-secondary);border-radius:1rem;font-size:.85rem;font-weight:500}.project-links{display:flex;gap:1rem}.project-link{padding:.5rem 1rem;border-radius:.375rem;font-size:.9rem;font-weight:500;transition:all .3s ease;text-decoration:none;border:none;cursor:pointer;display:inline-block;text-align:center}.project-link-primary{background:var(--primary-color);color:#fff}.project-link-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.project-link-primary:active{transform:translateY(0)}.project-link-secondary{background:var(--bg-secondary);color:var(--text-primary)}.project-link-secondary:hover{background:var(--border-color)}.about{background:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.skill-item{padding:1rem;background:var(--bg-secondary);border-radius:.5rem;text-align:center;font-weight:500;transition:all .3s ease}.skill-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact{background:var(--bg-secondary)}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:800px;margin:0 auto}.contact-card{background:#fff;padding:2rem;border-radius:1rem;text-align:center;box-shadow:var(--shadow-md);transition:all .3s ease}.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.contact-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.contact-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.contact-description{color:var(--text-secondary);font-size:.95rem}.footer{background:var(--text-primary);color:#fff;padding:2rem 0;text-align:center}.footer p{margin:0;color:#ffffffb3}@media(max-width:768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.nav-links{gap:1rem}.btn-secondary{margin-left:0;margin-top:1rem;display:block;width:100%}.about-content,.portfolio-grid{grid-template-columns:1fr}}@media(max-width:480px){.nav-links{display:none}.hero h1{font-size:2rem}}
