/* Camada "app" da Nest: dá ao dashboard o aspeto de app (barra inferior, cartões suaves, topo compacto).
   Não muda dados nem informação — só apresentação. */
html{zoom:1!important;-webkit-text-size-adjust:100%}
html,body{overscroll-behavior-y:none}
*{-webkit-tap-highlight-color:transparent}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--page:#eeeeea;--surface:#fff;--border:rgba(11,11,11,.06)}}
body{font-size:15px;padding-inline:max(14px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-right,0px));padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.wrap{padding-block:calc(8px + env(safe-area-inset-top,0px)) 24px;gap:12px}
.card{border-radius:20px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px -12px rgba(0,0,0,.10)}
@media (prefers-color-scheme:dark){.card{box-shadow:none}}
.card header h2{font-size:15px;letter-spacing:-.005em}
.btn{border-radius:12px;min-height:40px;padding:8px 14px}
input,select{font-size:16px}
input[type=date],input[type=number],input[type=text],select{border:1px solid var(--grid);border-radius:10px;background:var(--surface);padding:8px 10px;min-height:40px}
.mvscroll{border-radius:12px}

/* topo compacto */
.head{position:sticky;top:0;z-index:30;margin-inline:-14px;padding:calc(10px + env(safe-area-inset-top,0px)) 18px 10px;align-items:center;flex-wrap:nowrap;
  background:color-mix(in srgb,var(--page) 82%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
.wrap{padding-top:0}
.head h1{font-size:24px;letter-spacing:-.02em}
.head .sub{font-size:12px;color:var(--muted)}

/* período em "chips" com scroll horizontal */
.controls{gap:10px}
.seg{border:0;background:transparent;padding:0;gap:8px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{border-radius:999px;background:var(--surface);padding:8px 14px;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.seg button[aria-pressed="true"]{box-shadow:none}
.step{border-radius:999px}

/* mudança suave de ecrã */
@media (prefers-reduced-motion:no-preference){.pane:not([hidden]){animation:nestIn .22s ease both}}
@keyframes nestIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* barra de navegação inferior (telemóvel) */
#bnav,#sheet{display:none}
@media (max-width:820px){
  nav.tabs{display:none}
  #bnav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:space-around;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);
    border-top:1px solid var(--border)}
  body:not(.hasapp) #bnav{display:none}
  #bnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:6px 2px;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;position:relative;min-width:0}
  #bnav svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  #bnav button[aria-current="true"]{color:var(--ink)}
  #bnav button[aria-current="true"] svg{stroke-width:2.2}
  #bnav .dot{position:absolute;top:4px;left:calc(50% + 6px);min-width:8px;height:8px;border-radius:99px;background:var(--neg)}
  #bnav .dot:empty{width:8px}
  #bnav .dot:not(:empty){height:auto;font-size:10px;line-height:1;padding:2px 5px;color:#fff;font-weight:600}
  #sheet{position:fixed;inset:0;z-index:60}
  #sheet:not([hidden]){display:block}
  #sheet .scrim{position:absolute;inset:0;background:rgba(0,0,0,.35);animation:nestFade .2s ease both}
  #sheet .panel{position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 14px calc(18px + env(safe-area-inset-bottom,0px));
    display:flex;flex-direction:column;gap:2px;animation:nestUp .25s cubic-bezier(.2,.8,.2,1) both}
  #sheet .grab{width:38px;height:4px;border-radius:9px;background:var(--grid);margin:0 auto 8px}
  #sheet .panel>button,#sheet .panel>.mv{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-radius:14px;padding:14px 10px;font-size:16px;text-align:left;cursor:pointer;color:var(--ink);min-height:52px}
  #sheet .panel>button:active{background:var(--wash)}
  #sheet .panel>button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--ink2);flex:none}
  #sheet hr{border:0;border-top:1px solid var(--grid);margin:6px 4px}
  #sheet .panel>.btn,#sheet #btnLoad,#sheet #btnLogout{border:0!important;background:none!important;color:var(--ink)!important;box-shadow:none;text-align:left;justify-content:flex-start;font-size:16px;padding:14px 10px;min-height:52px;border-radius:14px}
  #sheet .cnt{margin-left:auto;color:var(--muted);font-size:13px}
  @keyframes nestUp{from{transform:translateY(100%)}to{transform:none}}
  @keyframes nestFade{from{opacity:0}to{opacity:1}}
}
