.dir{display:flex;flex-direction:column;gap:var(--space-6)}.dir-form{display:grid;grid-template-columns:1.4fr 1fr .7fr .9fr;gap:var(--space-4);align-items:end;padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-md)}.dir-form__campo{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.dir-form__campo span{font:var(--type-body-sm);font-weight:var(--fw-bold);color:var(--text-heading)}.dir-form__campo input{width:100%;min-width:0;box-sizing:border-box;font:var(--type-body);color:var(--text-body);padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius-input);background:var(--white);transition:var(--transition-color)}.dir-form__campo input:focus-visible{outline:none;border-color:var(--border-strong);box-shadow:var(--focus-ring)}.dir-estado{font:var(--type-body-lg);color:var(--text-muted);text-align:center;padding:var(--space-10) var(--space-6);background:var(--surface-sunken);border:1px dashed var(--teal-200);border-radius:var(--radius-card)}.dir-estado--erro{color:var(--status-danger);background:var(--status-danger-bg);border-color:var(--red-100)}.dir-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-5);align-items:stretch}.dir-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);font:inherit;text-align:center}.dir-tile:hover{box-shadow:var(--shadow-lg);transform:var(--lift-hover);border-color:var(--teal-200)}.dir-tile:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dir-tile__foto{width:88px;height:88px;border-radius:var(--radius-circle);object-fit:cover;background:var(--surface-sunken)}.dir-tile__nome{font:var(--type-h6);font-weight:var(--fw-bold);color:var(--text-heading)}.dir-tile__local{font:var(--type-body-sm);font-size:var(--fs-caption);color:var(--text-muted)}.dir-tile__ver{font:var(--type-body-sm);font-weight:var(--fw-bold);color:var(--text-link);margin-top:auto}.dir-local{font:var(--type-body-sm);font-weight:var(--fw-bold);color:var(--text-brand)}.dir-contatos{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.dir-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--radius-pill);background:var(--teal-50);border:1px solid var(--teal-100);color:var(--teal-600);font:var(--type-body-sm);font-weight:var(--fw-bold);text-decoration:none;transition:var(--transition-base);white-space:nowrap}.dir-chip:hover{background:var(--teal-100);color:var(--teal-700);text-decoration:none;transform:var(--lift-hover)}.dir-chip__icon{display:inline-block;width:15px;height:15px;flex:0 0 auto;background:currentColor;-webkit-mask-image:var(--chip-icon);mask-image:var(--chip-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.dir-modal{position:fixed;inset:0;z-index:60;background:var(--surface-overlay);display:grid;place-items:center;padding:var(--gutter-mobile)}.dir-modal__card{position:relative;width:min(680px,100%);max-height:min(84dvh,720px);overflow-y:auto;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.dir-modal__fechar{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;border:1px solid var(--border-subtle);border-radius:var(--radius-circle);background:var(--surface-subtle);color:var(--text-heading);font-size:22px;line-height:1;cursor:pointer;transition:var(--transition-base)}.dir-modal__fechar:hover{background:var(--teal-50)}.dir-modal__topo{display:flex;gap:var(--space-5);align-items:flex-start}.dir-modal__foto{width:112px;height:112px;flex:0 0 auto;border-radius:var(--radius-circle);object-fit:cover;background:var(--surface-sunken)}.dir-modal__id{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.dir-modal__id h3{font:var(--type-h4);color:var(--text-heading);margin:0}.dir-modal__bio{font:var(--type-body);color:var(--text-body);line-height:var(--lh-body);margin:0}.dir-modal__cursos-status{font:var(--type-body-sm);color:var(--text-muted);margin:0}.dir-modal__cursos{display:flex;flex-direction:column;gap:var(--space-4);border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}.dir-modal__cursos h4{font:var(--type-h5);color:var(--text-heading);margin:0}.dir-curso{background:var(--surface-sunken);border:1px solid var(--teal-100);border-radius:var(--radius-md);overflow:hidden}.dir-curso summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;transition:var(--transition-color)}.dir-curso summary::-webkit-details-marker{display:none}.dir-curso summary:hover{background:var(--teal-100)}.dir-curso__nome{font:var(--type-body);font-weight:var(--fw-bold);color:var(--text-heading)}.dir-curso__seta{width:18px;height:18px;flex:0 0 auto;background:var(--teal-500);-webkit-mask-image:url(/icons/chevron-down.svg);mask-image:url(/icons/chevron-down.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:var(--transition-base)}.dir-curso[open] .dir-curso__seta{transform:rotate(180deg)}.dir-curso__detalhe{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:0 var(--space-5) var(--space-5)}.dir-curso__detalhe p{font:var(--type-body-sm);color:var(--text-body);line-height:var(--lh-body);margin:0}@media(max-width:980px){.dir-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.dir-tiles{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.dir-tile{padding:var(--space-5) var(--space-3)}.dir-tile__foto{width:72px;height:72px}.dir-tiles--trainers{grid-template-columns:repeat(3,1fr)}.dir-tiles--trainers .dir-tile{padding:var(--space-4) var(--space-2);gap:var(--space-2);border:2px solid var(--teal-500);box-shadow:none}.dir-tiles--trainers .dir-tile__foto{width:60px;height:60px}.dir-tiles--trainers .dir-tile__nome{font-size:var(--fs-body-sm)}.dir-tiles--trainers .dir-tile__local,.dir-tiles--trainers .dir-tile__ver{display:none}.dir-modal__topo{flex-direction:column;align-items:center;text-align:center}.dir-modal__id{align-items:center}}
