/* Painel (conta do cliente, sistemas e equipe): menu lateral escuro, barra superior e conteúdo em cartões.
   Usa os tokens --lx-* de hub.css; só o menu lateral tem cores próprias. */
body.is-app{
  --ap-side-w:268px;
  --ap-side-bg:#10200d;
  --ap-side-line:rgba(255,255,255,.08);
  --ap-side-text:rgba(236,244,226,.74);
  --ap-side-dim:rgba(236,244,226,.42);
  --ap-side-hover:rgba(255,255,255,.06);
  --ap-side-current:rgba(191,247,71,.14);
  --ap-lime:#bff747;
  --ap-radius:18px;
  background:var(--lx-bg);
}
html[data-theme="dark"] body.is-app{--ap-side-bg:#070a06}
html[data-ap-mini] body.is-app{--ap-side-w:84px}
body.is-app main{max-width:none;margin:0;padding:0}

.ap{display:grid;grid-template-columns:var(--ap-side-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s ease}

/* menu lateral */
.ap-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:22px 14px 16px;background:var(--ap-side-bg);color:var(--ap-side-text);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;z-index:40}
html[data-theme="dark"] .ap-side{border-right:1px solid var(--ap-side-line)}
.ap-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 4px;min-height:40px}
.ap-logo{display:block;line-height:0}
.ap-logo img{display:block;width:118px;height:auto}
.ap-badge{padding:4px 9px;border-radius:999px;background:var(--ap-lime);color:#111;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ap-nav{flex:1}
.ap-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ap-label{margin:18px 12px 8px;color:var(--ap-side-dim);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.ap-nav>.ap-label:first-child{margin-top:4px}
body.is-app .ap-nav a{display:flex;align-items:center;gap:12px;min-height:42px;padding:9px 12px;border-radius:12px;color:var(--ap-side-text);font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
body.is-app .ap-nav a:hover{background:var(--ap-side-hover);color:#fff}
body.is-app .ap-nav a[aria-current="page"],body.is-app .ap-nav a.is-active{background:var(--ap-side-current);color:#fff}
.ap-nav a[aria-current="page"] .ap-ico,.ap-nav a.is-active .ap-ico{color:var(--ap-lime)}
.ap-nav a:focus-visible{outline:2px solid var(--ap-lime);outline-offset:2px}
.ap-ico{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ap-nav a span{overflow:hidden;text-overflow:ellipsis}
.ap-caret{width:16px;height:16px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .15s}
.ap-nav li.is-open .ap-caret{transform:rotate(90deg)}
.ap-sub{margin:4px 0 6px 22px!important;padding-left:14px!important;border-left:1px solid var(--ap-side-line);gap:0!important}
body.is-app .ap-sub a{min-height:34px;padding:7px 10px;font-size:13.5px;font-weight:500;color:var(--ap-side-dim)}
body.is-app .ap-sub a[aria-current="page"]{background:none;color:var(--ap-lime);font-weight:700}
body.is-app .ap-me{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--ap-side-line);color:#fff;text-decoration:none;min-width:0}
.ap-me:hover{background:rgba(255,255,255,.09)}
.ap-me-text{display:grid;min-width:0;line-height:1.3}
.ap-me-text strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-me-text small{color:var(--ap-side-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ap-lime);color:#111;font-size:13px;font-weight:700;letter-spacing:.02em}

/* menu recolhido (desktop) */
html[data-ap-mini] .ap-side{padding-inline:12px}
html[data-ap-mini] .ap-logo img{width:30px;height:34px;object-fit:cover;object-position:left center}
html[data-ap-mini] .ap-side-head{justify-content:center;padding-inline:0}
html[data-ap-mini] .ap-badge,html[data-ap-mini] .ap-nav a span,html[data-ap-mini] .ap-caret,html[data-ap-mini] .ap-sub,html[data-ap-mini] .ap-me-text{display:none}
html[data-ap-mini] .ap-label{height:1px;margin:14px 10px;overflow:hidden;color:transparent;background:var(--ap-side-line)}
html[data-ap-mini] body.is-app .ap-nav a{justify-content:center;padding-inline:0}
html[data-ap-mini] body.is-app .ap-me{justify-content:center;padding:8px}

/* barra superior */
.ap-body{display:flex;flex-direction:column;min-width:0;min-height:100vh}
.ap-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 32px;background:color-mix(in srgb,var(--lx-bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--lx-line)}
body.is-app .ap-icon-btn{flex:none;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--lx-line);border-radius:12px;background:var(--lx-card);color:var(--lx-text-hi);cursor:pointer;text-decoration:none;box-shadow:none}
.ap-icon-btn:hover{border-color:var(--lx-field-line-hover);background:var(--lx-card)}
.ap-icon-btn .ap-ico,.ap-icon-btn svg{width:19px;height:19px}
.ap-icon-btn svg:not(.ap-ico){fill:none}
body.is-app .ap-burger,.ap-top-logo{display:none}
.ap-top-logo{line-height:0}
.ap-top-logo .bf-logo{height:30px;width:auto}
body.is-app .ap-create{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px 0 14px;border-radius:12px;background:var(--lx-inverse);color:var(--lx-on-inverse);font-size:14px;font-weight:700;text-decoration:none}
.ap-create:hover{filter:brightness(1.15)}
.ap-create .ap-ico{width:18px;height:18px;stroke-width:2}
html[data-theme="dark"] body.is-app .ap-create{background:var(--ap-lime);color:#111}
.ap-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.ap-user{position:relative}
.ap-user summary{display:flex;align-items:center;gap:10px;height:42px;padding:3px 14px 3px 3px;border:1px solid var(--lx-line);border-radius:999px;background:var(--lx-card);color:var(--lx-text-hi);font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.ap-user summary::-webkit-details-marker{display:none}
.ap-user summary .ap-avatar{width:34px;height:34px;font-size:12px}
.ap-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:50;display:grid;gap:2px;min-width:240px;padding:8px;border:1px solid var(--lx-line);border-radius:16px;background:var(--lx-card);box-shadow:var(--lx-shadow-pop)}
.ap-menu p{display:grid;gap:2px;margin:0 0 6px;padding:8px 10px 12px;border-bottom:1px solid var(--lx-line)}
.ap-menu p strong{color:var(--lx-heading);font-size:14px}
.ap-menu p small{color:var(--lx-subtle);font-size:12.5px;overflow-wrap:anywhere}
body.is-app .ap-menu a,body.is-app .ap-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:none;color:var(--lx-text-hi);font:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}
.ap-menu a:hover,.ap-menu button:hover{background:var(--lx-sunken)}
.ap-menu form{margin:0}
.ap-menu .ap-ico{width:18px;height:18px}

/* conteúdo */
.ap-main{flex:1;width:100%;padding:28px 32px 48px}
.ap-main>.lx-wrap,.ap-main .lx-wrap{width:100%;max-width:1360px;margin-inline:auto}
.ap-main .pg-body{padding:0}
body.is-app .ap-main h1{margin:0 0 6px;font-size:clamp(28px,2.5vw,36px);line-height:1.1}
.ap-main .lx-kicker{margin-bottom:6px;font-size:12px}
body.is-app .ap-main h2{font-size:clamp(20px,1.7vw,24px);line-height:1.2}
body.is-app .ap-main h3{font-size:18px;line-height:1.25}
.ap-main .pg-card,.ap-main .panel{border-radius:var(--ap-radius)}
.ap-main .account-nav{display:none}
.ap-flash{max-width:1360px;margin:0 auto 20px;padding:12px 16px;border-radius:12px;background:var(--lx-flash-bg);color:var(--lx-flash-fg);font-weight:600}
.ap-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:18px 32px 26px;color:var(--lx-subtle);font-size:13px}
.ap-foot p{margin:0}
.ap-foot a{color:inherit}

/* entrar e criar conta */
.au{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);min-height:100vh}
.au-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:40px 48px;background:var(--ap-side-bg);color:#eef6e2;overflow:hidden}
.au-side::after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(191,247,71,.38),rgba(191,247,71,0) 68%);pointer-events:none}
.au-logo img{display:block;width:140px;height:auto}
.au-pitch{position:relative;z-index:1;max-width:440px}
.au-kicker{margin:0 0 14px;color:var(--ap-lime);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
body.is-app .au-pitch h2{margin:0 0 24px;color:#fff;font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.03em}
.au-pitch ul{list-style:none;display:grid;gap:14px;margin:0;padding:0}
.au-pitch li{position:relative;padding-left:30px;color:rgba(238,246,226,.82);line-height:1.5}
.au-pitch li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--ap-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.au-legal{position:relative;z-index:1;margin:0;color:rgba(238,246,226,.5);font-size:13px}
body.is-app .au-legal a{color:inherit}
.au-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 24px 48px}
.au-top{position:absolute;top:24px;right:28px;display:flex;align-items:center;gap:14px}
.au-top-logo{display:none;line-height:0}
.au-top-logo .bf-logo{height:30px;width:auto}
body.is-app .au-back{color:var(--lx-muted);font-size:14px;font-weight:700;text-decoration:none}
body.is-app .au-back:hover{color:var(--lx-heading)}
.au-flash{width:min(440px,100%);margin:0;padding:12px 16px;border-radius:12px;background:var(--lx-flash-bg);color:var(--lx-flash-fg);font-weight:600}
.au-form{width:min(440px,100%)}
body.is-app .au-form h1{margin:0 0 8px;font-size:clamp(28px,2.6vw,34px)}
.au-lead{margin:0 0 26px;color:var(--lx-muted);line-height:1.55}
.au-form .auth-form{display:grid;gap:16px;max-width:none;margin:0}
.au-form label{display:grid;gap:7px;margin:0;color:var(--lx-text-hi);font-size:14px;font-weight:700}
.au-form input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--lx-field-line);border-radius:12px;background:var(--lx-field);color:var(--lx-text);font:inherit;font-weight:400}
.au-form input:hover{border-color:var(--lx-field-line-hover)}
.au-form input:focus{outline:none;border-color:var(--lx-accent);box-shadow:0 0 0 3px rgba(var(--lx-accent-rgb),.18)}
.au-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.is-app .au-form .button{width:100%;min-height:50px;margin-top:6px;border-radius:12px;background:var(--lx);color:var(--lx-on);font-size:15px;font-weight:700}
body.is-app .au-form .button:hover{background:var(--lx-hi)}
.au-switch{margin:22px 0 0;color:var(--lx-muted);text-align:center}
body.is-app .au-switch a{color:var(--lx-accent);font-weight:700}
@media (max-width:860px){
  .au{grid-template-columns:minmax(0,1fr)}
  .au-side{display:none}
  .au-main{justify-content:flex-start;padding-top:24px}
  .au-top{position:static;width:min(440px,100%);justify-content:space-between;margin-bottom:12px}
  .au-top-logo{display:block;margin-right:auto}
  .au-back{display:none}
}
@media (max-width:480px){
  .au-row{grid-template-columns:minmax(0,1fr)}
}

/* visão geral (dashboard) */
.ds-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;margin:0 0 22px}
.ds-head p{margin:0;color:var(--lx-muted)}
.ds-date{padding:9px 14px;border:1px solid var(--lx-line);border-radius:12px;background:var(--lx-card);color:var(--lx-text-hi)!important;font-size:14px;font-weight:700}
.ds-grid{display:grid;gap:18px;margin:0 0 18px}
.ds-top{grid-template-columns:1.25fr repeat(3,1fr)}
.ds-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}
body.is-app .sy-identity-preview{top:96px}
body.is-app .ds-hero{position:relative;display:flex;flex-direction:column;gap:6px;min-height:168px;padding:22px;border-radius:var(--ap-radius);background:var(--ap-side-bg);color:#eef6e2;text-decoration:none;overflow:hidden}
.ds-hero::after{content:"";position:absolute;right:-30px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(191,247,71,.55),rgba(191,247,71,0) 70%)}
.ds-hero strong{font-family:Syne,Manrope,sans-serif;font-size:52px;line-height:1;color:var(--ap-lime);letter-spacing:-.04em}
.ds-hero-title{font-family:Syne,Manrope,sans-serif;font-size:21px;font-weight:700;line-height:1.2;color:#fff}
.ds-hero>span:not(.ds-tag):not(.ds-hero-link):not(.ds-hero-title){color:rgba(238,246,226,.78);font-size:14px;max-width:32ch}
.ds-tag{align-self:flex-start;margin-bottom:6px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:700}
.ds-hero-link{position:relative;z-index:1;margin-top:auto;padding-top:10px;color:var(--ap-lime);font-weight:700;font-size:14px}
body.is-app .ds-stat{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:168px;padding:22px;border:1px solid var(--lx-line);border-radius:var(--ap-radius);background:var(--lx-card);color:var(--lx-text-hi);text-decoration:none;transition:border-color .15s,transform .15s}
body.is-app .ds-stat:hover{border-color:var(--lx-accent);transform:translateY(-1px)}
.ds-stat-label{color:var(--lx-muted);font-size:14px;font-weight:700}
.ds-stat strong{font-family:Syne,Manrope,sans-serif;font-size:clamp(26px,2.4vw,38px);line-height:1.05;color:var(--lx-heading);letter-spacing:-.03em;overflow-wrap:anywhere}
.ds-stat strong small{margin-left:3px;font-family:Manrope,sans-serif;font-size:14px;color:var(--lx-muted);letter-spacing:0}
.ds-stat strong.is-quiet{font-family:Manrope,sans-serif;font-size:16px;color:var(--lx-muted);letter-spacing:0}
.ds-card{min-width:0;padding:22px;border:1px solid var(--lx-line);border-radius:var(--ap-radius);background:var(--lx-card)}
.ds-full{grid-column:1/-1}
.ds-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
body.is-app .ap-main .ds-card-head h2{margin:0;font-size:19px;letter-spacing:-.02em}
body.is-app .ds-card-head a{color:var(--lx-accent);font-size:14px;font-weight:700;text-decoration:none}
.ds-list{list-style:none;margin:0;padding:0}
.ds-list li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--lx-divider)}
.ds-list li:first-child{border-top:0;padding-top:4px}
.ds-list-main{display:grid;gap:2px;flex:1;min-width:0}
.ds-list-main strong{color:var(--lx-heading);font-size:15px}
.ds-list-main small{color:var(--lx-subtle);font-size:13px}
.ds-day{flex:none;display:grid;place-items:center;width:52px;padding:6px 0;border-radius:12px;background:var(--lx-card-accent);color:var(--lx-accent);line-height:1.1;text-align:center}
.ds-day strong{font-family:Syne,Manrope,sans-serif;font-size:20px;color:var(--lx-heading)}
.ds-day small{font-size:11px;font-weight:700;text-transform:uppercase}
.ds-time{padding:6px 12px;border-radius:999px;background:var(--lx-sunken);color:var(--lx-text-hi);font-weight:700;font-variant-numeric:tabular-nums}
.ds-money{color:var(--lx-heading);font-weight:700;white-space:nowrap}
.ds-money small{color:var(--lx-muted);font-weight:500}
.ds-empty{margin:0;color:var(--lx-muted)}
.ds-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--lx-line);color:var(--lx-muted);font-size:13px;line-height:1.5}
.ds-shortcuts{list-style:none;display:grid;gap:8px;margin:0;padding:0}
body.is-app .ds-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;background:var(--lx-sunken);color:var(--lx-text-hi);font-weight:700;font-size:14px;text-decoration:none}
body.is-app .ds-shortcuts a::after{content:"→";color:var(--lx-accent)}
body.is-app .ds-shortcuts a:hover{background:var(--lx-card-accent)}

@media (min-width:1024px){
  .ap-main .bk-tabs{display:none}
}
@media (max-width:1180px){
  .ds-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ds-main{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .ds-top{grid-template-columns:minmax(0,1fr)}
  body.is-app .ds-hero,body.is-app .ds-stat{min-height:0}
}
@media (max-width:1023px){
  .ap{grid-template-columns:minmax(0,1fr)}
  .ap-side{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100%;transform:translateX(-102%);transition:transform .22s ease;box-shadow:24px 0 60px -30px rgba(0,0,0,.5)}
  .ap-side.is-open{transform:none}
  html[data-ap-mini] .ap-side .ap-nav a span,html[data-ap-mini] .ap-side .ap-me-text,html[data-ap-mini] .ap-side .ap-badge{display:revert}
  html[data-ap-mini] .ap-logo img{width:118px;height:auto}
  html[data-ap-mini] .ap-label{height:auto;margin:18px 12px 8px;color:var(--ap-side-dim);background:none}
  html[data-ap-mini] body.is-app .ap-nav a{justify-content:flex-start;padding-inline:12px}
  .ap-scrim{position:fixed;inset:0;z-index:35;background:var(--lx-scrim)}
  body.is-app .ap-burger,.ap-top-logo{display:inline-grid}
  body.is-app .ap-collapse{display:none}
  .ap-top{padding:12px 16px;min-height:64px}
  .ap-main{padding:22px 16px 40px}
  .ap-foot{padding:16px}
}
@media (max-width:600px){
  .ap-create span,.ap-user-name{display:none}
  .ap-create{width:42px;padding:0;justify-content:center}
  .ap-user summary{padding-right:3px}
}
@media (prefers-reduced-motion:reduce){
  .ap,.ap-side,.ap-caret{transition:none}
}
@media print{
  .ap{display:block}
  .ap-side,.ap-top,.ap-foot{display:none}
}
