/**
 * Aquagrif QMS - CSS principal
 * Extraído de: aquagrif_qms_v4_5_11_8_7_4.html
 *
 * NOTA: No edites este archivo directamente.
 * Para actualizar, sigue las instrucciones en README.md
 */


:root{--bg:#f5f2ee;--bg2:#edeae4;--sur:#fff;--sur2:#faf9f7;--br:#ddd9d2;--br2:#c8c2b8;--tx:#1a1714;--tx2:#4a453f;--tx3:#8a8178;--ac:#1a3a2a;--acl:#2d6b4a;--acp:#e8f0eb;--go:#b8860b;--gop:#fdf6e3;--re:#c0392b;--rep:#fdf0ee;--or:#d35400;--orp:#fef3ec;--gr:#1e7e4a;--grp:#eaf6ee;--sh:0 2px 12px rgba(26,23,20,.08);--shl:0 8px 32px rgba(26,23,20,.14)}

#aqms-root *{margin:0;padding:0;box-sizing:border-box}

#aqms-root{background:var(--bg);color:var(--tx);font-family:'Anybody',sans-serif;min-height:100vh;font-size:15px}

#aqms-root .app{display:flex;min-height:100vh}

#aqms-root .sb{width:222px;min-width:222px;background:var(--ac);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}

#aqms-root .sb-logo{padding:20px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}

#aqms-root .logo-m{font-family:'Playfair Display',serif;font-size:20px;font-weight:500;color:#fff;letter-spacing:.04em;margin-bottom:2px}

#aqms-root .logo-s{font-family:'JetBrains Mono',monospace;font-size:9px;color:rgba(255,255,255,.3);letter-spacing:.15em;text-transform:uppercase}

#aqms-root .sb-sec{padding:10px 8px 3px}

#aqms-root .sb-lbl{font-family:'JetBrains Mono',monospace;font-size:9px;color:rgba(255,255,255,.24);letter-spacing:.18em;text-transform:uppercase;padding:0 9px;margin-bottom:3px}

#aqms-root .ni{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:7px;cursor:pointer;transition:all .14s;color:rgba(255,255,255,.48);font-size:13px;margin-bottom:1px}

#aqms-root .ni:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.82)}

#aqms-root .ni.active{background:rgba(255,255,255,.13);color:#fff;font-weight:500}

#aqms-root .ni-ic{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;background:rgba(255,255,255,.07);flex-shrink:0}

#aqms-root .ni.active .ni-ic{background:rgba(255,255,255,.16)}

#aqms-root .ni-badge{margin-left:auto;background:var(--re);color:#fff;font-family:'JetBrains Mono',monospace;font-size:9px;padding:2px 6px;border-radius:10px}

#aqms-root .sb-bot{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.08)}

#aqms-root .u-chip{display:flex;align-items:center;gap:8px}

#aqms-root .u-av{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff}

#aqms-root .u-name{font-size:11px;color:rgba(255,255,255,.68);font-weight:500}

#aqms-root .u-role{font-family:'JetBrains Mono',monospace;font-size:9px;color:rgba(255,255,255,.28)}

#aqms-root .main{margin-left:222px;flex:1;display:flex;flex-direction:column}

#aqms-root .topbar{background:var(--sur);border-bottom:1px solid var(--br);padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}

#aqms-root .tb-ttl{font-size:15px;font-weight:600}
#aqms-root .tb-sub{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--tx3);margin-left:7px}

#aqms-root .tb-acts{display:flex;gap:8px}

#aqms-root .btn{padding:6px 13px;border-radius:7px;border:none;cursor:pointer;font-family:'Anybody',sans-serif;font-size:13px;font-weight:500;transition:all .13s;display:inline-flex;align-items:center;gap:5px;text-decoration:none}

#aqms-root .btn-p{background:var(--ac);color:#fff}
#aqms-root .btn-p:hover{background:var(--acl)}

#aqms-root .btn-s{background:var(--bg2);color:var(--tx2);border:1px solid var(--br)}
#aqms-root .btn-s:hover{border-color:var(--br2)}

#aqms-root .btn-g{background:var(--grp);color:var(--gr);border:1px solid rgba(30,126,74,.2)}

#aqms-root .btn-sm{padding:4px 9px;font-size:12px}
#aqms-root .btn-lg{padding:10px 18px;font-size:14px}

#aqms-root .page{display:none !important;padding:24px}
#aqms-root .page.active{display:block !important;animation:fi .18s ease}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

#aqms-root .card{background:var(--sur);border:1px solid var(--br);border-radius:11px;overflow:hidden}

#aqms-root .ch{padding:12px 16px;border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between}

#aqms-root .ct{font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px}

#aqms-root .cb{padding:16px}

#aqms-root .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}

#aqms-root .kpi{background:var(--sur);border:1px solid var(--br);border-radius:11px;padding:16px;position:relative;overflow:hidden}

#aqms-root .kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}

#aqms-root .kpi.re::before{background:var(--re)}
#aqms-root .kpi.or::before{background:var(--or)}
#aqms-root .kpi.go::before{background:var(--go)}
#aqms-root .kpi.gr::before{background:var(--gr)}

#aqms-root .kpi-l{font-size:11px;color:var(--tx3);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}

#aqms-root .kpi-v{font-size:28px;font-weight:700;line-height:1;margin-bottom:3px}

#aqms-root .kpi-s{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx3)}

#aqms-root .kpi-i{position:absolute;top:14px;right:14px;font-size:16px}

#aqms-root .pb{display:flex;align-items:center;gap:8px;margin-bottom:7px}

#aqms-root .pb-l{font-size:12px;color:var(--tx2);min-width:135px}

#aqms-root .pb-t{flex:1;height:6px;background:var(--bg2);border-radius:3px;overflow:hidden}

#aqms-root .pb-f{height:100%;border-radius:3px;background:var(--acl)}

#aqms-root .pb-v{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--tx3);min-width:24px;text-align:right}

#aqms-root .ir{display:flex;align-items:center;gap:9px;padding:7px;border-radius:6px;cursor:pointer;transition:background .1s}

#aqms-root .ir:hover{background:var(--bg2)}

#aqms-root .idot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

#aqms-root .dA{background:var(--re);box-shadow:0 0 0 3px rgba(192,57,43,.13)}

#aqms-root .dB{background:var(--or);box-shadow:0 0 0 3px rgba(211,84,0,.13)}

#aqms-root .dC{background:var(--go);box-shadow:0 0 0 3px rgba(184,134,11,.13)}

#aqms-root .badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.04em;font-family:'JetBrains Mono',monospace}

#aqms-root .bA{background:var(--rep);color:var(--re)}
#aqms-root .bB{background:var(--orp);color:var(--or)}
#aqms-root .bC{background:var(--gop);color:var(--go)}

#aqms-root .bopen{background:var(--rep);color:var(--re)}
#aqms-root .bprog{background:var(--orp);color:var(--or)}
#aqms-root .bclosed{background:var(--grp);color:var(--gr)}

#aqms-root .rtag{font-family:'JetBrains Mono',monospace;font-size:calc(var(--tc-dt-fs) * 0.77);background:var(--acp);color:var(--ac);padding:2px 6px;border-radius:4px;font-weight:500;white-space:nowrap}

#aqms-root .stag{font-family:'JetBrains Mono',monospace;font-size:calc(var(--tc-dt-fs) * 0.77);background:var(--acp);color:var(--ac);padding:2px 5px;border-radius:4px;font-weight:600}

#aqms-root .atag{font-family:'JetBrains Mono',monospace;font-size:calc(var(--tc-dt-fs) * 0.77);background:var(--gop);color:var(--go);padding:2px 5px;border-radius:4px;font-weight:600}

#aqms-root .sbar{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}

#aqms-root .si{flex:1;padding:8px 11px;border:1px solid var(--br);border-radius:7px;background:var(--sur);font-family:'Anybody',sans-serif;font-size:13px;color:var(--tx);outline:none;transition:border-color .14s;min-width:130px}

#aqms-root .si:focus{border-color:var(--acl)}
#aqms-root .si::placeholder{color:var(--tx3)}
#aqms-root select.si{cursor:pointer}

#aqms-root .dt{width:100%;border-collapse:collapse;table-layout:auto}

#aqms-root .dt th{background:var(--bg2);padding:7px 11px;text-align:left;font-size:11px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--br);white-space:nowrap;position:relative;overflow:hidden;min-width:30px}

#aqms-root .dt td{padding:8px 11px;border-bottom:1px solid var(--br);font-size:13px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

#aqms-root .dt tr:last-child td{border-bottom:none}
#aqms-root .dt tr:hover td{background:var(--bg2)}

#aqms-root .col-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:10;user-select:none;background:transparent;transition:background .15s}

#aqms-root .col-resizer:hover, #aqms-root .col-resizer.dragging{background:var(--acl);opacity:.55}

#aqms-root .uz{border:2px dashed var(--br2);border-radius:10px;padding:28px 14px;text-align:center;cursor:pointer;transition:all .18s;background:var(--sur2)}

#aqms-root .uz:hover, #aqms-root .uz.drag{border-color:var(--acl);background:var(--acp)}

#aqms-root .ui{font-size:32px;margin-bottom:8px}
#aqms-root .ut{font-size:14px;font-weight:600;margin-bottom:3px}
#aqms-root .us{font-size:12px;color:var(--tx3);line-height:1.5}

#aqms-root .uprev{width:100%;max-height:220px;object-fit:contain;border-radius:8px;margin-bottom:8px}

#aqms-root .fg{margin-bottom:12px}

#aqms-root .fl{display:block;font-size:11px;font-weight:600;color:var(--tx2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}

#aqms-root .fi, #aqms-root .fta{width:100%;padding:8px 10px;border:1px solid var(--br);border-radius:7px;background:var(--sur);font-family:'Anybody',sans-serif;font-size:13px;color:var(--tx);outline:none;transition:border-color .14s}

#aqms-root .fi:focus, #aqms-root .fta:focus{border-color:var(--acl)}
#aqms-root .fta{min-height:70px;resize:vertical;line-height:1.5}

#aqms-root .fi:disabled{opacity:.5;cursor:not-allowed}

#aqms-root .cs{display:flex;gap:6px}

#aqms-root .cb2{flex:1;padding:8px;border-radius:7px;border:2px solid var(--br);background:var(--sur);cursor:pointer;text-align:center;font-weight:700;font-size:12px;transition:all .14s;font-family:'JetBrains Mono',monospace}

#aqms-root .cb2:hover{border-color:var(--br2)}

#aqms-root .swrap{display:none;align-items:center;gap:9px;padding:11px;background:var(--acp);border-radius:8px;border:1px solid rgba(45,107,74,.16);margin-bottom:12px;font-size:12px;color:var(--acl);font-weight:500}

#aqms-root .swrap.on{display:flex}
@keyframes rot{to{transform:rotate(360deg)}}

#aqms-root .spin{width:14px;height:14px;border:2px solid rgba(45,107,74,.25);border-top-color:var(--acl);border-radius:50%;animation:rot .75s linear infinite;flex-shrink:0}

#aqms-root .ar{background:var(--sur);border:1px solid var(--br);border-radius:11px;padding:16px}

#aqms-root .as{margin-bottom:15px}
#aqms-root .as:last-child{margin-bottom:0}

#aqms-root .al{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--tx3);margin-bottom:5px}

#aqms-root .at{font-size:12px;color:var(--tx2);line-height:1.6;font-family:'JetBrains Mono',monospace}

#aqms-root .ii{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--bg2);border-radius:6px;margin-bottom:4px;font-size:12px;color:var(--tx2);line-height:1.4}

#aqms-root .ia{color:var(--acl);font-weight:700;flex-shrink:0;margin-top:1px}

#aqms-root .rw{background:var(--sur);border:1px solid var(--br);border-radius:11px;overflow:hidden}

#aqms-root .rh{background:var(--ac);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}

#aqms-root .rl{font-family:'Playfair Display',serif;font-size:17px;font-weight:500}

#aqms-root .rm{text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,.46);line-height:1.6}

#aqms-root .rb{padding:20px}

#aqms-root .rs{margin-bottom:16px}

#aqms-root .rst{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ac);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--acp)}

#aqms-root .rr{display:flex;gap:11px;margin-bottom:5px;font-size:12px}

#aqms-root .rk{color:var(--tx3);min-width:115px;font-weight:500}

#aqms-root .att{width:100%;border-collapse:collapse;font-size:11px}

#aqms-root .att th{background:var(--acp);padding:6px 8px;text-align:left;color:var(--ac);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em}

#aqms-root .att td{padding:6px 8px;border-bottom:1px solid var(--br);color:var(--tx2)}

#aqms-root .ltog{display:flex;gap:3px;background:var(--bg2);border-radius:6px;padding:2px}

#aqms-root .lbtn{padding:4px 10px;border-radius:4px;border:none;background:none;cursor:pointer;font-size:11px;font-weight:600;color:var(--tx3);font-family:'JetBrains Mono',monospace;transition:all .13s}

#aqms-root .lbtn.active{background:var(--sur);color:var(--tx);box-shadow:var(--sh)}

#aqms-root .ov{display:none;position:fixed;inset:0;background:rgba(26,23,20,.52);z-index:1000;align-items:center;justify-content:center;padding:20px}

#aqms-root .ov.open{display:flex}

#aqms-root .modal{background:var(--sur);border-radius:13px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shl)}

#aqms-root .mh{padding:15px 20px;border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between}

#aqms-root .mt{font-size:15px;font-weight:600}
#aqms-root .mc{background:none;border:none;font-size:18px;cursor:pointer;color:var(--tx3)}

#aqms-root .mb{padding:20px}
#aqms-root .mf{padding:12px 20px;border-top:1px solid var(--br);display:flex;justify-content:flex-end;gap:7px}

#aqms-root .pager{display:flex;align-items:center;gap:5px;justify-content:center;padding:11px 0}

#aqms-root .pg{padding:4px 9px;border-radius:6px;border:1px solid var(--br);background:var(--sur);cursor:pointer;font-size:12px;font-family:'JetBrains Mono',monospace;color:var(--tx2);transition:all .13s}

#aqms-root .pg:hover{border-color:var(--acl);color:var(--ac)}
#aqms-root .pg.cur{background:var(--ac);color:#fff;border-color:var(--ac)}
#aqms-root .pg:disabled{opacity:.4;cursor:default}

#aqms-root .mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}

#aqms-root .mslot{border:1px dashed var(--br2);border-radius:8px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .13s;position:relative;overflow:hidden;background:var(--sur2);gap:4px}

#aqms-root .mslot:hover{border-color:var(--acl);background:var(--acp)}
#aqms-root .mslot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

#aqms-root .mslot .ml{font-size:10px;color:var(--tx3);text-align:center;z-index:1;pointer-events:none}

#aqms-root .mdel{position:absolute;top:4px;right:4px;background:rgba(192,57,43,.9);color:#fff;border:none;border-radius:50%;width:19px;height:19px;font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:2}

#aqms-root .mslot:hover .mdel{display:flex}

#aqms-root .eta{width:100%;min-height:290px;padding:12px;border:1px solid var(--br);border-radius:9px;background:var(--sur);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--tx);outline:none;resize:vertical;transition:border-color .14s;line-height:1.6}

#aqms-root .eta:focus{border-color:var(--acl)}

#aqms-root .inforow{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--br)}

#aqms-root .inforow:last-child{border-bottom:none}

#aqms-root .iicon{font-size:14px;flex-shrink:0;margin-top:1px}
#aqms-root .ikey{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);margin-bottom:2px}
#aqms-root .ival{font-size:12px;color:var(--tx);line-height:1.5}

#aqms-root .upill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace}

#aqms-root .upA{background:var(--rep);color:var(--re);border:1px solid rgba(192,57,43,.16)}
#aqms-root .upM{background:var(--orp);color:var(--or);border:1px solid rgba(211,84,0,.16)}
#aqms-root .upB{background:var(--grp);color:var(--gr);border:1px solid rgba(30,126,74,.16)}

#aqms-root .pgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:7px;margin-bottom:16px}

#aqms-root .pthumb{border-radius:8px;overflow:hidden;cursor:pointer;border:1px solid var(--br);background:var(--bg2);aspect-ratio:1;transition:all .13s}

#aqms-root .pthumb:hover{border-color:var(--acl);transform:scale(1.02)}
#aqms-root .pthumb img{width:100%;height:100%;object-fit:cover}

#aqms-root .cc{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:var(--bg2);border:1px solid var(--br);border-radius:5px;font-size:11px;color:var(--tx2);margin:2px;cursor:default}

#aqms-root .cc:hover{background:var(--acp);border-color:var(--acp);color:var(--ac)}

#aqms-root .empty{text-align:center;padding:36px 18px;color:var(--tx3)}

#aqms-root .empty-i{font-size:40px;margin-bottom:9px}
#aqms-root .empty-t{font-size:14px;font-weight:600;color:var(--tx2);margin-bottom:4px}
#aqms-root .empty-s{font-size:12px;line-height:1.6}

#aqms-root .pc{background:var(--sur);border:1px solid var(--br);border-radius:10px;padding:13px;margin-bottom:9px}

#aqms-root .analytics-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:1100px){#aqms-root .analytics-grid{grid-template-columns:1fr 1fr!important}}

#aqms-root .abar{display:flex;align-items:center;gap:7px;margin-bottom:5px;font-size:11px;}

#aqms-root .abar-lbl{min-width:150px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;}

#aqms-root .attach-item{display:flex;align-items:center;gap:7px;padding:6px 9px;background:var(--bg2);border-radius:7px;font-size:11px;color:var(--tx2);}

#aqms-root .attach-item a{color:var(--acl);font-weight:600;text-decoration:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

#aqms-root .attach-item a:hover{text-decoration:underline;}

#aqms-root .attach-del{background:none;border:none;cursor:pointer;color:var(--re);font-size:13px;flex-shrink:0;padding:0 2px;}

#aqms-root .mbtn{padding:3px 7px;border-radius:5px;border:1px solid var(--br);background:var(--sur);cursor:pointer;font-size:10px;font-weight:600;font-family:'JetBrains Mono',monospace;color:var(--tx3);transition:all .12s;}

#aqms-root .mbtn:hover{border-color:var(--acl);color:var(--ac);}

#aqms-root .mbtn.sel{background:var(--ac);color:#fff;border-color:var(--ac);}

#aqms-root .strack{flex:1;height:5px;background:var(--bg2);border-radius:3px;overflow:hidden}
#aqms-root .sfill{height:100%;border-radius:3px}

#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:2000;align-items:center;justify-content:center}

#lightbox.open{display:flex}

.toaster{position:fixed;bottom:18px;right:18px;z-index:3000;display:flex;flex-direction:column;gap:6px}

#aqms-root .toast{background:var(--tx);color:#fff;padding:9px 14px;border-radius:8px;font-size:12px;font-weight:500;box-shadow:var(--shl);animation:sin .25s ease}
@keyframes sin{from{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}

#aqms-root .toast.ok{background:var(--gr)}
#aqms-root .toast.err{background:var(--re)}
@media(max-width:1100px){#aqms-root .kpi-grid{grid-template-columns:repeat(2,1fr)}#aqms-root .two-col{grid-template-columns:1fr!important}}
@media(max-width:768px){#aqms-root .sb{width:50px;min-width:50px}#aqms-root .sb .logo-m, #aqms-root .sb .logo-s, #aqms-root .sb-lbl, #aqms-root .ni span{display:none}#aqms-root .ni{justify-content:center}#aqms-root .main{margin-left:50px}}

/* ── TABLE CONTROLS ── */
:root{--tc-dt-fs:13px}

#aqms-root .dt td{font-size:var(--tc-dt-fs)!important}

#aqms-root .dt th{font-size:calc(var(--tc-dt-fs) * 0.85)!important}

#aqms-root .dt th.tc-sortable{cursor:pointer;user-select:none;transition:background .12s}

#aqms-root .dt th.tc-sortable:hover{background:var(--br);color:var(--tx)}

#aqms-root .tc-arr{font-size:8px;opacity:.35;transition:all .15s;display:inline-block;margin-left:3px}

#aqms-root .tc-arr.active{opacity:1;color:var(--acl)}

#aqms-root #tc-panel{animation:fi .15s ease}


#aqms-root </style>
  var editorCss='<style>.rs2{margin-bottom:12px;} 
#aqms-root .rsh{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ac);padding:4px 8px;background:var(--acp);border-radius:4px;border-left:3px solid var(--ac);margin-bottom:7px;} 
#aqms-root .rf{margin-bottom:7px;} 
#aqms-root .rf label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);margin-bottom:2px;} 
#aqms-root .re{font-size:12px;line-height:1.6;color:var(--tx1);padding:6px 9px;background:var(--bg2);border-radius:6px;border:1px solid var(--br);min-height:24px;white-space:pre-wrap;cursor:text;} 
#aqms-root .re:focus{outline:none;border-color:var(--acl);background:var(--sur);} 
#aqms-root .rdr{display:flex;gap:8px;font-size:11px;padding:3px 0;border-bottom:1px solid var(--br2);} 
#aqms-root .rdr .rdk{font-weight:600;color:var(--tx2);min-width:120px;flex-shrink:0;}
#aqms-root </style>';

  function sec(title, #aqms-root content){ return '<div class="rs2"><div class="rsh">'+title+'</div>'+content+'</div>'; }
  
#aqms-root function dr(k, #aqms-root v){ return '<div class="rdr"><span class="rdk">'+k+'</span><span>'+v+'</span></div>'; }
  
#aqms-root function field(lbl, #aqms-root key, #aqms-root val, #aqms-root multiline){
    var tag=multiline?'div':'div';
    return '<div class="rf"><label>'+lbl+'</label>'
      +'<div class="re" contenteditable="true" data-key="'+key+'">'+val+'</div></div>';
  }

  
#aqms-root var L = EN ?{
    incident:'Incident', product:'Product', series:'Series', component:'Component',
    batch:'Batch / Lot', supplier:'Supplier', units:'Units affected', severity:'Severity',
    team:'D1 — Team', coord:'Coordinator', members:'Team members',
    probDesc:'D2 — Problem description', defectDesc:'Defect description', defectType:'Defect type',
    contain:'D3 — Containment actions', actionsTaken:'Actions taken', date:'Date', responsible:'Responsible',
    rootCause:'D4 — Root cause', causeId:'Identified cause', why5:'5 Why Analysis',
    corrective:'D5 — Corrective actions', actProp:'Proposed actions', deadline:'Response deadline',
    impl:'D6 — Implementation & verification', implPlan:'Implementation plan', evidence:'Evidence / verification',
    prevent:'D7 — Recurrence prevention', preventMeas:'Preventive measures', controlPlan:'Control plan update',
    close:'D8 — Closure', remarks:'Remarks', aqgSign:'Aquagrif signature',
    // NCR
    ncrTitle:'1. Non-conformity data', ncrInsp:'Units inspected', ncrDetDate:'Detection date',
    ncrDesc:'2. Defect description', ncrDescF:'Description', ncrType:'Type', ncrEvid:'Evidence',
    ncrDisp:'3. Material disposition', ncrDec:'Decision', ncrResp:'Responsible',
    ncrCorr:'4. Corrective action requested', ncrAct:'Required actions', ncrDeadl:'Response deadline',
    ncrSign:'5. Sign-off', ncrAqgSign:'Signed by Aquagrif', ncrProvResp:'Supplier response',
    // CAPA
    capaId:'1. Identification', capaRef:'CAPA reference', capaOrigin:'Origin incident',
    capaOpen:'Opening date', capaProv:'Supplier', capaProd:'Product',
    capaProb:'Problem description', capaRoot:'2. Root cause analysis',
    capaTool:'Tool used', capaCause:'Identified root cause',
    capaCorr:'3. Corrective actions', capaPlanned:'Planned actions',
    capaResp:'Responsible', capaDeadl:'Deadline',
    capaPrev:'4. Preventive actions', capaPrevM:'Preventive measures', capaProc:'Procedure update',
    capaVerif:'5. Verification & closure', capaEv:'Evidence', capaStatus:'CAPA status', capaApproved:'Approved by Aquagrif'
  } 
#aqms-root :{
    incident:'Incidencia', product:'Producto', series:'Serie', component:'Componente',
    batch:'Lote', supplier:'Proveedor', units:'Uds. afectadas', severity:'Criticidad',
    team:'D1 — Equipo de trabajo', coord:'Coordinador', members:'Miembros',
    probDesc:'D2 — Descripción del problema', defectDesc:'Descripción del defecto', defectType:'Tipo de defecto',
    contain:'D3 — Acciones de contención', actionsTaken:'Acciones tomadas', date:'Fecha', responsible:'Responsable',
    rootCause:'D4 — Causa raíz', causeId:'Causa identificada', why5:'Análisis 5 Por qués',
    corrective:'D5 — Acciones correctivas', actProp:'Acciones propuestas', deadline:'Plazo de respuesta',
    impl:'D6 — Implementación y verificación', implPlan:'Plan de implementación', evidence:'Evidencias / verificación',
    prevent:'D7 — Prevención de recurrencia', preventMeas:'Medidas preventivas', controlPlan:'Actualización plan de control',
    close:'D8 — Cierre', remarks:'Observaciones', aqgSign:'Firma Aquagrif',
    // NCR
    ncrTitle:'1. Datos de la no conformidad', ncrInsp:'Uds. inspeccionadas', ncrDetDate:'Fecha detección',
    ncrDesc:'2. Descripción del defecto', ncrDescF:'Descripción', ncrType:'Tipo', ncrEvid:'Evidencias',
    ncrDisp:'3. Disposición del material', ncrDec:'Decisión', ncrResp:'Responsable',
    ncrCorr:'4. Acción correctiva solicitada', ncrAct:'Acciones requeridas', ncrDeadl:'Plazo de respuesta',
    ncrSign:'5. Firma y cierre', ncrAqgSign:'Firmado por Aquagrif', ncrProvResp:'Respuesta del proveedor',
    // CAPA
    capaId:'1. Identificación', capaRef:'Referencia CAPA', capaOrigin:'Incidencia origen',
    capaOpen:'Fecha apertura', capaProv:'Proveedor', capaProd:'Producto',
    capaProb:'Descripción del problema', capaRoot:'2. Análisis de causa raíz',
    capaTool:'Herramienta utilizada', capaCause:'Causa raíz identificada',
    capaCorr:'3. Acciones correctivas', capaPlanned:'Acciones planificadas',
    capaResp:'Responsable', capaDeadl:'Plazo',
    capaPrev:'4. Acciones preventivas', capaPrevM:'Medidas preventivas', capaProc:'Actualización de procedimientos',
    capaVerif:'5. Verificación y cierre', capaEv:'Evidencias', capaStatus:'Estado CAPA', capaApproved:'Aprobado por Aquagrif'
  };

  var baseData = dr(L.incident,'<span class="rtag">'+inc.id+'</span>')
    +dr(L.product,'<span class="rtag">'+inc.ref+'</span> '+esc(prod.producto||''))
    +dr(L.series,esc(prod.serie||'—'))
    +(inc.comp?dr(L.component,'<span class="rtag">'+inc.comp+'</span> '+esc(inc.compN)):'')
    +dr(L.batch,esc(inc.lote))+dr(L.supplier,esc(inc.prov))
    +dr(L.units,String(inc.cant))+dr(L.severity,'<span class="badge b'+inc.crit+'">'+inc.crit+'</span>');

  var p2 = EN ? 'To be completed by supplier' : 'A completar por el proveedor';
  var p3 = EN ? 'To be completed' : 'A completar';
  var why5vals = EN
    ? 'Why? 1: \nWhy? 2: \nWhy? 3: \nWhy? 4: \nWhy? 5: '
    : '\u00bfPor qu\u00e9? 1: \n\u00bfPor qu\u00e9? 2: \n\u00bfPor qu\u00e9? 3: \n\u00bfPor qu\u00e9? 4: \n\u00bfPor qu\u00e9? 5: ';
  var content8d = sec(L.team,
      field(L.coord,'d1_coord',(EN?'Quality Manager — Aquagrif S.L.':'Responsable de Calidad — Aquagrif S.L.'))
      +field(L.members,'d1_team',(EN?'Quality, Purchasing, Warehouse':'Calidad, Compras, Almacén')))
    +sec(L.probDesc,baseData
      +field(L.defectDesc,'d2_desc',esc(inc.desc),true)
      +field(L.defectType,'d2_tipo',esc(inc.tipo)))
    +sec(L.contain,
      field(L.actionsTaken,'d3_acc',esc(inc.accion),true)
      +field(L.date,'d3_fecha',esc(inc.fecha))
      +field(L.responsible,'d3_resp',(EN?'Quality Dept.':'Dpto. de Calidad')))
    +sec(L.rootCause,
      field(L.causeId,'d4_causa',esc(inc.causa||(EN?'To be completed':'A completar')),true)
      +field(L.why5,'d4_5w',why5vals,true))
    +sec(L.corrective,
      field(L.actProp,'d5_corr','1. \n2. \n3. ',true)
      +field(L.deadline,'d5_plazo',dls))
    +sec(L.impl,
      field(L.implPlan,'d6_plan',p2,true)
      +field(L.evidence,'d6_ev',p3))
    +sec(L.prevent,
      field(L.preventMeas,'d7_prev',p2,true)
      +field(L.controlPlan,'d7_plan',(EN?'Yes / No — indicate revision':'Sí / No — indicar revisión')))
    +sec(L.close,
      field(L.remarks,'d8_obs',(EN?'Report closed pending verification.':'Informe cerrado pendiente de verificación.'))
      +field(L.aqgSign,'d8_firma','Aquagrif S.L. — '+(EN?'Quality Dept.':'Dpto. Calidad')+' — '+today));

  var contentNCR = sec(L.ncrTitle,baseData
      +field(L.ncrInsp,'ncr_insp','—')
      +field(L.ncrDetDate,'ncr_fecha',esc(inc.fecha)))
    +sec(L.ncrDesc,
      field(L.ncrDescF,'ncr_desc',esc(inc.desc),true)
      +field(L.ncrType,'ncr_tipo',esc(inc.tipo))
      +field(L.ncrEvid,'ncr_ev',(EN?'Attach photos to report':'Adjuntar fotos al informe')))
    +sec(L.ncrDisp,
      field(L.ncrDec,'ncr_disp',esc(inc.accion),true)
      +field(L.ncrResp,'ncr_resp',(EN?'Warehouse / Quality':'Almacén / Calidad')))
    +sec(L.ncrCorr,
      field(L.ncrAct,'ncr_acc',(EN
        ?'1. Root cause analysis\n2. Corrective action plan\n3. Verification evidence'
        :'1. Análisis de causa raíz\n2. Plan de acciones correctivas\n3. Evidencias de verificación'),true)
      +field(L.ncrDeadl,'ncr_plazo',dls))
    +sec(L.ncrSign,
      field(L.ncrAqgSign,'ncr_firma',(EN?'Quality Dept. — Aquagrif S.L. — ':'Dpto. Calidad — Aquagrif S.L. — ')+today)
      +field(L.ncrProvResp,'ncr_prov',(EN?'Pending':'Pendiente')));

  var contentCAPA = sec(L.capaId,
      dr(L.capaRef,'CAPA-'+inc.id)+dr(L.capaOrigin,'<span class="rtag">'+inc.id+'</span>')+dr(L.capaOpen,today)
      +dr(L.capaProv,esc(inc.prov))+dr(L.capaProd,esc(inc.ref)+(inc.comp?' / '+esc(inc.compN):''))
      +field(L.capaProb,'cap_prob',esc(inc.desc),true))
    +sec(L.capaRoot,
      field(L.capaTool,'cap_tool',(EN?'Ishikawa / 5 Whys / 8D':'Diagrama Ishikawa / 5 Por qués / 8D'))
      +field(L.capaCause,'cap_causa',esc(inc.causa||(EN?'To be completed':'A completar')),true))
    +sec(L.capaCorr,
      field(L.capaPlanned,'cap_corr','1. \n2. \n3. ',true)
      +field(L.capaResp,'cap_resp',(EN?'To be defined':'A definir'))
      +field(L.capaDeadl,'cap_plazo',dls))
    +sec(L.capaPrev,
      field(L.capaPrevM,'cap_prev',(EN?'To be completed':'A completar'),true)
      +field(L.capaProc,'cap_proc',(EN?'Yes / No':'Sí / No')))
    +sec(L.capaVerif,
      field(L.capaEv,'cap_ev',(EN?'To be completed':'A completar'),true)
      +field(L.capaStatus,'cap_estado',(EN?'Open / Closed':'Abierta / Cerrada'))
      +field(L.capaApproved,'cap_firma',(EN?'Quality Dept. — Aquagrif S.L. — ':'Dpto. Calidad — Aquagrif S.L. — ')+today));

  var tplContent = _repTpl==='NCR'?contentNCR:_repTpl==='CAPA'?contentCAPA:content8d;
  var tplTitle = EN
    ? (_repTpl==='NCR'?'NCR — Non-Conformity Report':_repTpl==='CAPA'?'CAPA — Corrective & Preventive Action':'8D — Problem Solving Report')
    : (_repTpl==='NCR'?'NCR — No Conformidad':_repTpl==='CAPA'?'CAPA — Acción Correctiva y Preventiva':'8D — Resolución de Problemas');
  document.getElementById('rep-editor').innerHTML = editorCss
    +'<div style="font-size:14px;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--ac);">'+tplTitle+'</div>'
    +tplContent;
  document.getElementById('rep-save-info').textContent='';
  toast('Plantilla '+_repTpl+(EN?' (EN)':' (ES)')+' lista — edita y guarda','ok');
}

#aqms-root function repSave(){
  if(!_repInc){toast('Selecciona incidencia primero','err'); return;}
  
#aqms-root var ed=document.getElementById('rep-editor');
  if(!ed||!ed.children.length){toast('Carga una plantilla primero','err'); return;}
  
#aqms-root var rid=_repInc.id+'-'+_repTpl+'-'+Date.now();
  _repReports[rid]={id:rid,inc:_repInc.id,tpl:_repTpl,html:ed.innerHTML,date:new Date().toISOString().split('T')[0]}
#aqms-root ;
  saveReportsIDB();
  repRenderSaved();
  document.getElementById('rep-save-info').textContent='\u2705 Guardado '+new Date().toLocaleTimeString('es-ES'{hour:'2-digit',minute:'2-digit'});
  toast('Informe guardado','ok');
}

#aqms-root function repRenderSaved(){
  var el=document.getElementById('rep-saved-list'); if(!el) return;
  var reps=Object.values(_repReports).sort(function(a,b){return b.date.localeCompare(a.date);}
#aqms-root );
  if(!reps.length){el.innerHTML='<div style="font-size:11px;color:var(--tx3);">Sin informes guardados</div>'; return;}
  
#aqms-root el.innerHTML=reps.map(function(r){
    return '<div style="padding:6px 0;border-bottom:1px solid var(--br2);display:flex;justify-content:space-between;align-items:center;">'
      +'<div><div style="font-size:11px;font-weight:600;">'+r.tpl+' \u2014 '+r.inc+'</div>'
      +'<div style="font-size:10px;color:var(--tx3);font-family:monospace;">'+r.date+'</div></div>'
      +'<div style="display:flex;gap:3px;">'
      +'<button class="btn btn-s btn-sm" style="font-size:10px;" onclick="repOpen(\''+r.id+'\')">Abrir</button>'
      +'<button class="btn btn-sm" style="background:var(--rep);color:var(--re);border:1px solid rgba(192,57,43,.3);font-size:10px;" onclick="repDel(\''+r.id+'\')">&#128465;</button>'
      +'</div></div>';
  }).join('');
}

#aqms-root function repOpen(rid){
  var r=_repReports[rid]; if(!r) return;
  document.getElementById('rep-editor').innerHTML=r.html;
  var s=document.getElementById('rep-inc'); if(s) s.value=r.inc;
  repSelInc(r.inc); repSelTpl(r.tpl);
  document.getElementById('rep-save-info').textContent='\ud83d\udcc2 Abierto: '+r.date;
}

#aqms-root function repDel(rid){
  delete _repReports[rid];
  saveReportsIDB();
  repRenderSaved(); toast('Informe eliminado','ok');
}


#aqms-root // ════════════════════════════════════════════
// EXPORTACIÓN PDF
// ════════════════════════════════════════════
async function repExportPDF(){
  var ed = document.getElementById('rep-editor');
  if (!ed || !ed.children.length) { toast('Carga un informe primero', 'err'); return; }
  
#aqms-root var info = document.getElementById('rep-save-info');
  if (info) info.textContent = '⏳ Generando PDF...';

  // Nombre del fichero
  var incId = _repInc ? _repInc.id : 'informe';
  var fname = incId + '_' + (_repTpl||'RPT') + '_' + new Date().toISOString().split('T')[0] + '.pdf';

  try{
    // Clonar el editor en un nodo oculto con fondo blanco para captura limpia
    var wrapper = document.createElement('div');
    wrapper.style.cssText = 'position:fixed;left:-9999px;top:0;width:794px;background:#fff;padding:32px;font-family:Arial,sans-serif;color:#1a1714;z-index:-1;';

    // Cabecera corporativa
    var header = document.createElement('div');
    header.style.cssText = 'display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #1a6fcf;';
    header.innerHTML = '<div><div style="font-size:18px;font-weight:800;color:#1a6fcf;letter-spacing:.05em;">AQUAGRIF</div>'
      + '<div style="font-size:9px;color:#888;letter-spacing:.12em;text-transform:uppercase;">Quality Management System</div></div>'
      + '<div style="text-align:right;font-size:10px;color:#555;">'
      + (_repTpl==='NCR'?'NCR — No Conformidad':_repTpl==='CAPA'?'CAPA — Acción Correctiva':('8D — Resolución de Problemas'))
      + '<br><span style="font-family:monospace;font-size:9px;">' + (incId) + '</span>'
      + '<br><span style="color:#888;">' + new Date().toLocaleDateString('es-ES') + '</span></div>';
    wrapper.appendChild(header);

    // Clonar contenido del editor — limpiar contenteditable y estilos de tema oscuro
    var clone = ed.cloneNode(true);
    clone.querySelectorAll('[contenteditable]').forEach(function(el) { el.removeAttribute('contenteditable'); }
#aqms-root );
    clone.querySelectorAll('[style]').forEach(function(el){
      var s = el.style.cssText;
      // Reemplazar colores CSS variables por valores concretos blancos/negros
      s = s.replace(/var\(--bg[^)]*\)/g,'#f8f8f8')
           .replace(/var\(--tx1\)/g,'#1a1714').replace(/var\(--tx2\)/g,'#3d3a35')
           .replace(/var\(--tx3\)/g,'#888').replace(/var\(--ac\)/g,'#1a6fcf')
           .replace(/var\(--acp\)/g,'#e8f0fa').replace(/var\(--acl\)/g,'#1a6fcf')
           .replace(/var\(--br[^)]*\)/g,'#e0e0e0').replace(/var\(--sur\)/g,'#fff')
           .replace(/var\(--gr\)/g,'#2ecc71').replace(/var\(--re\)/g,'#c0392b')
           .replace(/var\(--or\)/g,'#e67e22');
      el.style.cssText = s;
    }
#aqms-root );
    // Forzar estilos de texto en .re (campos editables)
    clone.querySelectorAll('.re, #aqms-root .rsh, #aqms-root .rf label, #aqms-root .rdr, #aqms-root .rdk').forEach(function(el){
      if (el.classList.contains('rsh')) {
        el.style.cssText = 'font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#1a6fcf;padding:4px 8px;background:#e8f0fa;border-radius:4px;border-left:3px solid #1a6fcf;margin-bottom:7px;display:block;';
      } 
#aqms-root else if (el.classList.contains('re')){
        el.style.cssText = 'font-size:11px;line-height:1.6;color:#1a1714;padding:6px 9px;background:#f8f8f8;border-radius:4px;border:1px solid #e0e0e0;min-height:20px;white-space:pre-wrap;display:block;margin-bottom:4px;';
      } 
#aqms-root else if (el.tagName === 'LABEL'){
        el.style.cssText = 'display:block;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:2px;';
      }
    }
#aqms-root );
    wrapper.appendChild(clone);

    // Pie de página
    var footer = document.createElement('div');
    footer.style.cssText = 'margin-top:24px;padding-top:10px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;font-size:9px;color:#aaa;';
    footer.innerHTML = '<span>Aquagrif S.L. — Dpto. de Calidad</span><span>' + fname + '</span><span>' + new Date().toLocaleString('es-ES') + '</span>';
    wrapper.appendChild(footer);
    document.body.appendChild(wrapper);

    var canvas = await html2canvas(wrapper{ scale: 2, useCORS: true, backgroundColor: '#ffffff', logging: false }
#aqms-root );
    document.body.removeChild(wrapper);

    var imgData = canvas.toDataURL('image/jpeg', #aqms-root 0.92);
    var{ jsPDF } 
#aqms-root = window.jspdf;
    var pdf = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' }
#aqms-root );
    var pW = pdf.internal.pageSize.getWidth();
    var pH = pdf.internal.pageSize.getHeight();
    var ratio = canvas.width / canvas.height;
    var imgH = pW / ratio;
    var yPos = 0;
    // Si el contenido es más alto que una página, #aqms-root paginar
    while (yPos < imgH){
      if (yPos > 0) pdf.addPage();
      pdf.addImage(imgData, 'JPEG', 0, -(yPos * pW / pW), pW, imgH);
      yPos += pH;
    }
    
#aqms-root pdf.save(fname);

    // Guardar también en carpeta QMS si está enlazada
    if (fsRoot){
      try {
        var pdfBytes = pdf.output('arraybuffer');
        var infDir = await fsRoot.getDirectoryHandle('informes', { create: true }
#aqms-root );
        var fh = await infDir.getFileHandle(fname{ create: true });
        var wr = await fh.createWritable();
        await wr.write(pdfBytes);
        await wr.close();
        toast('PDF guardado en carpeta QMS/informes/', 'ok');
      } 
#aqms-root catch(e){ toast('PDF descargado (no guardado en carpeta: ' + e.message + ')', 'ok'); }
    } 
#aqms-root else{
      toast('PDF generado', 'ok');
    }
    
#aqms-root if (info) info.textContent = '✅ PDF exportado ' + new Date().toLocaleTimeString('es-ES'{hour:'2-digit',minute:'2-digit'});
  } 
#aqms-root catch(e){
    if (info) info.textContent = '';
    toast('Error generando PDF: ' + e.message, 'err');
    console.error(e);
  }
}


#aqms-root // ════════════════════════════════════════════
// EXPORTACIÓN WORD (.docx via HTML blob)
// ════════════════════════════════════════════
function repExportWord(){
  var ed = document.getElementById('rep-editor');
  if (!ed || !ed.children.length) { toast('Carga un informe primero', 'err'); return; }

  
#aqms-root var incId = _repInc ? _repInc.id : 'informe';
  var fname = incId + '_' + (_repTpl||'RPT') + '_' + new Date().toISOString().split('T')[0] + '.doc';
  var tplTitle = _repTpl==='NCR'?'NCR — No Conformidad':_repTpl==='CAPA'?'CAPA — Acción Correctiva y Preventiva':'8D — Resolución de Problemas';

  // Extraer texto limpio del editor para Word compatible
  var clone = ed.cloneNode(true);
  clone.querySelectorAll('[contenteditable]').forEach(function(el){ el.removeAttribute('contenteditable'); }
#aqms-root );

  // Word HTML básico con estilos inline — compatible con Word 2010+
  var wordHtml = '<!DOCTYPE html><html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'
    + '<head><meta charset="UTF-8">'
    + '<style>'
    + 'body{font-family:Calibri,Arial,sans-serif;font-size:11pt;color:#1a1714;margin:2cm;}
#aqms-root '
    + '.rsh{font-size:9pt;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:#1a6fcf;background:#e8f0fa;padding:4pt 8pt;border-left:3pt solid #1a6fcf;margin-bottom:6pt;display:block;margin-top:10pt;}
#aqms-root '
    + '.re{font-size:10pt;line-height:1.5;color:#1a1714;padding:5pt 8pt;background:#f8f8f8;border:1pt solid #ccc;margin-bottom:4pt;white-space:pre-wrap;display:block;}
#aqms-root '
    + 'label{display:block;font-size:7pt;font-weight:bold;text-transform:uppercase;color:#888;margin-bottom:1pt;}
#aqms-root '
    + '.rdr{border-bottom:1pt solid #eee;padding:3pt 0;font-size:10pt;}
#aqms-root '
    + '.rdk{font-weight:bold;color:#444;min-width:120pt;display:inline-block;}
#aqms-root '
    + '.rtag{background:#e8f0fa;color:#1a6fcf;padding:1pt 5pt;border-radius:2pt;font-family:monospace;font-size:9pt;}
#aqms-root '
    + '.badge{padding:1pt 6pt;border-radius:2pt;font-size:9pt;font-weight:bold;}
#aqms-root '
    + '.bCRITICA{background:#fde8e8;color:#c0392b;} 
#aqms-root .bALTA{background:#fef3e2;color:#e67e22;} 
#aqms-root .bMEDIA{background:#fff9e6;color:#b7950b;} 
#aqms-root .bBAJA{background:#e8f8f0;color:#27ae60;}
#aqms-root '
    + 'h1{font-size:16pt;color:#1a6fcf;border-bottom:2pt solid #1a6fcf;padding-bottom:6pt;margin-bottom:4pt;}
#aqms-root '
    + '.header-meta{font-size:9pt;color:#888;margin-bottom:16pt;}
#aqms-root '
    + '.footer{font-size:8pt;color:#aaa;border-top:1pt solid #ddd;margin-top:20pt;padding-top:6pt;}'
