*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f7fa;color:#333;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#1e3a5f,#2c5282);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.header h1{font-size:1.5rem;font-weight:600}.header nav a{color:#fff;text-decoration:none;margin-left:1.5rem;font-weight:500;transition:opacity .2s}.header nav a:hover{opacity:.8}.loading{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:#666}.public-view{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.download-button{display:flex;align-items:center;gap:.5rem;background:#2c5282;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s;margin-bottom:1.5rem}.download-button:hover{background:#1e3a5f}.main-content{display:flex;gap:2rem}.sidebar{width:280px;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:2rem}.sidebar ul{list-style:none}.sidebar li{padding:.75rem 1rem;cursor:pointer;border-radius:8px;margin-bottom:.25rem;transition:all .2s;font-size:.9rem;color:#555}.sidebar li:hover{background:#f0f4f8;color:#2c5282}.sidebar li.active{background:#2c5282;color:#fff;font-weight:500}.content-main{flex:1;min-width:0}.tabs-navigation{display:none}.content-area{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.content-area h1{color:#1e3a5f;font-size:1.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.content-area h2.section-title{color:#2c5282;font-size:1.4rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.content-area h3.subsection-title{color:#4a5568;font-size:1.2rem;margin:1.5rem 0 .75rem}.content-area h4.subsubsection-title{color:#718096;font-size:1.1rem;margin:1rem 0 .5rem}.content-area p{margin-bottom:1rem;text-align:justify}.content-area .indent-1{padding-left:1.5rem}.content-area .indent-2{padding-left:3rem}.content-area .indent-3{padding-left:4.5rem}.content-area .list-item{position:relative}.content-area .list-item:before{content:"•";position:absolute;left:-1rem;color:#2c5282}.content-area .list-item.indent-1:before{left:.5rem}.content-area .list-item.indent-2:before{left:2rem}.content-area .list-item.indent-3:before{left:3.5rem}.content-area .image-container{text-align:center;margin:1.5rem 0}.content-area .doc-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.content-area .inline-image{max-width:100%;height:auto;vertical-align:middle;margin:.5rem 0}.content-area .table-container{margin:1.5rem 0;overflow-x:auto}.content-area .doc-table{width:100%;border-collapse:collapse;font-size:.9rem}.content-area .doc-table th,.content-area .doc-table td{border:1px solid #e2e8f0;padding:.75rem 1rem;text-align:left}.content-area .doc-table th{background:#f9fafb;font-weight:600;color:#374151}.content-area .doc-table tr:nth-child(2n){background:#f7fafc}.content-area .doc-table tr:hover{background:#edf2f7}.content-area a,.content-main a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.content-area a:hover,.content-main a:hover{color:#1d4ed8;text-decoration:underline}.editable-table td,.editable-table th{border:1px solid #d1d5db!important;min-width:80px}.editable-table th{background-color:#f9fafb!important;color:#374151!important;font-weight:700}.table-controls{display:flex;gap:.5rem;margin-top:.5rem}.table-controls button{padding:4px 8px;font-size:12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer}.table-controls button:hover{background:#f3f4f6}.admin-view{padding:2rem;max-width:1200px;margin:0 auto}.admin-view h1{color:#1e3a5f;margin-bottom:2rem}.admin-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.admin-section h2{color:#2c5282;font-size:1.25rem;margin-bottom:1rem}.word-importer{border:2px dashed #cbd5e0;border-radius:8px;padding:2rem;text-align:center;transition:all .2s}.word-importer:hover{border-color:#2c5282;background:#f7fafc}.word-importer.dragging{border-color:#2c5282;background:#ebf4ff}.word-importer input[type=file]{display:none}.word-importer label{cursor:pointer;color:#2c5282;font-weight:500}.upload-btn{display:inline-flex;align-items:center;gap:.5rem;background:#2c5282;color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:background-color .2s}.upload-btn:hover{background:#1e3a5f}.warning-text{color:#c53030;font-size:.85rem;margin-top:.5rem}.pages-list{max-height:400px;overflow-y:auto}.page-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.page-item:last-child{border-bottom:none}.page-item:hover{background:#f7fafc}.page-actions{display:flex;gap:.5rem}.page-actions button{padding:.5rem;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:background-color .2s}.page-actions button:hover{background:#e2e8f0}.page-actions button.delete:hover{background:#fed7d7;color:#c53030}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.modal h3{margin-bottom:1rem;color:#1e3a5f}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary{background:#2c5282;color:#fff}.btn-primary:hover{background:#1e3a5f}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.btn-danger{background:#c53030;color:#fff}.btn-danger:hover{background:#9b2c2c}.layout-config{padding:0}.layout-config h2{color:#1e3a5f;font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0;display:flex;align-items:center;gap:.5rem}.layout-config h3{color:#2c5282;font-size:1.1rem;margin:1.5rem 0 1rem;display:flex;align-items:center;gap:.5rem}.layout-config .section-divider{margin:1.5rem 0;border:none;border-top:1px solid #e2e8f0}.layout-config .form-group{margin-bottom:1.25rem}.layout-config .form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.9rem}.layout-config .form-group input[type=text],.layout-config .form-group input[type=email],.layout-config .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;background:#fff}.layout-config .form-group input[type=text]:focus,.layout-config .form-group input[type=email]:focus,.layout-config .form-group textarea:focus{outline:none;border-color:#2c5282;box-shadow:0 0 0 3px #2c52821a}.layout-config .form-group input::placeholder{color:#9ca3af}.layout-config .form-group small{display:block;color:#6b7280;font-size:.8rem;margin-top:.375rem;line-height:1.4}.layout-config .color-picker{display:flex;gap:.75rem;align-items:center}.layout-config .color-picker input[type=color]{width:50px;height:40px;padding:0;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;background:transparent}.layout-config .color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.layout-config .color-picker input[type=color]::-webkit-color-swatch{border-radius:4px;border:none}.layout-config .color-picker input[type=text]{flex:1;max-width:140px}.layout-config .image-upload-area{border:2px dashed #cbd5e0;border-radius:12px;padding:1.5rem;text-align:center;background:#f9fafb;transition:all .2s;margin-top:.5rem}.layout-config .image-upload-area:hover{border-color:#2c5282;background:#f0f7ff}.layout-config .image-upload-area.has-image{background:#fff;border-style:solid;border-color:#e2e8f0}.layout-config .image-preview{max-width:220px;max-height:160px;object-fit:contain;margin-bottom:1rem;border-radius:8px;box-shadow:0 4px 12px #0000001a}.layout-config .image-placeholder-icon{color:#9ca3af;margin-bottom:.75rem}.layout-config .image-upload-text{color:#6b7280;font-size:.9rem;margin-bottom:1rem}.layout-config .image-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.layout-config .btn-upload{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#2c5282;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.layout-config .btn-upload:hover{background:#1e3a5f}.layout-config .btn-upload:disabled{background:#94a3b8;cursor:not-allowed}.layout-config .btn-remove{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff;color:#dc2626;border:1px solid #fecaca;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.layout-config .btn-remove:hover{background:#fef2f2;border-color:#dc2626}.layout-config .pdf-preview{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem}.layout-config .pdf-icon{color:#dc2626}.layout-config .pdf-name{color:#374151;font-size:.9rem;font-weight:500;word-break:break-all;text-align:center}.layout-config .btn-save{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#1e3a5f,#2c5282);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1.5rem;transition:all .2s;box-shadow:0 2px 8px #2c52824d}.layout-config .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2c528266}.layout-config .btn-save:active{transform:translateY(0)}@media(max-width:1200px){.topics-grid-container{grid-template-columns:repeat(4,1fr)!important}}@media(max-width:992px){.topics-grid-container{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:768px){.topics-grid-container{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:480px){.topics-grid-container{grid-template-columns:1fr!important}}@media(max-width:768px){.main-content{flex-direction:column}.sidebar{width:100%;position:static;max-height:none}.public-view,.content-area,.header{padding:1rem}.header h1{font-size:1.2rem}}
