/* PHM UI — componentes neutros. Aplicações podem adotar por perfil. */
@import url('tokens.css');
@import url('profiles/standard.css');
@import url('logo.css?v=20260908');
@import url('ecosystem-header.css?v=20260915');

.phm-ui-surface { background: var(--phm-ui-surface); border: 1px solid var(--phm-ui-border); border-radius: var(--phm-ui-radius-md); box-shadow: var(--phm-ui-shadow-sm); }
.phm-ui-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.75rem; padding:.7rem 1.2rem; border:1px solid transparent; border-radius:var(--phm-ui-radius-pill); font:600 .95rem var(--phm-ui-font-heading); text-decoration:none; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.phm-ui-button--primary { background:var(--phm-ui-gradient); color:#091122; box-shadow:var(--phm-ui-shadow-sm); }
.phm-ui-button--primary:hover { transform:translateY(-2px); box-shadow:var(--phm-ui-shadow-lg); }
.phm-ui-button--secondary { background:var(--phm-ui-surface); color:var(--phm-ui-text); border-color:var(--phm-ui-border-strong); }
.phm-ui-button--secondary:hover { border-color:var(--phm-ui-primary); transform:translateY(-2px); }
.phm-ui-eyebrow { color:var(--phm-ui-primary); font:800 .78rem var(--phm-ui-font-heading); letter-spacing:.12em; text-transform:uppercase; }

@media (prefers-reduced-motion: reduce) { .phm-ui-button { transition:none; } }
/* Navegação universal do ecossistema: serviço, preferências e retorno. */
.header-actions > *:not([href*="carrossel-musical"]):not(.nav-preferences-dropdown):not([href$="/index.php"]) { order: 1; }
.header-actions > a[href*="carrossel-musical"] { order: 90 !important; }
.header-actions > .phm-carrossel-control { order: 90 !important; }
.header-actions > .nav-preferences-dropdown { order: 91 !important; }
.header-actions > a[href$="/index.php"] { order: 92 !important; }
.top-bar-right > *:not([href*="carrossel-musical"]):not([href*="phmtech"]) { order: 1; }
.top-bar-right > a[href*="carrossel-musical"] { order: 90 !important; }
.top-bar-right > .nav-preferences-dropdown { order: 91 !important; }
.top-bar-right > a[href*="phmtech"] { order: 92 !important; }
.builder-actions-group > *:not([href*="carrossel-musical"]) { order: 1; }
.builder-actions-group > a[href*="carrossel-musical"] { order: 90 !important; }
.builder-topbar.phm-ecosystem-header { border-bottom:1px solid var(--line, #dbe3ef); box-shadow:0 4px 18px rgba(15,23,42,.06); }
.builder-actions-group > a[href*="carrossel-musical"] { order:90 !important; }
.quadro-nav-actions > .phm-projects-menu { order:1 !important; }
.quadro-nav-actions > a[href*="carrossel-musical"] { order:90 !important; }
.quadro-nav-actions > .nav-preferences-dropdown { order:91 !important; }
.quadro-nav-actions > .phm-hub-back { order:92 !important; }
.builder-actions-group > a[href$="/index.php"] { order:92 !important; }

.phm-projects-menu { position: relative; order: 1 !important; }
.phm-projects-menu > summary { list-style: none; display:inline-flex; align-items:center; gap:.4rem; cursor:pointer; min-height:36px; padding:0 .8rem; border:1px solid var(--line, #dbe3ef); border-radius:10px; background:var(--surface, #fff); color:var(--navy, #0f172a); font-size:.78rem; font-weight:700; }
.phm-projects-menu > summary::-webkit-details-marker { display:none; }
.phm-projects-menu[open] > summary { border-color:var(--teal, #0f766e); }
.phm-projects-menu__panel { position:absolute; top:calc(100% + 8px); right:0; z-index:1200; display:grid; grid-template-columns:repeat(2,minmax(150px,1fr)); gap:.2rem; min-width:360px; padding:.65rem; border:1px solid var(--line-strong, #cbd5e1); border-radius:12px; background:var(--surface, #fff); box-shadow:0 14px 35px rgba(15,23,42,.16); }
.phm-projects-menu__panel a { padding:.42rem .55rem; border-radius:7px; color:var(--text-soft, #475569); font-size:.75rem; font-weight:600; text-decoration:none; }
.phm-projects-menu__panel a:hover { background:var(--surface-soft, #f1f5f9); color:var(--teal, #0f766e); }
.phm-carrossel-panel .phm-carrossel-config-link { display:flex; align-items:center; justify-content:center; gap:.35rem; width:100%; margin-top:.65rem; color:var(--teal, #0f766e); font-size:.78rem; font-weight:700; text-decoration:none; }
.phm-carrossel-panel .phm-carrossel-config-link:hover { color:var(--blue, #2563eb); text-decoration:underline; }
.phm-carrossel-panel .phm-carrossel-open { width:100%; justify-content:center; background:linear-gradient(135deg,#2563eb 0%,#14b8a6 100%) !important; border-color:transparent !important; color:#fff !important; box-shadow:0 6px 18px rgba(37,99,235,.2); }
.phm-carrossel-panel .phm-carrossel-open:hover { filter:saturate(1.08) brightness(1.04); color:#fff !important; }
@media (max-width:640px) { .phm-projects-menu__panel { position:fixed; top:7rem; right:.75rem; left:.75rem; min-width:0; grid-template-columns:1fr; max-height:70vh; overflow:auto; } }

/* Cabeçalho mestre do ecossistema — piloto PHM Workbench. */

/* PHM Support Banner (Universal) */
.phm-support-banner { display:block; width:100%; flex-shrink:0; background:#2dd4bf; color:#0b1120; border-bottom:1px solid rgba(11,17,32,0.12); position:relative; z-index:1000; box-sizing:border-box; }
.phm-support-banner__link { display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:2.25rem; padding:.42rem 1rem; color:#0b1120!important; text-decoration:none!important; font-family:var(--phm-ui-font-heading, -apple-system, BlinkMacSystemFont, "Plus Jakarta Sans", sans-serif); font-size:.82rem; font-weight:600; letter-spacing:.015em; text-align:center; line-height:1.35; transition:background-color .2s ease, color .2s ease; }
.phm-support-banner__link:hover, .phm-support-banner__link:focus-visible { background-color:#26c6b2; color:#040812!important; text-decoration:none!important; }
.phm-support-banner__link:focus-visible { outline:2px solid #0b1120; outline-offset:-2px; }
.phm-support-banner__dot { width:.5rem; height:.5rem; border-radius:50%; background:currentColor; box-shadow:0 0 0 .25rem rgba(11,17,32,.16); flex-shrink:0; display:inline-block; }
.phm-support-banner__text strong { font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.phm-support-banner__arrow { flex-shrink:0; transition:transform .2s ease; display:inline-block; vertical-align:middle; }
.phm-support-banner__link:hover .phm-support-banner__arrow, .phm-support-banner__link:focus-visible .phm-support-banner__arrow { transform:translateX(3px); }
@media(max-width:48rem) { .phm-support-banner__link { font-size:.76rem; padding:.4rem .75rem; gap:.45rem; } }

