:root{
  --ink:#243041;--ink-2:#344054;--muted:#667085;--muted-2:#98a2b3;
  --blue:#1769e0;--blue-2:#2f7cf6;--blue-soft:#edf5ff;
  --green:#12a96b;--green-2:#2ac17e;--green-soft:#eaf9f1;
  --orange:#f59b0b;--orange-2:#ffae22;--orange-soft:#fff6e6;
  --coral:#f04e45;--coral-soft:#fff0ee;--navy:#23304a;
  --bg:#f5f7fb;--card:#fff;--line:#e4e9f0;--line-2:#edf0f5;
  --danger:#b42318;--shadow:0 10px 30px rgba(37,49,72,.07);--shadow-lg:0 20px 50px rgba(37,49,72,.12);
  --radius:18px;--radius-sm:12px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.ui-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto}.grow{flex:1}.center{text-align:center}.lead{font-size:1.08rem;line-height:1.7;color:var(--ink-2)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f4f7;padding:2px 5px;border-radius:5px;font-size:.9em}

/* Shell */
.topbar{height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 22px;position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{width:46px;height:46px;object-fit:contain;border-radius:13px;background:#fff;box-shadow:0 4px 16px rgba(23,105,224,.09)}.brand-copy{display:grid;line-height:1.12}.brand-copy strong{font-size:1.05rem;letter-spacing:-.01em}.brand-copy small{font-size:.68rem;font-weight:600;color:var(--muted);margin-top:3px}.top-right{display:flex;align-items:center;gap:9px;margin-left:auto}.user-chip,.tier-chip{padding:8px 12px;border-radius:999px;font-size:.84rem}.user-chip{background:#f2f5f9;color:var(--ink-2);font-weight:650}.tier-chip{background:var(--orange-soft);color:#87530a;border:1px solid #f7d99c;font-weight:750}.menu-btn{display:none;border:0;background:transparent;border-radius:10px;padding:8px}.shell{display:grid;grid-template-columns:258px 1fr;min-height:calc(100vh - 72px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 12px 16px;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 72px)}.sidebar nav{display:grid;gap:3px}.nav-group-label{padding:14px 12px 6px;font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted-2);font-weight:800}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:#465165;font-weight:620;transition:.15s ease}.nav-item .ui-icon{color:#7b8799}.nav-item:hover{background:#f4f7fb;color:var(--navy);transform:translateX(1px)}.nav-item.active{background:linear-gradient(90deg,var(--blue-soft),#f4f9ff);color:#1457bf;font-weight:780}.nav-item.active .ui-icon{color:var(--blue)}.sidebar-footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line-2);padding:14px 10px 0;margin-top:18px;color:var(--muted);font-size:.76rem}.sidebar-footer img{width:24px;height:24px;object-fit:contain}.content{padding:28px;max-width:1380px;width:100%;margin:0 auto}

/* Common */
.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h1,.card h2,.card h3{margin-top:0}.metric{font-size:2rem;font-weight:850;letter-spacing:-.03em}.metric-small{font-size:1.55rem}.muted{color:var(--muted)}.small{font-size:.86rem}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;margin-bottom:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:10px 15px;cursor:pointer;font-weight:760;transition:.15s ease;min-height:40px}.btn:hover{transform:translateY(-1px)}.btn .ui-icon{width:18px;height:18px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 7px 18px rgba(23,105,224,.18)}.btn.secondary{background:#f2f5f9;color:#344054;border:1px solid #e8ecf1}.btn.success{background:linear-gradient(135deg,#0b9f63,#22b977);color:#fff}.btn.danger{background:#fee4e2;color:var(--danger)}.btn.google{background:#fff;color:#344054;border:1px solid #d5dae2;box-shadow:0 4px 12px rgba(0,0,0,.04)}.btn.text-btn{background:transparent;padding:6px 2px;color:var(--blue);min-height:auto}.btn.lifebuoy{background:linear-gradient(135deg,#e9f7ff,#f0fbff);color:#086187;border:1px solid #b9e4f5}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:28px 0 14px;gap:16px}.section-title.compact{margin:0 0 12px;align-items:center}.section-title h1,.section-title h2{margin:0 0 4px;letter-spacing:-.025em}.quick{display:block;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.quick:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.quick .icon{font-size:1.6rem}.quick h3{margin:10px 0 6px}.form-card{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:720;font-size:.9rem;color:#344054}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d6df;border-radius:10px;padding:10px 12px;background:#fff;outline:none;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#87b6f6;box-shadow:0 0 0 3px rgba(23,105,224,.09)}.field textarea{min-height:110px;resize:vertical}.alert{margin:0 0 16px;padding:12px 14px;border-radius:11px;border:1px solid transparent}.alert.success{background:#e8f8f0;color:#126b46;border-color:#c9ead9}.alert.error{background:#fff0ee;color:#912018;border-color:#f6cbc7}.alert.warning{background:#fff8e8;color:#87530a;border-color:#f1ddb0}.alert.warning a{color:#7a4c08;font-weight:760}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafbfc}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--blue-soft);color:#1559bb;font-size:.76rem;font-weight:760}.badge.green{background:var(--green-soft);color:#14734c}.badge.gold{background:var(--orange-soft);color:#87530a}.muted-badge{background:#f2f4f7;color:#667085}.doc{line-height:1.68}.doc h1,.doc h2,.doc h3{color:#174e9a;margin-top:1.4em}.doc blockquote{border-left:4px solid #8ebaf2;margin:1em 0;padding:.5em 1em;background:#f6faff}.doc ul,.doc ol{padding-left:1.4rem}.note{padding:14px;border-radius:12px;background:#fff8e8;border:1px solid #f1ddb0}.success-note{background:#ecf8f2;border-color:#bee7d4}.danger-note{background:#fff0ee;border-color:#fac7c1}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#f3c9c5;background:#fffafa}

/* Landing */
.landing{min-height:100vh;background:radial-gradient(circle at 18% 10%,#edf5ff 0,transparent 34%),radial-gradient(circle at 82% 15%,#fff3e2 0,transparent 28%),linear-gradient(180deg,#fbfcfe,#f5f7fb);padding:14px 24px}.landing-wrap{max-width:1200px;margin:auto}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:2px 0 10px}.landing-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start;min-height:auto}.landing-copy h1{font-size:clamp(2.2rem,4.2vw,3.85rem);line-height:1.02;margin:.18em 0;letter-spacing:-.052em;max-width:780px}.landing-copy .brand-sentence{font-size:1.04rem;line-height:1.58;max-width:710px}.auth-card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-lg)}.auth-card h2{margin-top:0}.sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;margin:13px 0}.sep:before,.sep:after{content:"";height:1px;background:var(--line);flex:1}.feature-list{display:grid;gap:9px;margin:16px 0}.feature-list div{display:flex;gap:10px;align-items:flex-start}.landing-grid>section:last-child{align-self:start}.landing-logo-wrap{position:relative;display:grid;place-items:center;width:min(330px,100%);min-height:220px;margin:0 auto 6px}.landing-logo{width:min(210px,40vw);height:auto;filter:drop-shadow(0 12px 20px rgba(43,63,88,.08));border-radius:24px}.floating-note{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 9px;box-shadow:var(--shadow);font-size:.72rem;font-weight:700}.floating-note.one{top:12%;left:0;color:#1457bf}.floating-note.two{right:0;bottom:26%;color:#13744c}.floating-note.three{bottom:5%;left:7%;color:#9b5d00}

/* Dashboard */
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#155ed2 0%,#2277e9 52%,#159b6c 145%);color:white;border-radius:26px;padding:34px;box-shadow:0 18px 44px rgba(23,105,224,.18)}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(255,255,255,.16)}.hero:before{width:340px;height:340px;right:-120px;top:-190px}.hero:after{width:220px;height:220px;right:70px;bottom:-170px}.hero h1{font-size:clamp(2rem,4vw,3.25rem);margin:5px 0 10px;letter-spacing:-.045em}.hero p{max-width:850px;opacity:.94;line-height:1.65;position:relative;z-index:1}.hero .actions{position:relative;z-index:2}.hero .btn.secondary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}.hero .btn.success{background:#fff;color:#126b46}.dashboard-stats{margin-top:18px}.stat-card{display:flex;align-items:center;gap:14px}.stat-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center}.stat-icon.blue{background:var(--blue-soft);color:var(--blue)}.stat-icon.green{background:var(--green-soft);color:var(--green)}.stat-icon.orange{background:var(--orange-soft);color:var(--orange)}.tool-card{min-height:150px}.tool-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;bottom:-35px;background:var(--blue-soft)}.tool-card:nth-child(4n+2):after{background:var(--green-soft)}.tool-card:nth-child(4n+3):after{background:var(--orange-soft)}.tool-card:nth-child(4n+4):after{background:var(--coral-soft)}.tool-icon{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.tool-icon .ui-icon{width:22px;height:22px}

/* Existing feature modules */
.price{font-size:2rem;font-weight:850}.price-old{text-decoration:line-through;color:var(--muted);font-size:.9rem}.install-note{font-size:.82rem;color:var(--muted);margin-top:12px}.plan{position:relative}.plan.selected{outline:2px solid var(--blue)}.plan.premium{border-color:#ecd18d}.plan .ribbon{position:absolute;top:14px;right:14px}.period-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.period-pill{padding:7px 9px;border-radius:999px;background:#f5f5fa;font-size:.8rem}.locked{opacity:.65}.locked:after{content:"Plan superior";display:block;margin-top:8px;color:#805b15;font-size:.75rem}.timeline{display:grid;gap:13px}.timeline-item{border-left:3px solid #b8d5fa;padding-left:14px}.resource-source{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.chat{display:grid;gap:12px;max-width:900px}.bubble{padding:13px 15px;border-radius:16px;line-height:1.5;max-width:88%}.bubble.user{justify-self:end;background:var(--blue);color:#fff}.bubble.assistant{justify-self:start;background:#fff;border:1px solid var(--line)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.course-live-hero{background:linear-gradient(120deg,#eefbf6,#eef5ff);border:1px solid #d9e9e4;border-radius:22px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:18px}.course-live-hero h2{margin:8px 0 4px;font-size:1.8rem}.mini-label{font-size:.76rem;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.04em}.focus-box{padding:14px;border-radius:12px;background:var(--orange-soft);border:1px solid #f0d99f}.library-hero{background:linear-gradient(120deg,#fff7e7,#eef5ff);border:1px solid #e6e1d7;border-radius:22px;padding:26px}.library-hero h2{font-size:1.8rem;margin:8px 0}.library-card{display:flex;flex-direction:column;gap:10px}.library-card h3{margin:0}.library-card details{background:#fafbfd;border:1px solid var(--line);border-radius:10px;padding:9px 11px}.library-card summary{cursor:pointer;font-weight:750;color:#1858aa}.library-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--muted)}.library-meta span{background:#f6f8fb;padding:5px 8px;border-radius:8px}.lifesaver-info{border-color:#b8def0;background:linear-gradient(180deg,#fff,#f5fbff)}

/* Google space */
.feature-spotlight{position:relative;overflow:hidden}.feature-spotlight.blue{background:linear-gradient(145deg,#fff,#f4f9ff)}.spot-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);margin-bottom:18px}.spot-icon .ui-icon{width:28px;height:28px}.visual-list{display:grid;gap:14px}.visual-list>div{display:flex;align-items:flex-start;gap:12px}.visual-list .ui-icon{color:var(--blue);margin-top:2px}.visual-list small{color:var(--muted);display:block;margin-top:3px;line-height:1.45}.toggle-row{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:14px;border-radius:12px;background:#fbfcfe;cursor:pointer}.toggle-row input{margin-top:4px;width:18px;height:18px}.toggle-row span{display:grid;gap:3px}.toggle-row small{color:var(--muted);line-height:1.45}.document-list{display:grid}.document-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-2)}.document-row:last-child{border-bottom:0}.document-row small{display:block;color:var(--muted);margin-top:3px}.doc-mark{width:38px;height:38px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}

/* Community */
.community-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(120deg,#1b63d0,#2779e8 58%,#19a36b);color:#fff;border-radius:26px;padding:32px;box-shadow:0 18px 44px rgba(23,105,224,.16);overflow:hidden}.community-hero h1{font-size:clamp(2rem,4vw,3rem);margin:8px 0}.community-hero p{max-width:760px;line-height:1.65;opacity:.95}.community-illustration{width:120px;height:120px;border-radius:36px;background:rgba(255,255,255,.14);display:grid;place-items:center;transform:rotate(5deg)}.community-illustration .ui-icon{width:58px;height:58px}.filter-card{margin-top:18px}.filter-row{display:flex;gap:12px;align-items:end}.check-pill{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;background:#f5f7fa;border-radius:10px;font-size:.86rem;white-space:nowrap}.community-grid{align-items:start}.community-card{display:flex;flex-direction:column;gap:13px;min-height:330px}.community-card-top{display:flex;align-items:center;gap:10px}.avatar-dot{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-soft),var(--green-soft));color:#1457bf;font-weight:850}.community-card h3{font-size:1.08rem;line-height:1.35;margin:0}.community-card p{line-height:1.55}.community-actions{display:flex;align-items:center;gap:8px;margin-top:auto;border-top:1px solid var(--line-2);padding-top:11px}.community-actions form{display:inline}.icon-btn{border:0;background:#f5f7fa;color:#667085;border-radius:9px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.icon-btn .ui-icon{width:17px;height:17px}.icon-btn.active{background:var(--blue-soft);color:var(--blue)}.empty-state{text-align:center;padding:42px}.empty-icon{width:64px;height:64px;border-radius:18px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}.empty-icon .ui-icon{width:30px;height:30px}.meta-stack{display:grid;gap:12px}.meta-stack>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}.meta-stack span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

/* Public sharing */
.public-share{max-width:900px;margin:0 auto;padding:36px 18px}.public-brand{display:flex;align-items:center;gap:8px;font-weight:850;margin-bottom:18px}.public-brand img{width:40px;height:40px;object-fit:contain}.public-share .card{box-shadow:var(--shadow-lg)}

@media(max-width:1080px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.landing-grid{grid-template-columns:1fr}.landing-logo-wrap{order:-1;min-height:185px}.landing-logo{width:min(180px,42vw)}.floating-note{display:none}.shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;top:72px;left:0;bottom:0;width:276px;z-index:35;overflow:auto;box-shadow:20px 0 40px rgba(0,0,0,.08)}.menu-open .sidebar{display:flex}.menu-btn{display:grid;place-items:center}.tier-chip,.user-chip{display:none}.content{max-width:none}.filter-row{flex-wrap:wrap}.filter-row .grow{min-width:280px}.community-hero{align-items:flex-start}.community-illustration{width:90px;height:90px}}
@media(max-width:680px){body{font-size:14px}.content{padding:17px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-grid{grid-template-columns:1fr}.hero{padding:24px;border-radius:20px}.topbar{padding:0 13px;height:66px}.shell{min-height:calc(100vh - 66px)}.sidebar{top:66px;min-height:calc(100vh - 66px)}.brand-mark{width:40px;height:40px}.brand-copy small{display:none}.landing{padding:12px 16px}.landing-grid{min-height:auto}.landing-logo-wrap{min-height:165px}.landing-logo{width:min(160px,44vw)}.landing-copy h1{font-size:2.35rem}.section-title{align-items:flex-start;gap:10px;flex-direction:column}.resource-source{display:block}.course-live-hero{align-items:flex-start;flex-direction:column}.community-hero{padding:24px;display:block}.community-illustration{display:none}.filter-row{display:grid;grid-template-columns:1fr;width:100%}.filter-row .grow{min-width:0}.danger-zone{align-items:flex-start;flex-direction:column}.grid.cols-3>.doc[style*="grid-column"]{grid-column:auto!important}}
@media print{.topbar,.sidebar,.no-print,.sidebar-footer{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.card{box-shadow:none;border:0}.doc{font-size:11pt}body{background:#fff}}

/* Plusteca v2.3 · Editor científico */
.science-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 2px;padding:9px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f6f9fd)}
.science-toolbar-label{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:#fff;font-weight:850;font-family:Georgia,serif}
.science-key{min-width:34px;height:34px;padding:0 9px;border:1px solid #d9e2ef;border-radius:9px;background:#fff;color:#26374d;font:700 .83rem Arial,sans-serif;cursor:pointer;box-shadow:0 1px 1px rgba(15,23,42,.03)}
.science-key:hover{border-color:#9ebce8;background:#f1f6ff;color:var(--blue)}
.science-toolbar-hint{font-size:.72rem;color:var(--muted);margin-left:auto;padding:0 5px}
.math-block{overflow-x:auto;text-align:center;margin:18px 0;padding:12px 8px;border-radius:12px;background:#fbfcff;border:1px solid #edf1f7;font-size:1.08em}
.math-inline{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle;padding:0 2px}
.math-block code,.math-inline code{font-family:"Cambria Math","STIX Two Math",serif;background:transparent;color:#26374d}
/*
 * PLUSTECA_P6C2G_NEUTRAL_CODE_BLOCK_V1
 *
 * El código se distingue por tipografía y estructura,
 * no por fondos oscuros ni resaltado cromático.
 */
.code-block{
    overflow:auto;
    margin:15px 0;
    padding:11px 0 11px 14px;
    border-radius:0;
    background:transparent;
    color:inherit;
    border:0;
    border-left:3px solid #d9e2ef;
    box-shadow:none;
    line-height:1.55;
    font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
    tab-size:4;
}

.code-block code{
    white-space:pre;
    background:transparent!important;
    color:inherit!important;
    padding:0!important;
    border-radius:0!important;
    font:inherit;
}

/*
 * Puede existir markup de resaltado legado,
 * pero visualmente queda completamente neutralizado.
 */
.code-keyword{
    color:inherit!important;
    font-weight:inherit!important;
    background:transparent!important;
}
.science-hero{background:linear-gradient(130deg,#eef5ff,#f1fbf7 55%,#fff8e8);border:1px solid #dce8eb;border-radius:24px;padding:28px;position:relative;overflow:hidden}
.science-hero:after{content:"ƒx";position:absolute;right:28px;top:10px;font:800 78px Georgia,serif;color:rgba(23,105,224,.08)}
.science-preview{min-height:180px;padding:18px;border:1px dashed #b9c9df;border-radius:14px;background:#fff;font-family:Arial,sans-serif;line-height:1.55}
.formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.formula-card{display:flex;flex-direction:column;gap:9px;min-height:180px}.formula-render{min-height:52px;display:grid;place-items:center;background:#fafcff;border-radius:10px;border:1px solid var(--line-2);overflow:auto;padding:8px}.formula-code{font:12px ui-monospace,monospace;color:#536276;word-break:break-word}.science-tabs{display:flex;flex-wrap:wrap;gap:8px}.science-tab{padding:7px 11px;border-radius:999px;background:#f4f7fb;color:#40536d;font-size:.82rem}.doc{font-family:Arial,sans-serif}.doc.font-aptos{font-family:Aptos,Arial,sans-serif}.doc.font-arial{font-family:Arial,sans-serif}
@media(max-width:900px){.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.formula-grid{grid-template-columns:1fr}.science-toolbar-hint{width:100%;margin-left:0}.science-hero:after{display:none}}


/* Plusteca v2.4 · Currículo DGEIP */
.warning-badge{background:var(--orange-soft)!important;color:#87530a!important;border:1px solid #f1d18d}.curriculum-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.curriculum-summary span,.curriculum-summary strong{padding:6px 9px;border-radius:9px;background:#f5f8fc;border:1px solid var(--line);font-size:.84rem}.check-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-row input{margin-top:4px;width:18px;height:18px}.selection-list{display:grid;gap:10px}.selection-item{display:flex;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.selection-item h3{margin:8px 0 5px}.curriculum-results{display:grid;gap:14px}.curriculum-result{border-left:4px solid #4d8fe8}.result-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.result-head h3{margin:9px 0 4px}.curriculum-quote{white-space:pre-wrap;border-left:4px solid #b8d5fa;background:#f8fbff;margin:14px 0;padding:13px 15px;border-radius:0 10px 10px 0;line-height:1.55;color:#36465e}.curriculum-result form{border-top:1px solid var(--line-2);padding-top:14px;margin-top:12px}
@media(max-width:680px){.selection-item,.result-head{flex-direction:column}.selection-item form{width:100%}}
/* v2.5 plantillas, centros y fuentes */
.doc{--doc-accent:#1769e0;--doc-secondary:#13a463;position:relative;overflow:hidden}.doc h1,.doc h2{color:var(--doc-accent)}.doc h3{color:color-mix(in srgb,var(--doc-accent) 78%,#111827)}
.doc.tpl-institutional{border-top:5px solid var(--doc-accent);box-shadow:0 3px 14px rgba(20,30,45,.06)}.doc.tpl-institutional h1{border-bottom:1px solid #d8dee8;padding-bottom:.45em}.doc.tpl-institutional h2{border-left:3px solid var(--doc-accent);padding-left:.65em}
.doc.tpl-clear h2{background:color-mix(in srgb,var(--doc-secondary) 10%,white);border-radius:10px;padding:.45em .65em}.doc.tpl-clear blockquote{border-left-color:var(--doc-secondary)}
.doc.tpl-contemporary:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,var(--doc-accent),var(--doc-secondary),#ff9f0a,#ff5b4d)}.doc.tpl-contemporary{padding-top:34px}.doc.tpl-contemporary h1{font-size:2rem}
.doc.tpl-minimal{box-shadow:none;border-color:#e5e7eb}.doc.tpl-minimal h1,.doc.tpl-minimal h2,.doc.tpl-minimal h3{color:#252b34}.doc.tpl-minimal h2{border-bottom:1px solid #e5e7eb;padding-bottom:.35em}
.center-picker{position:relative}.center-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 5px);max-height:320px;overflow:auto;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 45px rgba(28,39,55,.15);padding:6px}.center-result{width:100%;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:9px;cursor:pointer;color:var(--text)}.center-result:hover{background:#f4f7fb}.center-result span{font-size:.78rem;color:var(--muted);margin-top:3px}.source-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.source-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.source-option input{margin-top:3px}.source-list{display:grid;gap:12px}.source-card{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.quick-links{display:grid;gap:10px}.quick-card{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit}.quick-card:hover{border-color:#b9c9df;background:#f8fbff}.quick-card svg{width:26px;height:26px;color:var(--blue)}.quick-card span{display:grid}.quick-card small{color:var(--muted);margin-top:3px}
@media print{.doc{box-shadow:none!important;border:0!important}.doc.tpl-contemporary:before{display:none}.doc.tpl-institutional{border-top:0}.doc h1,.doc h2,.doc h3{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Plusteca v3.4.0 · indicador global de procesamiento */
.processing-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(22,34,52,.38);backdrop-filter:blur(4px)}
.processing-overlay[hidden]{display:none!important}.processing-card{width:min(390px,92vw);display:grid;justify-items:center;gap:12px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-lg)}
.processing-spinner{width:48px;height:48px;border:5px solid #e6edf7;border-top-color:var(--blue);border-radius:50%;animation:plusteca-spin .8s linear infinite}.is-processing{overflow:hidden}
@keyframes plusteca-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.processing-spinner{animation-duration:1.8s}}

/* Plusteca v3.4.0 · SEO/performance */
img{max-width:100%}.landing-logo{aspect-ratio:1/1}.public-share img{height:auto}
@media (prefers-reduced-data:reduce){.floating-note{box-shadow:none}}

/* Plusteca 3.4.0 · sitio público, notificaciones, mantenimiento y feedback */
.public-site{min-height:100vh;background:linear-gradient(180deg,#f8fbff 0,#fff 35%);color:var(--text)}
.public-header{max-width:1180px;margin:auto;padding:18px 24px;display:flex;align-items:center;gap:24px;justify-content:space-between;position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid var(--line)}
.public-nav-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.public-nav-links a{font-weight:700;color:var(--muted);text-decoration:none}.public-nav-links a:hover{color:var(--primary)}.public-actions,.hero-actions{display:flex;gap:10px;align-items:center}
.public-content{max-width:1120px;margin:auto;padding:30px 24px 80px}.public-hero{padding:70px 0 50px;max-width:850px}.public-hero h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.04em;margin:10px 0 20px}.public-hero>p{font-size:1.22rem;line-height:1.65;color:var(--muted);max-width:760px}.public-page-body{display:grid;gap:28px}.public-section{padding:32px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 35px rgba(28,67,112,.06)}.public-section h2{font-size:1.7rem}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-card{padding:26px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(28,67,112,.05)}.public-card h2{margin-top:8px}.public-card li{margin:9px 0}.plan-card.featured{border:2px solid var(--primary);transform:translateY(-6px)}.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}.faq-list summary{font-weight:800;cursor:pointer}.faq-list p{color:var(--muted);line-height:1.6}.public-footer{max-width:1120px;margin:auto;padding:30px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}
.notification-bell{position:relative;text-decoration:none;font-size:20px}.notification-bell span{position:absolute;right:-8px;top:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:12px;background:#d92d20;color:#fff;font-size:11px;display:grid;place-items:center;font-weight:800}.notification-item{padding:18px 0;border-bottom:1px solid var(--line)}.notification-item.unread{border-left:3px solid var(--primary);padding-left:14px}.link-button{border:0;background:none;color:var(--primary);font-weight:700;cursor:pointer;padding:0}.feedback-fab{position:fixed;right:22px;bottom:22px;z-index:35;border:0;border-radius:999px;padding:12px 18px;background:var(--primary);color:#fff;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.18);cursor:pointer}.feedback-dialog{width:min(560px,calc(100vw - 28px));border:0;border-radius:22px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.feedback-dialog::backdrop{background:rgba(10,25,45,.5)}.feedback-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.feedback-head button{border:0;background:none;font-size:26px;cursor:pointer}.maintenance-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f6faff,#eef7f3)}.maintenance-card{max-width:650px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:48px;box-shadow:0 20px 70px rgba(28,67,112,.1)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat-card{display:flex;flex-direction:column;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none}.stat-card strong{font-size:1.8rem}.code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:360px}.admin-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:900px){.public-header{position:static;flex-wrap:wrap}.public-nav-links{order:3;width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.public-grid,.plans-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}.stats-row{grid-template-columns:repeat(2,1fr)}}

/* Plusteca 3.4.0 · mejoras de visibilidad, feedback y tablas públicas */
.feedback-fab{background:linear-gradient(135deg,#0b57d0,#1769e0)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 14px 34px rgba(10,62,150,.38)!important;font-size:.92rem;letter-spacing:.01em;min-height:48px;display:inline-flex;align-items:center;gap:8px;opacity:1!important}
.feedback-fab:hover{background:linear-gradient(135deg,#0849ad,#125bc8)!important;transform:translateY(-2px)}
.feedback-fab:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.feedback-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.feedback-close{width:40px;height:40px;border-radius:999px!important;background:#f2f5f9!important;color:#243041!important;font-size:28px!important;line-height:1;display:grid;place-items:center}
.feedback-close:hover{background:#e5eaf1!important}
.feedback-actions{display:flex!important;align-items:center;gap:12px;grid-template-columns:none!important}
.feedback-success{color:#126b46;font-weight:700}.feedback-error{color:#912018;font-weight:700}
.plan-comparison{margin-top:26px}.plan-comparison table{min-width:760px}.plan-comparison th:not(:first-child),.plan-comparison td:not(:first-child){text-align:center}.plan-comparison .yes{font-weight:900;color:#14734c}.plan-comparison .no{color:#98a2b3}
.admin-feedback-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:850;margin-left:auto}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}.pagination .actions{gap:6px}
@media(max-width:680px){.feedback-fab{right:14px;bottom:14px;padding:11px 14px}.feedback-fab span:last-child{display:inline}.feedback-dialog{padding:18px}.feedback-actions{align-items:flex-start;flex-direction:column}}

/* Plusteca 3.4.4 - navegación pública responsive */
.public-menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 12px;font-weight:800;align-items:center;gap:7px;cursor:pointer}
.public-footer-links{display:flex;gap:16px;flex-wrap:wrap}.public-footer-links a{color:var(--muted);font-weight:700;text-decoration:none}.public-footer-links a:hover{color:var(--primary)}
@media(max-width:900px){
  .public-header{position:sticky;top:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;padding:10px 14px}
  .public-menu-toggle{display:inline-flex;grid-column:1;grid-row:1;justify-self:start}
  .public-header .brand{grid-column:2;grid-row:1;justify-self:start;min-width:0}
  .public-header .brand-mark{width:44px;height:44px}.public-header .brand-copy small{display:none}
  .public-nav-links{display:none;grid-column:1/-1;grid-row:2;width:100%;padding:10px 0 4px;overflow:visible;flex-direction:column;align-items:stretch;gap:4px;border-top:1px solid var(--line)}
  .public-nav-links.is-open{display:flex}.public-nav-links a{padding:10px 8px;border-radius:10px}.public-nav-links a:hover{background:#f4f7fb}
  .public-actions{grid-column:1/-1;grid-row:3;display:none}.public-header.menu-open .public-actions{display:flex;padding-top:4px}
  .public-footer{flex-direction:column}.public-footer-links{gap:12px}
}

/* 3.4.5 responsive header: menú a la izquierda, marca inmediatamente a su derecha */
@media(max-width:1080px){.topbar .menu-btn{order:1;flex:0 0 auto}.topbar .brand{order:2;flex:0 1 auto}.topbar .top-right{order:3;margin-left:auto}.topbar .menu-btn+.brand{margin-left:0}}
@media(max-width:680px){.topbar{justify-content:flex-start;gap:8px}.topbar .menu-btn{padding:8px 6px}.topbar .brand{gap:7px}.topbar .brand-copy strong{font-size:.98rem}.topbar .top-right{margin-left:auto}}

.legal-responsible-image{display:block;width:min(100%,900px);height:auto;margin:8px 0 0;object-fit:contain;object-position:left center}

/* Plusteca 3.4.6 - public pages mobile hardening */
.public-site{width:100%;max-width:100%;overflow-x:hidden}
.public-content{width:100%;max-width:1120px;box-sizing:border-box}
@media(max-width:900px){
  .public-header{display:grid!important;grid-template-columns:auto auto minmax(0,1fr)!important;grid-template-areas:"menu brand spacer" "nav nav nav" "actions actions actions";align-items:center!important;justify-content:initial!important;gap:10px 12px!important;width:100%;max-width:100%;padding:10px 12px!important}
  .public-menu-toggle{grid-area:menu!important;display:inline-flex!important;justify-self:start!important;white-space:nowrap}
  .public-header>.brand{grid-area:brand!important;justify-self:start!important;display:flex!important;min-width:0!important;margin:0!important}
  .public-header>.brand .brand-mark{width:40px!important;height:40px!important;flex:0 0 40px}
  .public-header>.brand .brand-copy{min-width:0}.public-header>.brand .brand-copy strong{white-space:nowrap}
  .public-nav-links{grid-area:nav!important;width:100%!important;min-width:0!important;display:none!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;margin:0!important;padding:10px 0 0!important;border-top:1px solid var(--line)}
  .public-nav-links.is-open{display:flex!important}
  .public-actions{grid-area:actions!important;width:100%!important;display:none!important;flex-wrap:wrap!important;padding-top:2px}
  .public-header.menu-open .public-actions{display:flex!important}
  .public-content{padding:20px 14px 60px!important;margin:0 auto!important}
  .public-hero{padding:34px 0 28px!important;max-width:100%!important}
  .public-hero h1{font-size:clamp(2rem,10vw,3.2rem)!important;overflow-wrap:anywhere}
  .public-hero>p{font-size:1.05rem!important;max-width:100%!important}
  .public-page-body,.public-section,.public-card,.faq-list{max-width:100%!important;min-width:0!important}
  .public-section,.public-card{padding:20px!important}
  .public-footer{padding:24px 14px!important;width:100%;max-width:100%}
}
@media(max-width:420px){
  .public-menu-toggle span{display:none}
  .public-header{grid-template-columns:44px auto minmax(0,1fr)!important;gap:8px!important}
  .public-header>.brand .brand-copy small{display:none!important}
  .public-header>.brand .brand-copy strong{font-size:.98rem!important}
}

/* Plusteca 3.4.7 - navegación pública móvil sin dependencia de JavaScript */
.public-menu-control{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
@media(max-width:900px){
  .public-header{position:sticky!important;top:0!important;grid-template-columns:auto auto minmax(0,1fr)!important;grid-template-areas:"menu brand spacer" "nav nav nav" "actions actions actions"!important}
  .public-menu-toggle{grid-area:menu!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;cursor:pointer!important}
  .public-header>.brand{grid-area:brand!important}
  .public-nav-links{grid-area:nav!important;display:none!important;background:#fff!important;padding:10px 0!important;border-top:1px solid var(--line)!important}
  .public-menu-control:checked ~ .public-nav-links{display:flex!important}
  .public-actions{grid-area:actions!important;display:none!important}
  .public-menu-control:checked ~ .public-actions{display:flex!important}
  .public-nav-links a{display:block!important;width:100%!important;color:#344054!important;background:#fff!important;padding:12px 10px!important;border-radius:10px!important;font-size:1rem!important;line-height:1.25!important}
  .public-nav-links a:active,.public-nav-links a:focus{background:#eef5ff!important;color:#1457bf!important}
}

/* Bloques de documentos: el texto normal nunca debe quedar como bloque oscuro. */
.doc-text-block{background:#fff;color:inherit;border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;white-space:pre-wrap}

/* Plusteca 3.4.7.1 - menu publico movil definitivo, nativo y sin JavaScript */
.public-mobile-menu{display:none}
.public-desktop-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.public-desktop-nav a{font-weight:700;color:var(--muted);text-decoration:none}
.public-desktop-nav a:hover{color:var(--primary)}
.public-desktop-actions{display:flex;gap:10px;align-items:center}
@media(max-width:900px){
  .public-header{position:sticky!important;top:0!important;z-index:60!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:100%!important;padding:9px 12px!important;background:#fff!important;overflow:visible!important}
  .public-mobile-menu{display:block!important;position:static!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
  .public-mobile-menu>summary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:44px!important;min-height:44px!important;padding:8px 10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--text)!important;font-weight:800!important;cursor:pointer!important;list-style:none!important;-webkit-tap-highlight-color:transparent}
  .public-mobile-menu>summary::-webkit-details-marker{display:none!important}
  .public-mobile-menu>summary::marker{content:""!important}
  .public-hamburger{font-size:1.35rem!important;line-height:1!important}
  .public-header>.public-brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;flex:0 1 auto!important;min-width:0!important;margin:0!important;order:2!important}
  .public-header>.public-brand .brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .public-header>.public-brand .brand-copy{min-width:0!important}
  .public-header>.public-brand .brand-copy strong{font-size:1rem!important;white-space:nowrap!important}
  .public-header>.public-brand .brand-copy small{display:none!important}
  .public-desktop-nav,.public-desktop-actions{display:none!important}
  .public-mobile-panel{position:absolute!important;left:0!important;right:0!important;top:100%!important;z-index:70!important;width:100%!important;max-height:calc(100vh - 64px)!important;overflow-y:auto!important;padding:10px 12px 14px!important;background:#fff!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 16px 30px rgba(20,32,51,.14)!important}
  .public-mobile-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;width:100%!important}
  .public-mobile-nav a{display:block!important;width:100%!important;padding:12px 10px!important;border-radius:10px!important;color:#344054!important;background:#fff!important;font-size:1rem!important;font-weight:750!important;line-height:1.25!important;text-decoration:none!important}
  .public-mobile-nav a:hover,.public-mobile-nav a:focus,.public-mobile-nav a:active{background:#eef5ff!important;color:#1457bf!important}
  .public-mobile-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important;padding-top:10px!important;margin-top:8px!important;border-top:1px solid var(--line)!important}
  .public-mobile-actions .btn{flex:1 1 150px!important;text-align:center!important}
}
@media(max-width:420px){
  .public-menu-text{display:none!important}
  .public-mobile-menu>summary{width:44px!important;padding:8px!important}
  .public-header{gap:7px!important}
}


/* Plusteca 2026-08-21 · transiciones */
.processing-logo-wrap{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 20px rgba(28,67,112,.09)
}

.processing-logo{
    display:block;
    width:48px!important;
    height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
    object-fit:contain;
    transform-origin:center;
    animation:plusteca-logo-spin 1.05s ease-in-out infinite
}

@keyframes plusteca-logo-spin{
    0%{
        transform:rotate(0deg) scale(.96)
    }
    50%{
        transform:rotate(180deg) scale(1.04)
    }
    100%{
        transform:rotate(360deg) scale(.96)
    }
}

@media(prefers-reduced-motion:reduce){
    .processing-logo{
        animation:plusteca-logo-pulse 1.6s ease-in-out infinite
    }

    @keyframes plusteca-logo-pulse{
        0%,100%{opacity:.72}
        50%{opacity:1}
    }
}

.public-card.visual-card{
    position:relative;
    padding-top:72px
}

.public-card.visual-card::before{
    position:absolute;
    top:22px;
    left:26px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#edf5ff;
    color:#1769e0;
    font-size:.92rem;
    font-weight:900;
    box-shadow:inset 0 0 0 1px #d8e7fb
}

.visual-card.icon-plan::before{content:"✓"}
.visual-card.icon-live::before{content:"↻"}
.visual-card.icon-next::before{content:"→"}
.visual-card.icon-ebi::before{content:"EBI";font-size:.65rem}
.visual-card.icon-multigrade::before{content:"1+2";font-size:.65rem}
.visual-card.icon-sequence::before{content:"⋯"}
.visual-card.icon-google::before{content:"G"}
.visual-card.icon-doc::before{content:"D"}
.visual-card.icon-presentation::before{content:"▶"}
.visual-card.icon-library::before{content:"▦"}
.visual-card.icon-science::before{content:"ƒx";font-size:.75rem}
.visual-card.icon-assistant::before{content:"✦"}
.visual-card.icon-lifesaver::before{content:"○"}
.visual-card.icon-community::before{content:"◇"}
.visual-card.icon-device::before{content:"↗"}

.payment-public-section{
    margin-top:26px
}

.payment-provider-card{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:18px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fbfdff
}

.payment-provider-logo-wrap{
    flex:0 0 150px;
    min-height:48px;
    display:grid;
    place-items:center;
    padding:8px 12px;
    border-radius:13px;
    background:#fff;
    border:1px solid var(--line)
}

.payment-provider-logo{
    display:block;
    width:130px;
    height:34px
}

.payment-provider-fallback{
    font-weight:850;
    color:#1f2d3d;
    font-size:.95rem
}

.payment-provider-card p{
    margin-bottom:0
}

@media(max-width:680px){
.payment-provider-card{
        align-items:flex-start;
        flex-direction:column
    }

    .payment-provider-logo-wrap{
        flex-basis:auto;
        width:160px
    }

    .public-card.visual-card{
        padding-top:68px!important
    }
}


/* Plusteca 2026-08-21 · crédito de desarrollo */

.developer-credit{
    width:100%;
    box-sizing:border-box;
    padding:14px 20px 18px;
    text-align:center;
    color:var(--muted);
    font-size:.78rem;
    line-height:1.5;
    background:transparent;
}

.developer-credit strong{
    color:var(--text);
    font-weight:750;
}

@media(max-width:680px){
    .developer-credit{
        padding:12px 16px 16px;
        font-size:.74rem;
    }
}

@media print{
    .developer-credit{
        display:none!important;
    }
}


/* Plusteca 2026-08-21 · responsable */

.developer-credit{
    width:100%;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:18px 20px 20px;
    text-align:center;
    color:var(--muted);
    font-size:.78rem;
    line-height:1.5;
    background:transparent;
}

.developer-credit-logo{
    display:block;
    width:40px!important;
    height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
    object-fit:contain;
    margin:0 auto 2px;
}

.developer-credit-text{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    text-align:center;
}

.developer-credit strong{
    color:var(--text);
    font-weight:750;
}

.developer-credit-role{
    color:var(--muted);
}

@media(max-width:680px){
    .developer-credit{
        padding:16px 14px 18px;
        font-size:.74rem;
    }

    .developer-credit-logo{
        width:36px!important;
        height:36px!important;
        max-width:36px!important;
        max-height:36px!important;
    }
}

@media print{
    .developer-credit{
        display:none!important;
    }
}


/* Plusteca 2026-08-21 · footer responsable centrado */

.developer-credit{
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:0;
    border-top:1px solid var(--line);
    background:#fff;
    text-align:center;
}

.developer-credit-inner{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:13px 18px 14px;
    box-sizing:border-box;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:4px;
    text-align:center;
}

.developer-credit-logo{
    display:block;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;

    margin:0 auto 2px!important;
    padding:0!important;

    object-fit:contain;
}

.developer-credit-text{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:0;
    margin:0 auto;
    text-align:center;

    color:var(--muted);
    font-size:.69rem;
    line-height:1.4;
}

.developer-credit-text span{
    display:block;
    width:100%;
    margin:0;
    text-align:center;
}

.developer-credit-text strong{
    color:var(--text);
    font-weight:700;
}

.developer-credit-role{
    margin-top:1px!important;
    font-size:.66rem;
    color:var(--muted);
}

@media(max-width:680px){

    .developer-credit-inner{
        padding:11px 14px 12px;
    }

    .developer-credit-logo{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        min-height:28px!important;
        max-width:28px!important;
        max-height:28px!important;
    }

    .developer-credit-text{
        font-size:.66rem;
    }

    .developer-credit-role{
        font-size:.63rem;
    }
}

@media print{
    .developer-credit{
        display:none!important;
    }
}


/* Plusteca · membresias promocionales */

.google-membership-offer{
    margin-top:12px;
    text-align:center;
}

.membership-promo-card{
    width:min(760px,100%);
    box-sizing:border-box;
    margin:22px auto 0;
    padding:24px;
    text-align:center;
}

.membership-promo-card h2{
    margin:10px 0 8px;
}

.membership-promo-lead{
    margin:8px 0;
    font-size:1.05rem;
}

.membership-promo-conditions{
    max-width:640px;
    margin:10px auto 16px;
}

@media(max-width:680px){
    .membership-promo-card{
        margin-top:16px;
        padding:19px 16px;
    }

    .membership-promo-lead{
        font-size:1rem;
    }
}

@media print{
    .membership-promo-card,
    .google-membership-offer{
        display:none!important;
    }
}


/* Plusteca · navegación exclusiva de administración */

.admin-nav-section{
    position:relative;
    box-sizing:border-box;

    margin:8px 0 12px;
    padding:7px;

    border:1px solid rgba(37,99,235,.14);
    border-radius:12px;

    background:
        linear-gradient(
            180deg,
            rgba(37,99,235,.065),
            rgba(37,99,235,.035)
        );
}

.admin-nav-section a{
    border-radius:8px;
}

.admin-nav-section a:hover{
    background:rgba(37,99,235,.085);
}

.admin-nav-section::before{
    content:"";
    position:absolute;
    left:0;
    top:12px;
    bottom:12px;

    width:3px;
    border-radius:3px;

    background:rgba(37,99,235,.42);
}

/*
 * Mantiene el bloque compacto en pantallas pequeñas.
 */
@media(max-width:900px){
    .admin-nav-section{
        margin:7px 0 10px;
        padding:6px;
        border-radius:10px;
    }
}


/* Plusteca · bloque exclusivo de administracion */

.admin-nav-section{
    position:relative;
    box-sizing:border-box;

    margin:8px 0 11px;
    padding:6px;

    border:1px solid rgba(51,102,153,.16);
    border-radius:11px;

    background:rgba(74,119,164,.045);
}

.admin-nav-section::before{
    content:"";
    position:absolute;

    top:10px;
    bottom:10px;
    left:0;

    width:2px;

    border-radius:3px;

    background:rgba(51,102,153,.38);
}

.admin-nav-section a{
    border-radius:8px;
}

.admin-nav-section a:hover{
    background:rgba(74,119,164,.075);
}

.admin-nav-section .nav-group{
    margin-top:2px;
}

@media(max-width:900px){
    .admin-nav-section{
        margin:7px 0 10px;
        padding:5px;
        border-radius:9px;
    }
}

@media print{
    .admin-nav-section{
        border:0;
        background:none;
    }
}


/* PLUSTECA_HOME_PLANNING_JEWEL */

.landing-main-product{
    margin:.15rem 0 .45rem;
    font-size:clamp(1.55rem,3vw,2.25rem);
    line-height:1.08;
    letter-spacing:-.025em;
}

.planning-jewel{
    margin:30px 0;
    padding:clamp(20px,4vw,34px);
    border:1px solid rgba(127,127,127,.20);
    border-radius:22px;
    background:rgba(127,127,127,.035);
    box-shadow:0 18px 50px rgba(0,0,0,.055);
}

.planning-jewel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}

.planning-jewel-head h2{
    margin:.55rem 0 .35rem;
    font-size:clamp(1.7rem,3.5vw,2.6rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.planning-jewel-lead{
    max-width:760px;
    margin-bottom:0;
    font-size:1.05rem;
    line-height:1.55;
}

.planning-jewel-mark{
    flex:0 0 auto;
    padding:12px 16px;
    border:1px solid rgba(127,127,127,.22);
    border-radius:999px;
    font-weight:800;
    letter-spacing:.04em;
    white-space:nowrap;
}

.planning-jewel-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.planning-jewel-card{
    min-width:0;
    padding:22px;
    border:1px solid rgba(127,127,127,.18);
    border-radius:17px;
    background:rgba(127,127,127,.025);
}

.planning-jewel-card h3{
    margin:.45rem 0 .65rem;
    font-size:1.35rem;
}

.planning-jewel-card p{
    line-height:1.55;
}

.planning-jewel-code{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:52px;
    padding:6px 10px;
    border:1px solid currentColor;
    border-radius:999px;
    font-weight:800;
    font-size:.82rem;
    letter-spacing:.08em;
}

.planning-jewel-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.planning-jewel-footnote{
    margin:16px 0 0;
    max-width:900px;
}

@media(max-width:760px){
    .planning-jewel-grid{
        grid-template-columns:1fr;
    }

    .planning-jewel-head{
        display:block;
    }

    .planning-jewel-mark{
        display:inline-flex;
        margin-top:14px;
    }

    .planning-jewel-actions .btn{
        width:100%;
        justify-content:center;
    }
}

/*
 * PLUSTECA_ARTIFACT_WYSIWYG_V1_8_0
 */

.artifact-edit-form{
    gap:18px;
}

.artifact-edit-meta{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(220px,1fr);
    gap:16px;
    align-items:start;
}

.artifact-editor-shell{
    display:grid;
    gap:10px;
}

.artifact-editor-toolbar{
    position:sticky;
    top:8px;
    z-index:20;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:13px;
    background:rgba(255,255,255,.97);
    box-shadow:0 7px 24px rgba(25,45,75,.08);
    backdrop-filter:blur(10px);
}

.artifact-tool,
.artifact-tool-select{
    min-height:34px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font:inherit;
}

.artifact-tool{
    min-width:36px;
    padding:6px 9px;
    cursor:pointer;
    font-weight:700;
}

.artifact-tool:hover,
.artifact-tool:focus-visible{
    border-color:var(--primary);
    background:var(--blue-soft);
    outline:none;
}

.artifact-tool-bold{
    font-weight:900;
}

.artifact-tool-select{
    padding:5px 30px 5px 9px;
}

.artifact-tool-separator{
    width:1px;
    height:24px;
    margin:0 2px;
    background:var(--line);
}

.artifact-editor-toolbar-hint{
    margin-left:auto;
    color:var(--muted);
    font-size:.78rem;
    white-space:nowrap;
}

.artifact-editor-curriculum-note{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#f7f9fc;
    color:var(--muted);
    font-size:.82rem;
}

.artifact-wysiwyg{
    min-height:620px;
    cursor:text;
    outline:none;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.artifact-wysiwyg:focus{
    border-color:var(--primary);
    box-shadow:
        0 0 0 3px rgba(23,105,224,.08),
        var(--shadow,0 8px 30px rgba(20,40,70,.06));
}

.artifact-wysiwyg .artifact-editor-locked{
    cursor:default;
}

.artifact-wysiwyg h2.artifact-editor-locked{
    position:relative;
}

.artifact-wysiwyg h2.artifact-editor-locked::after{
    content:"Currículo oficial";
    display:inline-block;
    margin-left:9px;
    padding:3px 7px;
    border-radius:999px;
    background:#eef3f9;
    color:#687487;
    font-size:.64rem;
    font-weight:700;
    vertical-align:middle;
}

.artifact-wysiwyg
.artifact-editor-locked:not(h1):not(h2):not(h3){
    background:
        linear-gradient(
            90deg,
            rgba(242,246,251,.72),
            rgba(255,255,255,0)
        );
}

@media(max-width:760px){
    .artifact-edit-meta{
        grid-template-columns:1fr;
    }

    .artifact-editor-toolbar{
        top:4px;
    }

    .artifact-editor-toolbar-hint{
        width:100%;
        margin-left:0;
        padding-top:3px;
    }

    .artifact-wysiwyg{
        min-height:480px;
    }
}

/*
 * PLUSTECA_ARTIFACT_EDITOR_ERGONOMICS_V1_8_1
 *
 * Toolbar y acciones permanecen disponibles durante
 * toda la edición del documento.
 */

.artifact-edit-form{
    padding-bottom:96px;
}

/*
 * La barra queda debajo del header principal.
 */
.artifact-editor-toolbar{
    position:sticky;
    top:84px;
    z-index:38;
}

/*
 * Guardar / Cancelar siempre visibles.
 */
.artifact-editor-actions{
    position:fixed;
    right:28px;
    bottom:18px;
    z-index:46;

    display:flex;
    align-items:center;
    justify-content:flex-end;

    padding:9px 10px;

    border:1px solid var(--line);
    border-radius:14px;

    background:rgba(255,255,255,.97);

    box-shadow:
        0 14px 38px
        rgba(20,40,70,.18);

    backdrop-filter:blur(12px);
}

/*
 * Feedback se eleva globalmente para evitar controles
 * flotantes y gana todavía más separación durante edición.
 */
.feedback-fab{
    bottom:86px !important;
}

body.artifact-editing .feedback-fab{
    bottom:104px !important;
}

/*
 * El documento no queda oculto detrás de la barra fija.
 */
body.artifact-editing .content{
    padding-bottom:112px;
}

@media(max-width:680px){

    .artifact-editor-toolbar{
        top:76px;
    }

    .artifact-edit-form{
        padding-bottom:116px;
    }

    .artifact-editor-actions{
        left:12px;
        right:12px;
        bottom:10px;

        justify-content:flex-end;

        padding:8px;
    }

    .artifact-editor-actions .btn{
        flex:1;
    }

    .feedback-fab{
        bottom:82px !important;
    }

    body.artifact-editing .feedback-fab{
        bottom:94px !important;
    }

    body.artifact-editing .content{
        padding-bottom:126px;
    }
}

/*
 * PLUSTECA_FEEDBACK_POSITION_V1_8_1_R1
 *
 * Feedback queda fuera de la zona reservada para
 * Guardar / Cancelar.
 */

/*
 * Escritorio con sidebar:
 * ubicar Feedback inmediatamente después del menú lateral.
 */
.feedback-fab{
    right:auto !important;
    left:280px !important;
    bottom:18px !important;
}

/*
 * Durante edición sigue en el lado opuesto a las acciones.
 */
body.artifact-editing .feedback-fab{
    right:auto !important;
    left:280px !important;
    bottom:18px !important;
}

/*
 * Tablet / layout sin sidebar visible.
 */
@media(max-width:1080px){

    .feedback-fab{
        right:auto !important;
        left:18px !important;
        bottom:18px !important;
    }

    body.artifact-editing .feedback-fab{
        right:auto !important;
        left:18px !important;
        bottom:18px !important;
    }
}

/*
 * En móvil la barra Guardar/Cancelar ocupa la zona inferior.
 * Feedback permanece a la izquierda, pero por encima.
 */
@media(max-width:680px){

    .feedback-fab{
        right:auto !important;
        left:14px !important;
        bottom:14px !important;
    }

    body.artifact-editing .feedback-fab{
        right:auto !important;
        left:14px !important;
        bottom:82px !important;
    }
}

/*
 * PLUSTECA_DOCUMENT_HIERARCHY_UI_V1_9_3_R1_1
 * Mis creaciones + navegación de familia documental.
 */
.library-document-tree-card{
    overflow:hidden;
}
.library-document-tree .library-plan-root-row td{
    background:#fff;
}
.library-root-document{
    display:flex;
    align-items:flex-start;
    gap:9px;
}
.library-root-document-copy{
    min-width:0;
    display:grid;
    gap:5px;
}
.library-tree-toggle,
.library-tree-toggle-spacer{
    flex:0 0 28px;
    width:28px;
    height:28px;
}
.library-tree-toggle{
    display:grid;
    place-items:center;
    margin-top:-3px;
    padding:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--blue);
    cursor:pointer;
    font-size:15px;
    font-weight:850;
}
.library-tree-toggle:hover,
.library-tree-toggle:focus-visible{
    background:var(--blue-soft);
    outline:none;
}
.library-tree-toggle-spacer{
    display:block;
}
.library-plan-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 9px;
    align-items:center;
    color:var(--muted);
    font-size:.78rem;
    line-height:1.35;
}
.library-plan-meta>span{
    display:inline-flex;
    align-items:center;
}
.library-linked-count{
    padding:3px 8px;
    border:1px solid #cfe3fb;
    border-radius:999px;
    background:#f4f9ff;
    color:#1858aa;
    font-weight:750;
}
.library-document-excerpt{
    display:block;
    line-height:1.35;
}
.library-child-row td{
    background:#f9fbfe;
    border-top-color:#e7eef8;
}
.library-child-row:hover td{
    background:#f4f8fd;
}
.library-child-cell{
    position:relative;
    padding-left:42px!important;
}
.library-child-cell::before{
    content:"";
    position:absolute;
    left:21px;
    top:0;
    bottom:50%;
    width:1px;
    background:#bdd2ea;
}
.library-child-cell::after{
    content:"";
    position:absolute;
    left:21px;
    top:50%;
    width:14px;
    height:1px;
    background:#bdd2ea;
}
.library-child-document{
    display:flex;
    align-items:flex-start;
    gap:8px;
}
.library-child-branch{
    color:#6b8fb8;
    font-size:1rem;
    line-height:1.35;
}
.library-child-document>div{
    min-width:0;
    display:grid;
    gap:3px;
}
.library-child-kicker{
    color:#6a7f99;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:uppercase;
}
.library-child-title{
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:fit-content;
}
.library-external-mark{
    font-size:.78rem;
    color:var(--blue);
}
.library-child-content-label{
    display:block;
    max-width:590px;
    line-height:1.38;
}
.library-child-badge{
    background:#f2f7fd;
    color:#35628f;
    border:1px solid #d9e7f6;
}

.artifact-plan-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 14px;
    color:var(--muted);
    font-size:.82rem;
}
.artifact-plan-breadcrumb a{
    font-weight:700;
}
.artifact-plan-id{
    display:inline-flex;
    align-items:center;
    padding:2px 7px;
    border-radius:999px;
    background:#f2f6fb;
    border:1px solid var(--line);
    color:#53677f;
    font-weight:800;
}
.artifact-plan-family{
    display:grid;
    gap:12px;
    margin:0 0 18px;
    padding:15px 16px;
    border:1px solid #d8e6f6;
    border-radius:14px;
    background:linear-gradient(180deg,#fbfdff,#f7faff);
}
.artifact-plan-family-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}
.artifact-plan-family-head>div:first-child{
    display:grid;
    gap:3px;
}
.artifact-plan-family-kicker{
    color:#607994;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.artifact-plan-family-links{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:8px;
}
.artifact-plan-family-link{
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    text-decoration:none;
}
.artifact-plan-family-link:hover{
    border-color:#b9d6f7;
    background:#f9fcff;
}
.artifact-plan-family-link.current{
    border-color:#8dbbe9;
    background:#eef6ff;
}
.artifact-plan-family-link>span:last-child{
    display:grid;
    gap:3px;
    min-width:0;
}
.artifact-plan-family-link small{
    color:var(--muted);
    line-height:1.35;
}
.artifact-plan-family-number{
    flex:0 0 25px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:var(--blue-soft);
    color:var(--blue);
    font-size:.76rem;
    font-weight:850;
}

@media(max-width:760px){
    .library-child-cell{
        padding-left:34px!important;
    }
    .library-child-cell::before,
    .library-child-cell::after{
        left:16px;
    }
    .artifact-plan-family-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .artifact-plan-family-head .actions{
        width:100%;
    }
    .artifact-plan-family-head .btn{
        flex:1 1 auto;
    }
}


/* PLUSTECA_LIBRARY_DISCOVERY_CONTROLS_V1_9_3_R1_1 */
.library-controls{
    display:grid;
    grid-template-columns:minmax(260px,1.8fr) minmax(170px,.8fr) minmax(180px,.8fr) auto auto;
    gap:12px;
    align-items:end;
    margin:0 0 16px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfdff;
}
.library-control{
    display:grid;
    gap:5px;
    min-width:0;
}
.library-control label{
    color:#526982;
    font-size:.74rem;
    font-weight:800;
}
.library-control input,
.library-control select{
    width:100%;
    min-height:40px;
}
.library-reset{
    min-height:40px;
}
.library-results-summary{
    align-self:center;
    justify-self:end;
    color:var(--muted);
    font-size:.8rem;
    font-weight:700;
    white-space:nowrap;
}
.library-child-title strong{
    line-height:1.34;
}
.library-child-content-label{
    margin-top:2px;
}
.library-document-tree tr[hidden]{
    display:none!important;
}
@media(max-width:980px){
    .library-controls{
        grid-template-columns:1fr 1fr;
    }
    .library-control-search{
        grid-column:1/-1;
    }
    .library-results-summary{
        justify-self:start;
    }
}
@media(max-width:620px){
    .library-controls{
        grid-template-columns:1fr;
    }
    .library-control-search{
        grid-column:auto;
    }
    .library-reset{
        width:100%;
    }
}

/* PLUSTECA_HOME_3_PLUS_1_V1_9_4_R3 */
.plusteca-3plus1{
  margin:28px 0;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(23,105,224,.16);
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 8%,rgba(23,105,224,.10),transparent 34%),
    radial-gradient(circle at 92% 20%,rgba(242,169,59,.14),transparent 32%),
    #fff;
  box-shadow:var(--shadow-lg);
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(22px,4vw,46px);
  align-items:center;
}
.plusteca-3plus1-copy h2{
  margin:.45rem 0 .7rem;
  font-size:clamp(1.75rem,3vw,2.6rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.plusteca-3plus1-copy h2 span{color:var(--primary,#1769e0)}
.plusteca-3plus1-copy p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}
.plusteca-3plus1-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(92px,1fr)) auto minmax(116px,1.15fr);
  gap:10px;
  align-items:stretch;
}
.plusteca-3plus1-step{
  min-height:126px;
  padding:15px 13px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  box-shadow:0 8px 20px rgba(43,63,88,.06);
}
.plusteca-3plus1-step>span{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto 8px;
  background:#edf5ff;
  color:#1457bf;
  font-weight:800;
}
.plusteca-3plus1-step strong{font-size:1rem}
.plusteca-3plus1-step small{margin-top:3px;color:var(--muted);line-height:1.25}
.plusteca-3plus1-step.proposal{
  border-color:rgba(242,169,59,.36);
  background:linear-gradient(180deg,#fffdf8,#fff8e9);
}
.plusteca-3plus1-step.proposal>span{background:#fff1d7;color:#8e5900}
.plusteca-3plus1-plus{
  align-self:center;
  font-size:2rem;
  font-weight:800;
  color:#8e5900;
  padding:0 2px;
}
.plusteca-3plus1-result{
  grid-column:1/-1;
  border-radius:16px;
  padding:13px 18px;
  background:linear-gradient(90deg,#eef6ff,#f7fbff);
  border:1px solid rgba(23,105,224,.14);
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.plusteca-3plus1-result strong{color:#1457bf;font-size:1.08rem}
.plusteca-3plus1-result small{color:var(--muted)}
@media(max-width:900px){
  .plusteca-3plus1{grid-template-columns:1fr}
}
@media(max-width:680px){
  .plusteca-3plus1{padding:20px;border-radius:22px}
  .plusteca-3plus1-flow{grid-template-columns:1fr 1fr;gap:9px}
  .plusteca-3plus1-step{min-height:108px}
  .plusteca-3plus1-plus{grid-column:1/-1;text-align:center;line-height:1}
  .plusteca-3plus1-step.proposal{grid-column:1/-1}
  .plusteca-3plus1-result{display:block}
  .plusteca-3plus1-result small{display:block;margin-top:3px}
}


/* Plusteca · destaque de promociones gratuitas en la home */

.google-membership-offer{
    position:relative;
    box-sizing:border-box;
    margin:16px 0 14px;
    padding:17px 18px;
    border:2px solid rgba(216,164,42,.40);
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            rgba(255,248,222,.98),
            rgba(244,249,255,.98)
        );
    box-shadow:
        0 12px 30px rgba(26,71,125,.10),
        inset 0 1px 0 rgba(255,255,255,.85);
    text-align:left;
}

.google-membership-offer::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    border-radius:18px 0 0 18px;
    background:linear-gradient(180deg,#e1ae36,#1769e0);
}

.google-membership-eyebrow{
    display:inline-flex;
    align-items:center;
    margin-bottom:7px;
    font-size:.73rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.055em;
    text-transform:uppercase;
    color:#7d5a08;
}

.google-membership-eyebrow::before{
    content:"★";
    margin-right:6px;
    font-size:.9rem;
}

.google-membership-title{
    margin:0;
    font-size:1.08rem;
    line-height:1.35;
    font-weight:700;
    color:var(--text);
}

.google-membership-copy{
    margin:8px 0 0;
    font-size:.88rem;
    line-height:1.5;
    color:var(--muted);
}

.home-promo-days{
    display:inline-block;
    font-size:1.22em;
    line-height:1.15;
    font-weight:900;
    color:#9a6800;
}

.home-promo-plan{
    display:inline-block;
    font-size:1.15em;
    line-height:1.15;
    font-weight:900;
    color:#1769e0;
}

.home-promo-days-inline{
    font-weight:850;
    color:#8c6100;
}

.home-promo-plan-inline{
    font-weight:850;
    color:#1769e0;
}

.home-membership-promo-card{
    position:relative;
    overflow:hidden;
    border:2px solid rgba(216,164,42,.38);
    background:
        linear-gradient(
            135deg,
            rgba(255,250,232,.98),
            rgba(244,249,255,.98)
        );
    box-shadow:
        0 16px 42px rgba(26,71,125,.11),
        inset 0 1px 0 rgba(255,255,255,.90);
}

.home-membership-promo-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:5px;
    background:linear-gradient(
        90deg,
        #d7a62e,
        #1769e0
    );
}

.home-membership-promo-card .badge{
    font-weight:800;
}

.home-membership-promo-card .membership-promo-lead{
    margin-top:12px;
    margin-bottom:12px;
    font-size:1.28rem;
    line-height:1.4;
    color:var(--text);
}

@media (max-width:680px){
    .google-membership-offer{
        padding:15px 16px 15px 18px;
    }

    .google-membership-title{
        font-size:1rem;
    }

    .home-membership-promo-card .membership-promo-lead{
        font-size:1.15rem;
    }
}


/* =====================================================================
   PLUSTECA HOME - RECORRIDO CURRICULAR HORIZONTAL V1
   ===================================================================== */

.home-curricular-journey{
    position:relative;
    margin:34px 0;
    padding:clamp(22px,3.2vw,38px);
    border:1px solid rgba(23,105,224,.14);
    border-radius:28px;
    background:
        radial-gradient(
            circle at 4% 6%,
            rgba(23,105,224,.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 96% 16%,
            rgba(216,164,42,.10),
            transparent 26%
        ),
        #fff;
    box-shadow:
        0 18px 46px rgba(26,71,125,.08),
        inset 0 1px 0 rgba(255,255,255,.92);
}

.home-curricular-journey-head{
    max-width:920px;
}

.home-curricular-journey-head h2{
    margin:.55rem 0 .75rem;
    max-width:850px;
    font-size:clamp(1.75rem,3vw,2.55rem);
    line-height:1.08;
    letter-spacing:-.025em;
}

.home-curricular-journey-lead{
    max-width:900px;
    margin:0;
    color:var(--text);
    font-size:1.04rem;
    line-height:1.7;
}

.home-curricular-journey-note{
    max-width:900px;
    margin:10px 0 0;
    color:var(--muted);
    font-size:.91rem;
    line-height:1.55;
}

.home-curricular-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:22px 0 14px;
    color:var(--muted);
    font-size:.78rem;
    font-weight:700;
}

.home-curricular-legend-item{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.home-curricular-legend-item i{
    display:block;
    width:10px;
    height:10px;
    border-radius:999px;
}

.home-curricular-legend-item.curricular i{
    background:#1769e0;
}

.home-curricular-legend-item.plusteca i{
    background:#d8a42a;
}

.home-curricular-flow-scroll{
    position:relative;
    overflow:visible;
    padding:7px 3px 15px;
}

.home-curricular-flow-scroll:focus-visible{
    outline:3px solid rgba(23,105,224,.18);
    outline-offset:4px;
    border-radius:16px;
}

.home-curricular-flow{
    list-style:none;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
}

.home-curricular-stage{
    position:relative;
    min-width:0;
}

.home-curricular-stage:not(:last-child)::after{
    content:"";
    position:absolute;
    z-index:1;
    top:39px;
    right:-10px;
    width:10px;
    height:2px;
    background:
        linear-gradient(
            90deg,
            rgba(23,105,224,.30),
            rgba(216,164,42,.48)
        );
}

.home-curricular-stage:not(:last-child)::before{
    content:"";
    position:absolute;
    z-index:2;
    top:35px;
    right:-10px;
    width:7px;
    height:8px;
    border-top:2px solid rgba(216,164,42,.65);
    border-right:2px solid rgba(216,164,42,.65);
    transform:rotate(45deg);
}

.home-curricular-stage article{
    box-sizing:border-box;
    height:100%;
    min-height:310px;
    padding:13px 11px;
    border:1px solid rgba(23,105,224,.14);
    border-radius:18px;
    background:rgba(255,255,255,.88);
    box-shadow:
        0 10px 25px rgba(26,71,125,.06),
        inset 0 1px 0 rgba(255,255,255,.90);
}

.home-curricular-stage-focus article,
.home-curricular-stage-continuity article{
    border-top:4px solid rgba(216,164,42,.75);
}

.home-curricular-stage-number{
    display:inline-grid;
    place-items:center;
    width:32px;
    height:32px;
    margin-bottom:10px;
    border-radius:12px;
    background:#edf5ff;
    color:#1457bf;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.04em;
}

.home-curricular-stage-focus .home-curricular-stage-number,
.home-curricular-stage-continuity .home-curricular-stage-number{
    background:#fff6da;
    color:#8e5900;
}

.home-curricular-stage-kicker{
    display:block;
    margin-bottom:5px;
    color:#64798f;
    font-size:.61rem;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.home-curricular-stage h3{
    margin:0 0 9px;
    font-size:.94rem;
    line-height:1.22;
    color:var(--text);
}

.home-curricular-stage-core{
    min-height:72px;
    margin:0;
    color:var(--muted);
    font-size:.74rem;
    line-height:1.45;
}

.home-curricular-stage-contribution{
    margin-top:11px;
    padding:9px;
    border-left:4px solid rgba(216,164,42,.78);
    border-radius:0 12px 12px 0;
    background:
        linear-gradient(
            135deg,
            rgba(255,248,224,.90),
            rgba(247,251,255,.96)
        );
}

.home-curricular-stage-contribution strong{
    display:block;
    margin-bottom:4px;
    color:#7d5a08;
    font-size:.66rem;
    line-height:1.18;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
}

.home-curricular-stage-contribution p{
    margin:0;
    color:#51677d;
    font-size:.70rem;
    line-height:1.4;
}

.home-curricular-stage-contribution.emphasis{
    border-left-color:#1769e0;
    background:
        linear-gradient(
            135deg,
            #eef6ff,
            #fff9e8
        );
}

.home-curricular-stage-contribution.emphasis strong{
    color:#1457bf;
}

.home-curricular-journey-footer{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-top:15px;
    padding:15px 17px;
    border-radius:15px;
    background:#f7faff;
    color:#526982;
    font-size:.82rem;
    line-height:1.55;
}

.home-curricular-journey-footer strong{
    color:var(--text);
}

@media(max-width:1050px){
    .home-curricular-journey{
        padding:19px;
        border-radius:23px;
    }

    .home-curricular-flow{
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:7px;
        min-width:0;
    }

    .home-curricular-stage article{
        min-height:304px;
        padding:11px 9px;
    }

    .home-curricular-stage h3{
        font-size:.88rem;
    }

    .home-curricular-stage-core{
        font-size:.69rem;
    }

    .home-curricular-stage-contribution p{
        font-size:.66rem;
    }
}

@media(max-width:820px){
    .home-curricular-journey{
        margin:24px 0;
        padding:19px 16px;
        border-radius:20px;
    }

    .home-curricular-journey-head h2{
        font-size:1.72rem;
    }

    .home-curricular-journey-lead{
        font-size:.96rem;
    }

    .home-curricular-legend{
        margin-top:18px;
    }

    .home-curricular-flow-scroll{
        overflow:visible;
        padding:4px 0;
    }

    .home-curricular-flow{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        min-width:0;
    }

    .home-curricular-stage:not(:last-child)::after{
        top:auto;
        right:auto;
        bottom:-12px;
        left:30px;
        width:2px;
        height:12px;
        background:
            linear-gradient(
                180deg,
                rgba(23,105,224,.30),
                rgba(216,164,42,.48)
            );
    }

    .home-curricular-stage:not(:last-child)::before{
        top:auto;
        right:auto;
        bottom:-11px;
        left:27px;
        transform:rotate(135deg);
    }

    .home-curricular-stage article{
        min-height:0;
        padding:15px;
    }

    .home-curricular-stage-core{
        min-height:0;
    }

    .home-curricular-journey-footer{
        display:block;
    }

    .home-curricular-journey-footer span{
        display:block;
        margin-top:5px;
    }
}

@media print{
    .home-curricular-flow-scroll{
        overflow:visible;
    }

    .home-curricular-flow{
        min-width:0;
        grid-template-columns:repeat(3,1fr);
    }

    .home-curricular-stage article{
        min-height:0;
        break-inside:avoid;
    }

    .home-curricular-stage::before,
    .home-curricular-stage::after{
        display:none;
    }
}



/* =====================================================================
   PLUSTECA_UI_DENSITY_V1
   Densidad inteligente de escritorio.
   La fuente base permanece sin cambios; se recupera espacio estructural.
   ===================================================================== */
@media(min-width:1081px){
    .topbar{
        height:64px;
        padding:0 18px;
    }

    .brand-mark{
        width:40px;
        height:40px;
        border-radius:11px;
    }

    .brand-copy strong{
        font-size:1rem;
    }

    .user-chip,
    .tier-chip{
        padding:7px 11px;
        font-size:.81rem;
    }

    .shell{
        grid-template-columns:236px minmax(0,1fr);
        min-height:calc(100vh - 64px);
    }

    .sidebar{
        position:sticky;
        top:64px;
        align-self:start;
        height:calc(100vh - 64px);
        min-height:0;
        overflow-y:auto;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
        padding:10px 8px 12px;
    }

    .sidebar nav{
        gap:1px;
    }

    .nav-group-label{
        padding:9px 10px 4px;
        font-size:.64rem;
    }

    .nav-item{
        gap:9px;
        padding:8px 10px;
        border-radius:9px;
        font-size:.94rem;
    }

    .nav-item .ui-icon{
        width:18px;
        height:18px;
    }

    .sidebar-footer{
        margin-top:10px;
        padding:10px 8px 0;
    }

    .content{
        max-width:1560px;
        padding:18px 20px 28px;
    }

    .shell .card{
        padding:16px;
        border-radius:15px;
    }

    .shell .grid{
        gap:14px;
    }

    .shell .section-title{
        margin:18px 0 10px;
        gap:12px;
    }

    .shell .btn{
        min-height:38px;
        padding:8px 13px;
    }
.feedback-fab,
    body.artifact-editing .feedback-fab{
        left:252px !important;
        bottom:16px !important;
    }
}


/* =====================================================================
   PLUSTECA_CONTEXT_HELP_V1
   Ayuda contextual permanente, compacta e independiente del onboarding.
   ===================================================================== */
.plusteca-context-help-trigger{
    display:inline-grid;
    place-items:center;
    width:22px;
    height:22px;
    margin-left:7px;
    padding:0;
    border:1px solid #b9c8db;
    border-radius:50%;
    background:#f7faff;
    color:var(--blue,#1769e0);
    font:800 .76rem/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    vertical-align:middle;
    cursor:pointer;
    box-shadow:none;
    transform:none;
}
.plusteca-context-help-trigger:hover{
    border-color:#7da8e3;
    background:var(--blue-soft,#edf5ff);
    color:#125bc8;
    transform:none;
}
.plusteca-context-help-trigger:focus-visible{
    outline:3px solid rgba(23,105,224,.2);
    outline-offset:2px;
}
.plusteca-context-help-dialog{
    width:min(540px,calc(100vw - 28px));
    max-height:min(78vh,680px);
    overflow:auto;
    border:0;
    border-radius:20px;
    padding:0;
    color:var(--ink,#243041);
    background:#fff;
    box-shadow:0 24px 76px rgba(3,18,40,.28);
}
.plusteca-context-help-dialog::backdrop{
    background:rgba(10,24,45,.48);
    backdrop-filter:blur(1px);
}
.plusteca-context-help-card{
    padding:20px;
}
.plusteca-context-help-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.plusteca-context-help-kicker{
    display:block;
    margin-bottom:4px;
    color:var(--blue,#1769e0);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.plusteca-context-help-title{
    margin:0;
    font-size:1.28rem;
    line-height:1.2;
}
.plusteca-context-help-close{
    flex:0 0 auto;
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#5f6b7a;
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
}
.plusteca-context-help-close:hover{
    background:#f2f5f9;
}
.plusteca-context-help-purpose{
    margin:14px 0 0;
    color:var(--ink-2,#344054);
    line-height:1.55;
}
.plusteca-context-help-options{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--line-2,#edf0f5);
}
.plusteca-context-help-options strong{
    display:block;
    margin-bottom:8px;
    font-size:.88rem;
}
.plusteca-context-help-list{
    margin:0;
    padding-left:1.25rem;
    color:var(--muted,#667085);
    line-height:1.5;
}
.plusteca-context-help-list li+li{
    margin-top:6px;
}
.plusteca-context-help-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}
@media(max-width:680px){
    .plusteca-context-help-dialog{
        width:calc(100vw - 20px);
        max-height:82vh;
        border-radius:17px;
    }
    .plusteca-context-help-card{
        padding:17px;
    }
    .plusteca-context-help-trigger{
        width:24px;
        height:24px;
    }
}

/* PLUSTECA P5B · Editor científico bidireccional */
.science-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.science-mode-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 10px;align-items:start;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow);transition:.15s ease}.science-mode-card:hover,.science-mode-card.active{border-color:#a9c8f2;background:#f7fbff;transform:translateY(-1px)}.science-mode-number{grid-row:1/3;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:850}.science-mode-card strong{font-size:.92rem}.science-mode-card small{color:var(--muted);line-height:1.4}.science-workbench{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:stretch}.science-editor-card,.science-preview-card{min-width:0}.science-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.science-card-heading h2,.science-card-heading h3{margin:0}.science-editor-card #science-scratch{display:block;width:100%;min-height:310px;resize:vertical;border:1px solid #cbd5e1;border-radius:13px;padding:15px 16px;background:#fff;outline:none;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.science-editor-card #science-scratch:focus,.science-ai-form textarea:focus,.science-ai-result textarea:focus{border-color:#87b6f6;box-shadow:0 0 0 3px rgba(23,105,224,.09)}.science-editor-actions{margin-top:10px}.science-preview{min-height:310px;height:100%;padding:18px;border:1px dashed #b9c9df;border-radius:14px;background:#fff;font-family:Arial,sans-serif;line-height:1.6;overflow:auto}.science-preview-empty{min-height:250px;display:grid;place-items:center;text-align:center;color:var(--muted-2);padding:20px}.science-advanced-help{margin-top:12px;padding:10px 12px;border-radius:11px;background:#f7f9fc;border:1px solid var(--line-2)}.science-advanced-help summary{cursor:pointer;font-weight:760;color:#40536d}.science-ai-lab{margin-top:18px;border-color:#cfe0f6;background:linear-gradient(180deg,#fff,#fbfdff)}.science-ai-mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}.science-ai-mode{border:1px solid #d7e0ec;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-weight:740;color:#40536d;cursor:pointer}.science-ai-mode.active{background:var(--blue);border-color:var(--blue);color:#fff}.science-ai-form{display:grid;gap:14px}.science-ai-context-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.science-ai-input-field textarea{width:100%;min-height:190px;resize:vertical}.science-ai-result{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.science-ai-result textarea{display:block;width:100%;min-height:330px;resize:vertical;border:1px solid #cbd5e1;border-radius:13px;padding:15px 16px;line-height:1.6;background:#fff}.science-ai-result .actions{margin-top:10px}.science-ai-locked{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border-radius:14px;background:#f7f9fc;border:1px solid var(--line)}.science-symbol-guide,.science-library-row{margin-top:18px}.science-formula-grid{margin-top:16px}.science-toolbar{align-items:flex-start}.science-toolbar-group{display:inline-flex;align-items:center;gap:5px;padding:3px 5px;border-left:1px solid var(--line-2)}.science-toolbar-group:first-of-type{border-left:0}.science-toolbar-group-name{font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin-right:2px}
@media(max-width:1050px){.science-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.science-ai-context-grid{grid-template-columns:1fr 1fr}.science-ai-context-grid .field:first-child{grid-column:1/-1}}
@media(max-width:780px){.science-workbench{grid-template-columns:1fr}.science-preview{min-height:240px}.science-preview-empty{min-height:180px}.science-ai-context-grid{grid-template-columns:1fr}.science-ai-context-grid .field:first-child{grid-column:auto}.science-ai-locked{align-items:flex-start;flex-direction:column}.science-toolbar-group{width:100%;border-left:0;border-top:1px solid var(--line-2);padding-top:7px}.science-toolbar-group-name{min-width:64px}}
@media(max-width:560px){.science-mode-grid{grid-template-columns:1fr}.science-card-heading{display:block}.science-card-heading>.small{display:block;margin-top:5px}.science-editor-card #science-scratch{min-height:280px}.science-ai-result textarea{min-height:290px}}

/*
 * PLUSTECA_P6C2F_DOCUMENT_TABLES_V1
 */

.doc h4,
.doc h5,
.doc h6{
    color:#245da8;
    line-height:1.35;
}

.doc h4{
    margin:1.3em 0 .55em;
    font-size:1.05rem;
}

.doc h5{
    margin:1.2em 0 .5em;
    font-size:.98rem;
}

.doc h6{
    margin:1.15em 0 .45em;
    font-size:.93rem;
}

.doc.tpl-minimal h4,
.doc.tpl-minimal h5,
.doc.tpl-minimal h6{
    color:#252b34;
}

.doc-table-wrap{
    width:100%;
    overflow-x:auto;
    margin:1rem 0 1.25rem;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.doc-table{
    width:100%;
    min-width:560px;
    border-collapse:separate;
    border-spacing:0;
    font-size:.94em;
    line-height:1.5;
}

.doc-table th,
.doc-table td{
    padding:10px 12px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    vertical-align:top;
    text-align:left;
    white-space:normal;
}

.doc-table th{
    background:#f7faff;
    color:#174e9a;
    font-weight:760;
}

.doc-table th:last-child,
.doc-table td:last-child{
    border-right:0;
}

.doc-table tbody tr:last-child td{
    border-bottom:0;
}

.doc-table [data-md-align="left"]{
    text-align:left;
}

.doc-table [data-md-align="center"]{
    text-align:center;
}

.doc-table [data-md-align="right"]{
    text-align:right;
}

.artifact-wysiwyg .doc-table th,
.artifact-wysiwyg .doc-table td{
    min-width:90px;
}

@media(max-width:680px){
    .doc-table{
        min-width:520px;
        font-size:.9em;
    }

    .doc-table th,
    .doc-table td{
        padding:8px 9px;
    }
}

@media print{
    .doc h4,
    .doc h5,
    .doc h6{
        print-color-adjust:exact;
        -webkit-print-color-adjust:exact;
    }

    .doc-table-wrap{
        overflow:visible;
        border-color:#cfd6df;
    }

    .doc-table{
        min-width:0;
        font-size:9.5pt;
    }

    .doc-table thead{
        display:table-header-group;
    }

    .doc-table tr{
        break-inside:avoid;
        page-break-inside:avoid;
    }
}
