:root { --primary: #3498db; --success: #27ae60; --dark: #2c3e50; --bg: #f4f7f6; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; height: 100vh; display: flex; flex-direction: column; background: var(--bg); }

.navbar { background: white; padding: 15px 40px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 10; }
.logo { font-size: 22px; font-weight: 800; color: var(--dark); }
.logo span { color: var(--primary); }
nav a { margin: 0 15px; text-decoration: none; color: var(--dark); font-weight: 500; }

.main-layout { display: flex; flex: 1; overflow: hidden; }
.sidebar { width: 280px; background: white; border-right: 1px solid #ddd; padding: 20px; display: flex; flex-direction: column; gap: 20px; box-shadow: 2px 0 5px rgba(0,0,0,0.02); }
.tool-group { display: flex; flex-direction: column; gap: 8px; }
.tool-group label { font-size: 11px; font-weight: bold; color: #95a5a6; text-transform: uppercase; letter-spacing: 1px; }

.editor-area { flex: 1; overflow: auto; display: flex; justify-content: center; align-items: flex-start; padding: 40px; background: #dfe6e9; }
#editor-container { position: relative; background: white; box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
#pdf-canvas { position: absolute; top: 0; left: 0; z-index: 1; }
.canvas-container { position: absolute !important; top: 0; left: 0; z-index: 2; }

.btn-add { background: var(--primary); color: white; border: none; padding: 10px; border-radius: 4px; cursor: pointer; font-weight: 600; }
.btn-download { background: var(--success); color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; font-weight: bold; }
.btn-bold { padding: 8px; background: #f8f9fa; border: 1px solid #dee2e6; cursor: pointer; }
input, select { padding: 8px; border: 1px solid #dee2e6; border-radius: 4px; }

.drop-zone { border: 2px dashed var(--primary); width: 450px; height: 250px; display: flex; align-items: center; justify-content: center; background: white; border-radius: 12px; cursor: pointer; align-self: center; transition: 0.3s; }
.drop-zone:hover { background: #f0f7ff; }
.pagination { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 20px; border-top: 1px solid #eee; }
footer { background: white; text-align: center; padding: 12px; font-size: 12px; border-top: 1px solid #ddd; }


