*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Consolas", monospace;--bg:#f5f7fa;--bg-card:#fff;--bg-input:#fff;--bg-hover:#f0f4f3;--bg-section:#f7fafa;--bg-header:#fffffff2;--text:#1a2b2b;--text-2:#4a6060;--text-3:#8a9e9e;--primary:#1a8a6e;--primary-hover:#157a60;--primary-light:#e6f5f0;--primary-lighter:#f0faf6;--border:#dce5e5;--border-focus:#1a8a6e;--danger:#e54545;--warning:#e5a520;--success:#22a060;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--radius:8px;--radius-lg:12px;--transition:.15s ease}body.dark{--bg:#0c1a1a;--bg-card:#152525;--bg-input:#1a3030;--bg-hover:#1e3535;--bg-section:#122020;--bg-header:#0c1a1af2;--text:#e5f0f0;--text-2:#a0baba;--text-3:#607575;--primary:#3db892;--primary-hover:#35a882;--primary-light:#152e28;--primary-lighter:#0f2420;--border:#253838;--border-focus:#3db892;--shadow-sm:0 1px 3px #0003;--shadow-md:0 2px 8px #0000004d}html{font-size:15px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);height:100vh;transition:background var(--transition), color var(--transition);line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--bg-header);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex;position:sticky;top:0}.header-title{cursor:pointer;color:var(--primary);align-items:center;gap:.4rem;font-size:1rem;font-weight:700;display:flex}.header-actions{align-items:center;gap:.4rem;display:flex}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);white-space:nowrap;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--primary)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.btn-icon{color:var(--text-2);cursor:pointer;border-radius:var(--radius);transition:all var(--transition);background:0 0;border:none;padding:.3rem;font-size:1rem}.btn-icon:hover{background:var(--bg-hover);color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-1px)}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);color:var(--text);font-family:var(--font-sans);transition:border-color var(--transition);padding:.3rem .5rem;font-size:.82rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--primary-light);outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%238a9e9e' d='M5 7L1 3h8z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding-right:1.5rem}.textarea{resize:vertical;width:100%;min-height:2.5rem}.input-num{text-align:center;width:50px;font-family:var(--font-mono);padding:.3rem .15rem;font-size:.85rem}.chip-group{flex-wrap:wrap;gap:.25rem;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);color:var(--text-2);transition:all var(--transition);-webkit-user-select:none;user-select:none;border-radius:999px;padding:.2rem .55rem;font-size:.72rem}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chip:hover:not(.active){border-color:var(--primary);color:var(--primary)}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-box{text-align:center;width:100%;max-width:340px}.login-box h1{color:var(--primary);margin-bottom:.2rem;font-size:1.4rem;font-weight:700}.login-box p{color:var(--text-2);margin-bottom:1.5rem;font-size:.85rem}.login-form{flex-direction:column;gap:.6rem;display:flex}.login-form .input{width:100%;padding:.5rem .75rem}.login-error{color:var(--danger);min-height:1.2rem;font-size:.8rem}.shake{animation:.3s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.home-screen{width:100%;max-width:800px;margin:0 auto;padding:1.5rem 1rem}.home-section{margin-bottom:1.5rem}.home-section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:.6rem;font-size:.7rem;font-weight:600}.favorites-grid{flex-wrap:wrap;gap:.4rem;display:flex}.fav-chip{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-sans);transition:all var(--transition);border-radius:999px;padding:.4rem .85rem}.fav-chip:hover{background:var(--primary);color:#fff}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.category-card{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .75rem;display:flex}.category-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;display:flex}.category-name{font-size:.85rem;font-weight:600}.category-count{color:var(--text-3);font-size:.7rem}.category-empty{opacity:.35;pointer-events:none}.cat-screen{width:100%;max-width:600px;margin:0 auto;padding:1.5rem 1rem}.molde-list{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.molde-item{justify-content:space-between;align-items:center;padding:.7rem .85rem;display:flex}.molde-item-name{font-size:.9rem;font-weight:500}.molde-item-fav{cursor:pointer;color:var(--text-3);transition:color var(--transition);background:0 0;border:none;padding:.15rem .3rem;font-size:1.1rem}.molde-item-fav.is-fav{color:var(--warning)}.editor-screen{flex-direction:column;flex:1;height:calc(100vh - 42px);display:flex;overflow:hidden}.editor-toolbar{background:var(--bg-section);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .75rem;display:flex}.editor-toolbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.editor-main{flex:1;min-height:0;display:flex;overflow:hidden}.form-column{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:340px;min-height:0;display:flex;overflow:hidden}.form-toolbar{border-bottom:1px solid var(--border);background:var(--bg-section);flex-shrink:0;align-items:center;gap:.25rem;padding:.3rem .4rem;display:flex}.form-panel{flex-direction:column;flex:1;gap:.3rem;min-height:0;padding:.4rem;display:flex;overflow-y:auto}.ejemplo-panel{border-bottom:2px solid var(--primary);background:var(--primary-lighter);flex-shrink:0}.ejemplo-panel-header{color:var(--primary);justify-content:space-between;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:flex}.ejemplo-panel-body{color:var(--text-2);resize:vertical;max-height:35vh;padding:.4rem .6rem .5rem;font-size:.9rem;line-height:1.6;overflow-y:auto}.form-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.form-section-header{align-items:center;gap:0;padding:0;display:flex}.form-section-toggle{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;color:var(--primary);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;flex:1;align-items:center;gap:.3rem;padding:.4rem .5rem;font-size:.72rem;font-weight:700;display:flex}.form-section-toggle:hover{background:var(--primary-lighter)}.form-section-arrow{color:var(--text-3);font-size:.6rem}.form-section-count{color:var(--text-3);font-size:.6rem;font-weight:500;font-family:var(--font-mono);margin-left:auto}.form-section-insert{border:none;border-left:1px solid var(--border);color:var(--primary);cursor:pointer;transition:all var(--transition);background:0 0;padding:.3rem .5rem;font-size:.85rem;font-weight:700}.form-section-insert:hover{background:var(--primary-light)}.form-section-insert.inserted{color:var(--success)}.form-section-done{opacity:.7}.form-section-done:hover{opacity:1}.field-col{flex-direction:column;gap:.1rem;display:flex}.field-inline-item{align-items:center;gap:.15rem;display:inline-flex}.form-section-body{border-top:1px solid var(--border);flex-direction:column;gap:.3rem;padding:.3rem .5rem .5rem;display:flex}.field-group{flex-direction:column;gap:.1rem;display:flex}.field-compact{flex:1;min-width:0}.field-label{color:var(--text-2);font-size:.7rem;font-weight:600}.field-label .optional{color:var(--text-3);font-size:.65rem;font-weight:400}.field-row{align-items:center;gap:.25rem;display:flex}.field-unit{color:var(--text-3);flex-shrink:0;font-size:.7rem}.field-inline{flex-wrap:wrap;align-items:center;gap:.3rem;padding:.15rem 0;display:flex}.field-inline-label{color:var(--text-2);white-space:nowrap;min-width:fit-content;font-size:.72rem;font-weight:600}.field-inline .input-num{width:45px}.field-inline .select{padding:.25rem 1.3rem .25rem .4rem;font-size:.78rem}.field-inline .input{padding:.25rem .4rem;font-size:.78rem}.field-sep{color:var(--text-3);font-size:.75rem}.field-group-inline{align-items:flex-end;gap:.3rem;display:flex}.field-group-inline>.field-compact{flex:1;min-width:0}.right-panel{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.text-editor-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.text-editor-header{border-bottom:1px solid var(--border);background:var(--bg-section);justify-content:space-between;align-items:center;padding:.3rem .75rem;display:flex}.text-editor-header h3{color:var(--text-2);font-size:.75rem;font-weight:600}.text-editor{width:100%;font-family:var(--font-sans);color:var(--text);background:var(--bg-card);resize:none;border:none;outline:none;flex:1;padding:.75rem;font-size:.9rem;line-height:1.7}.text-editor::placeholder{color:var(--text-3)}.review-bar{border-top:1px solid var(--border);background:var(--bg-section);justify-content:space-between;align-items:center;padding:.3rem .75rem;display:flex}.review-bar-label{color:var(--text-2);font-size:.75rem;font-weight:600}.back-link{color:var(--primary);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-sans);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:.2rem;padding:.2rem 0;display:inline-flex}.back-link:hover{color:var(--primary-hover)}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:1000;padding:.5rem 1rem;font-size:.8rem;animation:.25s toast-in;position:fixed;bottom:1rem;right:1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ejemplos-fullscreen{z-index:200;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.ejemplos-header{border-bottom:1px solid var(--border);background:var(--bg-card);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ejemplos-header h2{color:var(--primary);font-size:1rem;font-weight:700}.ejemplos-header-actions{gap:.4rem;display:flex}.ejemplos-filters{border-bottom:1px solid var(--border);background:var(--bg-section);align-items:center;gap:.4rem;padding:.4rem 1rem;display:flex}.ejemplos-count{color:var(--text-3);white-space:nowrap;font-size:.75rem}.ejemplos-list{flex-direction:column;flex:1 1 0;gap:.35rem;min-height:0;padding:.5rem 1rem;display:flex;overflow-y:auto}.ejemplo-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.ejemplo-card.ejemplo-selected{border-color:var(--primary);background:var(--primary-lighter)}.ejemplo-card-header{align-items:center;display:flex}.ejemplo-card-toggle{font-family:var(--font-sans);color:var(--text);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;flex:1;align-items:center;gap:.3rem;padding:.45rem .6rem;font-size:.85rem;font-weight:500;display:flex}.ejemplo-card-toggle:hover{background:var(--bg-hover)}.ejemplo-card-arrow{color:var(--text-3);font-size:.6rem}.ejemplo-card-title{flex:1}.ejemplo-card-meta{color:var(--text-3);white-space:nowrap;margin-left:.5rem;font-size:.7rem}.ejemplo-card-check{border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--text-3);transition:color var(--transition);background:0 0;padding:.3rem .6rem;font-size:1rem}.ejemplo-card-check.checked,.ejemplo-card-check:hover{color:var(--primary)}.ejemplo-card-body{border-top:1px solid var(--border);color:var(--text-2);padding:.5rem .75rem;font-size:.88rem;line-height:1.6}.ejemplo-card-text{white-space:pre-wrap}.ejemplo-card-codigo{color:var(--text-3);margin-top:.3rem;font-size:.8rem}.ejemplo-card-codigo pre{white-space:pre-wrap;font-family:var(--font-sans);margin:0}.ejemplos-areas{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;padding:.5rem 0;display:grid}.ejemplo-area-card{text-align:center;flex-direction:column;align-items:center;gap:.3rem;padding:1.25rem 1rem;display:flex}.ejemplo-area-name{color:var(--primary);font-size:.95rem;font-weight:600}.ejemplo-area-count{color:var(--text-3);font-size:.75rem}.ejemplo-ref-separator{border-top:1px dashed var(--border);margin-top:.6rem;padding-top:.6rem}.ejemplo-ref-title{color:var(--primary);margin-bottom:.2rem;font-size:.75rem;display:block}.ejemplo-panel-collapsed{border-bottom:1px solid var(--border);background:var(--bg-section);padding:.2rem .5rem}@media (width<=900px){.editor-main{flex-direction:column}.form-column{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:45vh}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}
