
/* Camada de compatibilidade visual Laravel -> identidade atual do Estúdio França.
   O arquivo assets/css/style.css é carregado primeiro e continua sendo a referência visual. */
.button{border:none;border-radius:15px;background:linear-gradient(135deg,#111,#353535);color:var(--gold2);font-weight:900;font-size:14px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 11px 25px rgba(17,17,17,.13);transition:.18s ease;font-family:var(--font-ui);text-decoration:none}
.button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(17,17,17,.18)}
.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.button.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#161410}
.button.small{padding:8px 11px;border-radius:12px;font-size:12px;min-height:auto}
.field{display:grid;gap:8px;min-width:0}.field>span{display:block;font-size:13px;font-weight:850;color:#2a2620}.field.full{grid-column:1/-1}
.check{display:flex;align-items:flex-start;gap:8px;color:#444;font-size:13px;line-height:1.45;padding:10px 0}.check input{width:auto!important;min-height:auto!important;accent-color:var(--gold)}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;background:#eee;color:#555}
.status.ativo,.status.ativa,.status.pago,.status.assinado{background:var(--success-bg);color:var(--success)}
.status.pendente,.status.enviado,.status.rascunho,.status.programada{background:var(--warning-bg);color:var(--warning)}
.status.inativo,.status.cancelada,.status.cancelado,.status.inadimplente,.status.atrasado{background:var(--danger-bg);color:var(--danger)}
.alert.success{background:var(--success-bg);color:var(--success);border:1px solid #abefc6}.alert ul{margin:6px 0 0;padding-left:20px}
.stack{display:grid;gap:16px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nav form{margin:0}.nav-logout{width:100%;padding:11px 12px;border:0;border-radius:15px;background:transparent;color:#424242;font:inherit;font-size:14px;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.nav-logout:hover{background:var(--soft-gold);font-weight:850}
.product-grid,.product-sale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:18px}
.product-card,.sale-product{display:grid;gap:7px;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff;color:var(--ink);text-decoration:none}.product-card:hover{border-color:#d5b77c;box-shadow:var(--shadow-soft)}
.product-picture{height:145px;border-radius:12px;background:#f4efe7;display:grid;place-items:center;overflow:hidden;color:var(--muted)}.product-picture img{width:100%;height:100%;object-fit:cover}.sale-product input{margin-top:5px}
.photo-list{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.photo-list label{display:grid;gap:6px;width:150px}.photo-list img{width:150px;height:110px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.support-list{display:grid;gap:10px;margin:18px 0}.support-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;transition:.18s ease}.support-row:hover{border-color:#c99d92;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.support-row>div:first-child{display:grid;gap:4px}.support-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.support-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.support-message{padding:19px 0;border-bottom:1px solid var(--line2)}.support-message:last-child{border-bottom:0}.support-message p{white-space:normal;line-height:1.7}
.student-contract-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line2)}.student-contract-row:last-child{border-bottom:0}.student-contract-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-contract-row small{flex-basis:100%;margin-left:0}.student-account-card form{margin:0}
code{overflow-wrap:anywhere}pre{max-width:100%;overflow:auto;background:#fffaf2;border:1px solid var(--line);padding:12px;border-radius:12px}

/* Suporte flutuante */
.estudio-support-widget{position:fixed;right:18px;bottom:18px;z-index:10015;font-family:inherit}.estudio-support-fab{width:50px;height:50px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:#8e2d31;box-shadow:0 8px 22px rgba(82,25,29,.27);cursor:pointer;font-size:20px}.estudio-support-panel{position:absolute;right:0;bottom:62px;width:min(310px,calc(100vw - 28px));border:1px solid #eaded8;border-radius:15px;background:#fff;box-shadow:0 16px 40px rgba(36,25,25,.17);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px) scale(.985);transform-origin:bottom right;transition:.16s ease;overflow:hidden}.estudio-support-widget.is-open .estudio-support-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}.estudio-support-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid #f0e8e4}.estudio-support-head strong{display:block;font-size:14px}.estudio-support-head span{display:block;margin-top:3px;color:#817976;font-size:11px}.estudio-support-close{width:28px;height:28px;border:0;border-radius:8px;background:#f7f3f1;font-size:20px;cursor:pointer}.estudio-support-options{display:grid;gap:7px;padding:10px}.estudio-support-option{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid #e9e1dd;border-radius:11px;color:#342f30;background:#fff;text-decoration:none}.estudio-support-option:hover{border-color:#cfaeaa;background:#fdf9f7}.estudio-support-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;color:#8e2d31;background:#f8eceb}.estudio-support-icon.whatsapp{color:#137a42;background:#e9f8ef}.estudio-support-copy strong{display:block;font-size:12px}.estudio-support-copy small{display:block;margin-top:2px;color:#8b8380;font-size:10px}

@media(max-width:1000px){.detail-grid,.support-detail-grid{grid-template-columns:1fr}.product-grid,.product-sale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{z-index:10020}.support-row{align-items:flex-start;flex-direction:column}.support-row>div:last-child{justify-content:flex-start}}
@media(max-width:640px){.product-grid,.product-sale-grid{grid-template-columns:1fr}.student-contract-row{align-items:flex-start;flex-direction:column}.student-contract-row .button{width:100%}}
@media print{.estudio-support-widget{display:none!important}}

/* Instalação PWA */
.nav-install{width:100%;padding:11px 12px;border:0;border-radius:15px;background:transparent;color:#8e2d31;font:inherit;font-size:14px;font-weight:800;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.nav-install:hover{background:#f8eceb}
.pwa-install-button{display:block;margin:14px auto 0;padding:7px 12px;border:0;background:transparent;color:#8e2d31;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.pwa-install-button:hover{text-decoration:underline}
.pwa-install-message{position:fixed;left:50%;bottom:24px;z-index:10100;max-width:min(430px,calc(100vw - 32px));padding:13px 17px;border:1px solid #eaded8;border-radius:13px;background:#292323;color:#fff;box-shadow:0 16px 40px rgba(36,25,25,.22);font-size:13px;line-height:1.45;text-align:center;opacity:0;transform:translate(-50%,10px);transition:.2s ease;pointer-events:none}
.pwa-install-message.is-visible{opacity:1;transform:translate(-50%,0)}
.pwa-offline-card{text-align:center}
[hidden]{display:none!important}



/* Menu lateral recolhível: a navegação e as permissões são preservadas. */
.app>.sidebar{
  box-sizing:border-box;
  flex:0 0 268px;
  min-width:0;
  transition:width .22s ease,flex-basis .22s ease,padding .22s ease,opacity .18s ease;
}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}
.sidebar-head .brand{flex:1;min-width:0;margin-bottom:0}
.sidebar-head .brand-line{gap:8px}
.sidebar-head .brand-line>div{min-width:0}
.sidebar-head .brand-logo{width:43px;height:43px;flex-shrink:0}
.sidebar-head h2{font-size:18px;line-height:1.2;white-space:nowrap}
.sidebar-head .brand small{font-size:9px;letter-spacing:.45px;white-space:nowrap}
.sidebar-close,.sidebar-toggle{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:38px;height:38px;padding:0;
  background:#fff;color:#463c35;border:1px solid var(--line);
  border-radius:11px;cursor:pointer;font:inherit;font-size:22px;
  transition:background .18s ease,border-color .18s ease;
}
.sidebar-close{width:32px;height:32px;font-size:23px;background:#f9f5ee}
.sidebar-close:hover,.sidebar-toggle:hover{background:var(--soft-gold);border-color:#d9c39c}
.sidebar-close:focus-visible,.sidebar-toggle:focus-visible{outline:3px solid #8e2d31;outline-offset:2px}
.topbar-heading{display:flex;align-items:flex-start;gap:14px;min-width:0}
.topbar-titles{min-width:0}
.sidebar-toggle{margin:0;align-self:flex-start}
.sidebar-backdrop{
  position:fixed;inset:0;z-index:10019;
  display:none;padding:0;border:0;border-radius:0;
  background:rgba(17,16,15,.48);opacity:0;visibility:hidden;
  pointer-events:none;cursor:pointer;transition:opacity .22s ease,visibility .22s;
}
.sidebar-menu-lock{overflow:hidden}

@media (min-width:1001px){
  .app.sidebar-collapsed>.sidebar{
    width:0;flex-basis:0;padding:0;border:0;
    opacity:0;visibility:hidden;overflow:hidden;
  }
}
@media (max-width:1000px){
  .app>.sidebar{
    display:block;position:fixed;top:0;left:0;z-index:10020;
    box-sizing:border-box;width:min(86vw,310px);max-width:none;
    height:100vh;height:100dvh;
    overflow-y:auto;overflow-x:hidden;
    transform:translateX(-105%);opacity:1;visibility:hidden;
    pointer-events:none;
    box-shadow:12px 0 36px rgba(17,16,15,.14);
    transition:transform .24s ease,visibility .24s;
  }
  .app.sidebar-mobile-open>.sidebar{
    display:block;transform:translateX(0);visibility:visible;pointer-events:auto;
  }
  .sidebar-backdrop{display:block}
  .app.sidebar-mobile-open>.sidebar-backdrop{
    opacity:1;visibility:visible;pointer-events:auto;
  }
  .topbar-heading{gap:11px}
  .sidebar-toggle{width:38px;height:38px}
}
@media (max-width:640px){
  .topbar-heading{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .app>.sidebar,.sidebar-backdrop,.sidebar-toggle,.sidebar-close{transition:none!important}
}
@media print{
  .sidebar-toggle,.sidebar-close,.sidebar-backdrop{display:none!important}
}
/* Navegação lateral rolável sem barra visível, mantendo roda do mouse e toque. */
.app>.sidebar{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.app>.sidebar::-webkit-scrollbar{display:none;width:0;height:0}
/* Menu de ações por matrícula. */
.enrollment-actions{position:relative;display:inline-block}
.enrollment-actions>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:24px;font-weight:800;cursor:pointer}
.enrollment-actions>summary::-webkit-details-marker{display:none}
.enrollment-actions[open]>summary,.enrollment-actions>summary:hover{background:var(--soft-gold)}
.enrollment-actions .action-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:30;min-width:175px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);display:grid;gap:2px}
.enrollment-actions .action-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.enrollment-actions .action-menu a:hover{background:var(--soft-gold)}
.table-wrap:has(.enrollment-actions[open]){overflow:visible}

/* Ocultar trilho de rolagem em todos os navegadores, sem desativar a rolagem. */
html body .app > aside.sidebar, html body .app > aside.sidebar .nav {scrollbar-width:none!important;-ms-overflow-style:none!important}
html body .app > aside.sidebar::-webkit-scrollbar,html body .app > aside.sidebar .nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* Ações de matrícula: botão hambúrguer compacto, sem marcador nativo de details. */
.enrollment-actions>summary{display:flex!important;list-style:none!important;appearance:none;-webkit-appearance:none;width:34px;height:32px;padding:0;font-size:16px;line-height:1}
.enrollment-actions>summary::marker{content:''!important;font-size:0}
.enrollment-actions>summary::-webkit-details-marker{display:none!important}
.enrollment-actions>summary>span{display:block;line-height:1;font-size:17px;font-weight:600}

/* Remover definitivamente o X ao lado da marca, inclusive em views em cache. */
.app .sidebar-head .sidebar-close{display:none!important}

/* Tarefas internas */
.topbar-actions{display:flex;align-items:center;gap:12px}
.notification-bell{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#8e2d31;text-decoration:none;font-size:22px;line-height:1}
.notification-bell:hover{background:#f8eceb;border-color:#d6b5b0}
.notification-bell b{position:absolute;right:-5px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#8e2d31;color:#fff;font-size:10px;display:grid;place-items:center}
.task-notification-list form{margin:0}
.task-notification-row{width:100%;border:0;text-align:left;font:inherit;cursor:pointer;background:transparent;appearance:none;-webkit-appearance:none}
.task-filters{align-items:end}.task-link{color:var(--ink);text-decoration:none}.task-link:hover{text-decoration:underline}.task-list-card small{display:inline-block;margin-top:4px}.task-status{text-transform:none;letter-spacing:0}.status-nao_visto{background:#f1eeee;color:#6b5555}.status-ciente{background:#eeeaf8;color:#5c4b86}.status-fazendo{background:#e8f1fb;color:#2b5c91}.status-pausado{background:#fff3d6;color:#8b6116}.status-aguardando_terceiro{background:#fff0e3;color:#9a5c24}.status-concluido{background:var(--success-bg);color:var(--success)}.status-cancelado{background:var(--danger-bg);color:var(--danger)}.task-overdue{color:#a22b2b;font-weight:850}.task-pagination{align-items:center}.task-pagination nav{margin-left:auto}.task-pagination svg{width:16px;height:16px}.task-pagination a,.task-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font-size:12px}.task-pagination span[aria-current="page"]{background:#8e2d31;color:#fff;border-color:#8e2d31}.task-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.task-description{line-height:1.75;padding:15px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}.task-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.task-meta-grid>div{display:grid;gap:4px}.task-meta-grid small{color:var(--muted);font-size:11px}.task-inline-form{display:flex;align-items:end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line2)}.task-inline-form .field{flex:1}.task-person-row,.task-child-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2)}.task-child-row{display:grid;color:var(--ink);text-decoration:none}.task-child-row:hover{color:#8e2d31}.task-child-row small{color:var(--muted)}.task-add-follower{display:flex;gap:7px;margin-top:12px}.task-add-follower select{flex:1;min-width:0}.link-button{border:0;background:transparent;color:#8e2d31;cursor:pointer;font:inherit;font-size:12px}.task-comment{padding:12px 0;border-bottom:1px solid var(--line2)}.task-comment small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.task-comment p{line-height:1.6;margin:7px 0 0}.task-history{display:grid;gap:12px}.task-history>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line2)}.task-history small{color:var(--muted);font-size:11px}.task-history p{margin:0;color:#5f5652;font-size:12px;overflow-wrap:anywhere}.task-notification-list{display:grid;gap:7px;margin-top:16px}.task-notification-row{display:flex;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.task-notification-row:hover{border-color:#cfaeaa;background:#fdf9f7}.task-notification-row.unread{background:#fff8f6;border-color:#d7b5b0}.task-notification-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border-radius:50%;background:transparent}.task-notification-row.unread .task-notification-dot{background:#8e2d31}.task-notification-row span:last-child{display:grid;gap:3px}.task-notification-row small{color:#645b58}.task-notification-row em{font-size:11px;color:var(--muted);font-style:normal}
@media(max-width:1000px){.task-detail-grid{grid-template-columns:1fr}.task-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.topbar-actions{gap:7px}.user-pill{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-meta-grid{grid-template-columns:1fr}.task-inline-form,.task-add-follower{align-items:stretch;flex-direction:column}.task-inline-form .button{width:100%}}

