/*
 * proyectos.php (Proyectos de Fisher Platform): lo propio de la página.
 * Se apoya en fisher-ui.css (fn-*) y en isp-page.css (aparición escalonada, cifras, galería, fn-orbit-*).
 * La órbita del equipo es la pieza real del ERP (js/proyectos-orbit.js): aquí sólo su marco y sus tamaños.
 */

/* ===== La órbita del equipo ===== */
.fn-porbit{position:relative;z-index:1;border:1px solid rgba(126,227,244,.25);border-radius:20px;padding:18px 18px 14px;background:linear-gradient(180deg,rgba(18,36,62,.92),rgba(10,24,43,.96));box-shadow:0 40px 90px -30px rgba(0,0,0,.75);color:#dce5ee;overflow:hidden;}
.fn-porbit__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.fn-porbit__head h3{margin:4px 0 0;font-size:17px;color:#fff;font-weight:700;}
.fn-porbit__eyebrow{font:600 10px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.16em;text-transform:uppercase;color:#7ee3f4;display:flex;align-items:center;gap:7px;}
.fn-porbit__sub{font-size:12px;color:#8fa6bb;margin-top:2px;}
.fn-porbit .pjk-orbit{position:relative;max-width:430px;margin:6px auto 0;}
.fn-porbit .pjk-orbit__svg{width:100%;height:auto;display:block;}
.fn-porbit .pjk-orbit__core-t{font-size:10px;font-weight:800;fill:#fff;}
.fn-porbit .pjk-orbit__ini{font-size:9.5px;font-weight:800;fill:#0b1830;pointer-events:none;}
.fn-porbit .pjk-orbit__node{cursor:default;outline:none;}
.fn-porbit .pjk-orbit__node:focus-visible circle:nth-child(2){stroke:#fff;stroke-width:2;}
.fn-porbit .pjk-orbit__node.is-over .pjk-orbit__halo{animation:fnPorbitBreathe 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
.fn-porbit__list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;font-size:12.5px;}
.fn-porbit__list li{display:flex;align-items:center;gap:7px;min-width:0;color:#cfdce9;}
.fn-porbit__list strong{margin-left:auto;white-space:nowrap;color:#e2e8f0;}
.fn-porbit__list .is-over strong{color:#ff8fb0;}
.fn-porbit__dot{flex:none;width:10px;height:10px;border-radius:50%;}
.pjk-tip{position:fixed;z-index:1100;pointer-events:none;max-width:260px;padding:8px 11px;border-radius:10px;font-size:12px;line-height:1.45;background:#111827;color:#f8fafc;box-shadow:0 12px 28px -12px rgba(0,0,0,.5);opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;}
.pjk-tip.is-on{opacity:1;transform:none;}
@keyframes fnPorbitBreathe{50%{transform:scale(1.18);}}
@media (prefers-reduced-motion:reduce){.fn-porbit .pjk-orbit__node.is-over .pjk-orbit__halo{animation:none;}}
@media (max-width:767px){.fn-porbit{padding:14px 12px 12px;border-radius:16px;}.fn-porbit__list{grid-template-columns:repeat(2,minmax(0,1fr));}}

.fn-orbit__live{--nocl-ok:#2dd4bf;}
/* ===== Capturas altas (el área de clientes entera) con desplazamiento ===== */
.fn-frame--tall .fn-shot{max-height:640px;overflow:hidden;position:relative;}
.fn-frame--tall .fn-shot img{display:block;width:100%;height:auto;}

/* ===== Lista de acciones de Bastino ===== */
.fn-bst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;}
.fn-bst li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--fn-line);border-radius:14px;padding:14px 16px;box-shadow:var(--fn-sh-xs);}
.fn-bst i{flex:none;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--fn-blue-50,#eaf1ff);color:var(--fn-blue);font-size:15px;}
.fn-bst b{display:block;color:var(--fn-navy-900);font-size:15px;margin-bottom:2px;}
.fn-bst span{font-size:14px;line-height:1.5;color:var(--fn-muted);}
.fn-bst__tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle;}
.fn-bst__tag--read{background:#e6f6f0;color:#0f7a55;}
.fn-bst__tag--card{background:#fff3da;color:#9a6200;}
@media (max-width:767px){.fn-bst{grid-template-columns:1fr;}}

/* ===== Del cotizador al plan: tres pasos ===== */
.fn-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 34px;padding:0;list-style:none;counter-reset:fnflow;}
.fn-flow li{position:relative;background:#fff;border:1px solid var(--fn-line);border-radius:16px;padding:18px 18px 16px 18px;box-shadow:var(--fn-sh-xs);counter-increment:fnflow;}
.fn-flow li:before{content:counter(fnflow);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--fn-blue);color:#fff;font-weight:800;font-size:14px;margin-bottom:8px;}
.fn-flow b{display:block;color:var(--fn-navy-900);font-size:16px;margin-bottom:4px;}
.fn-flow span{font-size:14px;line-height:1.55;color:var(--fn-muted);}
@media (max-width:767px){.fn-flow{grid-template-columns:1fr;}}
