
/* ===== Life OS 0.15.6 · Calendar Final Polish / Single-scroll architecture ===== */
@media (max-width:760px){
  body.lifeos-mobile[data-mobile-page="calendar"] #content{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:6px 10px calc(var(--mobile-tab-h) + 110px + env(safe-area-inset-bottom))!important;
    scroll-padding-top:166px;
  }
  .mcal155{padding-bottom:42px;--gutter:46px}

  /* One calm, edge-to-edge sticky header: same surface as the page, not a grey card. */
  .mcal155-head{
    top:-6px!important;
    margin:-6px -10px 12px!important;
    padding:9px 12px 9px!important;
    background:var(--bg)!important;
    border:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--border-soft) 60%,transparent)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
  }
  .mcal155-top{gap:8px}
  .mcal155-title{display:flex;align-items:baseline;gap:7px;min-width:0}
  .mcal155-kicker{order:2;margin:0;font-size:8px;letter-spacing:.04em;text-transform:none;font-weight:700;color:var(--text-faint);white-space:nowrap}
  .mcal155-month{order:1;font-size:20px;line-height:1.05;font-weight:850;letter-spacing:-.035em}
  .mcal155-actions{gap:6px}
  .mcal155-today{height:33px;min-width:50px;border:0;background:transparent;font-size:10px;color:var(--accent-text);font-weight:820}

  /* Calendar-only create control. Purposefully distinct from the global Quick Add FAB. */
  .mcal155-create{
    width:40px!important;height:40px!important;border-radius:14px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 94%,#fff 6%),var(--accent))!important;
    border:1px solid color-mix(in srgb,var(--accent) 72%,#000 28%)!important;
    box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.28)!important;
    transform:none!important;padding:0!important;line-height:0!important;
  }
  .mcal155-create:active{transform:scale(.96)!important}
  .mcal155-create svg{width:25px!important;height:25px!important;display:block!important;overflow:visible}
  .mcal155-create .calbox{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .mcal155-create .create-disc{fill:color-mix(in srgb,var(--accent) 70%,#111 30%);stroke:none}
  .mcal155-create .plus{stroke:#fff;stroke-width:1.9;stroke-linecap:round}

  .mcal155-controls{margin-top:7px;gap:7px}
  .mcal155-navpair{gap:2px}
  .mcal155-navpair .mcal155-btn{width:30px;height:30px;border:0;background:transparent;border-radius:50%;font-size:19px;font-weight:500}
  .mcal155-tabs{height:34px;padding:3px;border:0;border-radius:13px;background:var(--bg-soft);gap:1px}
  .mcal155-tabs button{height:28px;min-width:47px;border-radius:10px;font-size:9.5px;padding:0 7px}
  .mcal155-tabs button.active{background:var(--bg-elevated);box-shadow:0 1px 4px rgba(0,0,0,.07);font-weight:820}

  /* Search follows the header and expands as a small floating palette. */
  .mcal155-tools{margin-top:6px;position:relative;min-height:30px}
  .mcal155-filter-toggle{height:29px;border:0;background:transparent!important;border-radius:9px;padding:0 5px;color:var(--text-faint);font-size:9px;gap:5px}
  .mcal155-filter-toggle.active{color:var(--text);background:var(--bg-soft)!important}
  .mcal155-filter-toggle svg{width:13px;height:13px}
  .mcal155-filter-count{height:15px;min-width:15px;font-size:7px}
  .mcal155-summary{font-size:8px;padding-right:2px}
  .mcal155-filter-panel{
    position:absolute!important;
    z-index:95!important;
    left:0!important;right:0!important;top:34px!important;
    margin:0!important;padding:8px!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--bg-elevated) 98%,transparent)!important;
    border:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
    backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
  }
  .mcal155-search input{height:32px!important;border-radius:9px!important;font-size:11px!important;background:var(--bg-soft)!important}
  .mcal155-layer-row{padding-top:6px;gap:4px}
  .mcal155-layer{height:25px;padding:0 7px;border-radius:8px;font-size:8px}

  .mcal155-weekstrip{margin-top:6px;padding-top:5px;border-top:0;gap:1px}
  .mcal155-weekday{height:40px;border-radius:11px}
  .mcal155-weekday b{width:25px;height:25px}
  .mcal155-context{margin:10px 2px 7px}
  .mcal155-context strong{font-size:12px;letter-spacing:-.01em}

  /* IMPORTANT: one vertical scroller only: #content. Day and Week never trap vertical touch scrolling. */
  .mcal155-dayviewport{
    height:1442px!important;
    min-height:1442px!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    border-radius:16px!important;
    border-color:color-mix(in srgb,var(--border-soft) 78%,transparent)!important;
    background:var(--bg-elevated)!important;
  }
  .mcal155-daycanvas{height:1440px!important}
  .mcal155-hour{font-size:8px}
  .mcal155-line{opacity:.48}
  .mcal155-event{border-radius:8px;padding:4px 6px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
  .mcal155-event b{font-size:9.5px}.mcal155-event span{font-size:7.5px}

  .mcal155-weekviewport{
    height:1522px!important;
    min-height:1522px!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:16px!important;
    border-color:color-mix(in srgb,var(--border-soft) 78%,transparent)!important;
    background:var(--bg-elevated)!important;
    scrollbar-width:none!important;
  }
  .mcal155-weekviewport::-webkit-scrollbar{display:none}
  .mcal155-weekcanvas{height:1520px!important;min-height:1520px!important}
  .mcal155-whead{position:absolute!important;top:0!important}
  .mcal155-wevent{border-radius:7px;box-shadow:0 1px 0 rgba(0,0,0,.04)}

  /* Softer agenda/month/year language without decorative boxes. */
  .mcal155-agday{padding:7px 0;min-height:48px}
  .mcal155-agitem{border-radius:10px;padding:7px 8px;background:color-mix(in srgb,var(--cb) 70%,var(--bg-elevated) 30%)}
  .mcal155-month{border-radius:16px!important;overflow:hidden;border:1px solid color-mix(in srgb,var(--border-soft) 72%,transparent)}
  .mcal155-mini{border-radius:14px!important;border-color:color-mix(in srgb,var(--border-soft) 70%,transparent)!important;background:var(--bg-elevated)!important}
  .mcal155-google{margin-top:18px;margin-bottom:8px;border-top:1px solid var(--border-soft);padding-top:11px;background:transparent!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important}

  @media (max-width:390px){
    .mcal155-month{font-size:18px}.mcal155-kicker{display:none}.mcal155-today{min-width:44px;padding:0 6px}
    .mcal155-create{width:38px!important;height:38px!important}.mcal155-create svg{width:23px!important;height:23px!important}
    .mcal155-tabs button{min-width:43px;padding:0 5px;font-size:9px}
  }
}
