.canto-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;overflow:hidden;border-left:4px solid #ccc}.canto-card.tem-refrao{border-left-color:#4caf50}.canto-card.sem-refrao{border-left-color:#f0b429}.canto-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #eee}.canto-titulo{font-weight:600;font-size:14px;color:#333}.canto-badge{font-size:11px;font-weight:500;padding:3px 8px;border-radius:12px}.canto-badge.ok{background:#e8f5e9;color:#388e3c}.canto-badge.aviso{background:#fff8e1;color:#f57f17}.canto-editor-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fafafa;border-bottom:1px solid #eee}.toolbar-btn{padding:4px 10px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:14px;line-height:1;color:#333;transition:background .15s,border-color .15s}.toolbar-btn:hover{background:#f0f0f0}.toolbar-btn.active{background:#8f0517;border-color:#8f0517;color:#fff}.toolbar-hint{font-size:11px;color:#999;font-style:italic}.canto-editor-content{padding:4px 0}.canto-editor-content .ProseMirror{padding:12px 16px;min-height:100px;outline:none;font-family:Verdana,sans-serif;font-size:13px;line-height:1.6;color:#333}.canto-editor-content .ProseMirror p{margin:0 0 2px}.canto-editor-content .ProseMirror p:empty:before{content:" ";display:block;height:1em;border-bottom:1px dashed #ddd;margin-bottom:2px;color:transparent}.canto-editor-content .ProseMirror strong{font-weight:700;color:#111}.canto-editor-content .ProseMirror:focus{box-shadow:inset 0 0 0 2px #8f051726;border-radius:0 0 6px}.lista-cantos{margin:24px 0}.lista-cantos-header{margin-bottom:16px}.lista-cantos-header h3{font-size:16px;font-weight:600;color:#8f0517;margin:0 0 4px}.lista-cantos-header p{font-size:12px;color:#888;margin:0}.lista-cantos-cards{display:flex;flex-direction:column;gap:12px}.gerar-container{padding:20px;max-width:600px;margin:0 auto}.gerar-header{margin-bottom:30px;text-align:center}.gerar-header h2{margin:0 0 8px;color:#8f0517;font-size:22px}.gerar-header p{margin:0;color:#666;font-size:14px}.gerar-form{background:#f5f5f5;padding:24px;border-radius:8px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input[type=file],.form-group input[type=text]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:Courier New,monospace}.form-group input:disabled{background-color:#e8e8e8;cursor:not-allowed}.dica-formato{margin-top:8px;font-size:12px;color:#666;background:#f0f4ff;border-left:3px solid #7c9cd9;padding:8px 10px;border-radius:0 4px 4px 0;line-height:1.5}.dica-formato code{font-family:Courier New,monospace;background:#dce8ff;padding:1px 4px;border-radius:3px;font-size:11px;color:#2c4a8a}.file-name{display:block;margin-top:6px;font-size:12px;color:#666;word-break:break-all}.input-with-suffix{display:flex;align-items:center;gap:8px}.input-with-suffix input{flex:1}.input-with-suffix span{color:#666;font-size:14px;white-space:nowrap}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.btn-primary{width:100%;padding:12px;background-color:#8f0517;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-primary:hover:not(:disabled){background-color:#6e0410}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.log-container{background:#f5f5f5;padding:16px;border-radius:8px}.log-container h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.log-content{background:#fff;border:1px solid #ddd;border-radius:4px;padding:12px;max-height:200px;overflow-y:auto;font-family:Courier New,monospace;font-size:12px}.log-line{margin-bottom:6px;color:#333;line-height:1.4}.log-line:last-child{margin-bottom:0}.validacao-loading{font-size:13px;color:#666;padding:8px 0;font-style:italic}.validacao-panel{border-radius:6px;padding:14px 16px;margin-bottom:20px;font-size:13px}.validacao-panel.ok{background:#f0faf0;border:1px solid #4caf50}.validacao-panel.tem-avisos{background:#fffbea;border:1px solid #f0b429}.validacao-panel.tem-erros{background:#fff5f5;border:1px solid #e53e3e}.validacao-titulo{font-weight:600;margin-bottom:10px;font-size:14px}.validacao-item{margin-bottom:6px;line-height:1.5}.validacao-item.erro{color:#c53030}.validacao-item.aviso{color:#7b4f00}.validacao-secoes{margin-top:12px;border-top:1px solid rgba(0,0,0,.1);padding-top:10px}.validacao-secoes-titulo{font-weight:600;margin-bottom:8px;color:#444}.secao-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:4px;margin-bottom:4px;background:#fff9}.secao-item.ok{border-left:3px solid #4caf50}.secao-item.sem-negrito{border-left:3px solid #f0b429}.secao-nome{font-weight:500;color:#333}.secao-info{font-size:12px;color:#666}.login-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f0517,#4a0209)}.login-box{background:#fff;border-radius:12px;padding:40px 36px;width:100%;max-width:360px;box-shadow:0 8px 32px #00000040}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:26px;font-weight:700;color:#8f0517;margin:0 0 6px}.login-logo p{font-size:13px;color:#888;margin:0}.login-form{display:flex;flex-direction:column;gap:12px}.login-form label{font-size:13px;font-weight:500;color:#444}.login-form input{padding:11px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;outline:none;transition:border-color .2s}.login-form input:focus{border-color:#8f0517}.login-erro{font-size:13px;color:#c0392b;background:#fdf0f0;border:1px solid #f5c6c6;padding:8px 12px;border-radius:5px}.login-form button{margin-top:4px;padding:12px;background:#8f0517;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.login-form button:hover{background:#6e0410}*{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:#fafafa}.app{display:flex;flex-direction:column;min-height:100vh;background-color:#fafafa}.app-header{background:linear-gradient(135deg,#8f0517,#6e0410);color:#fff;padding:32px 20px;text-align:center}.app-header h1{font-size:28px;margin-bottom:8px}.app-header p{font-size:14px;opacity:.9}.tabs{display:flex;background-color:#fff;border-bottom:2px solid #eee;gap:0;max-width:1200px;margin:0 auto;width:100%}.tab{flex:1;padding:16px 20px;background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;color:#666;border-bottom:3px solid transparent;transition:all .3s}.tab:hover{color:#8f0517}.tab.active{color:#8f0517;border-bottom-color:#8f0517}.app-content{flex:1;max-width:1200px;width:100%;margin:0 auto}.app-footer{background-color:#333;color:#999;text-align:center;padding:16px 20px;font-size:12px;margin-top:40px}.app-footer p{margin:0}@media (max-width: 768px){.app-header{padding:20px 16px}.app-header h1{font-size:22px}.app-header p{font-size:12px}.tab{padding:12px 16px;font-size:13px}}body{margin:0;padding:0;background-color:#fafafa}#root{width:100%}
