/* Task98 mobile application. Desktop layouts retain their own styles. */
.pwa-sectionbar,.pwa-tabbar,.pwa-pane-switch { display:none; }
[hidden] { display:none!important; }
.pwa-eyebrow { display:block; font-size:10px; font-weight:650; letter-spacing:.12em; color:var(--v4-dim,#aeb8c5); }
.pwa-settings { max-width:820px; padding:24px; margin:auto; display:grid; gap:18px; }
.pwa-app-card { display:flex; gap:18px; align-items:center; padding:12px 0 20px; }
.pwa-app-card img { border-radius:20px; }
.pwa-app-card h2 { font-size:28px; margin:3px 0; }
.pwa-app-card p { margin:4px 0 10px; }
.pwa-card { padding:22px; border:1px solid var(--v4-hair,#4d5a6b); border-radius:18px; background:var(--v4-panel,#222831); }
.pwa-card h2 { margin:0 0 12px; font-size:19px; }
.pwa-card p { line-height:1.65; }
.pwa-card button,.pwa-card .button-link { margin:6px 8px 6px 0; }
.pwa-muted,.pwa-app-card small { color:var(--v4-muted,#c0c8d2); font-size:13px; }
.pwa-option { display:flex; gap:12px; align-items:center; margin:18px 0; }
.pwa-option input { flex:none; }
.pwa-banner { position:fixed; z-index:1400; left:50%; bottom:24px; transform:translateX(-50%); width:min(600px,calc(100% - 24px)); display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:15px 18px; border:1px solid #9c795b; border-radius:16px; background:#29231f; color:#fff1e4; box-shadow:0 8px 30px #0005; font:14px/1.5 -apple-system,BlinkMacSystemFont,Arial,sans-serif; }
.pwa-banner>span { flex:1; min-width:160px; }
.pwa-banner button { min-height:44px; background:#dc9255; color:#17130d; border:0; border-radius:10px; padding:10px 14px; font:inherit; font-weight:600; }
.pwa-banner [data-pwa-banner-close] { background:transparent; color:inherit; padding:6px; }
.pwa-menu { color:var(--v4-text,#f3f5f7); background:var(--v4-bg,#101318); border:1px solid var(--v4-hair,#4d5a6b); border-radius:24px; width:min(520px,100%); max-height:85dvh; padding:22px; }
.pwa-menu::backdrop { background:#05070bcc; backdrop-filter:blur(6px); }
.pwa-menu header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.pwa-menu h2 { font-size:28px; margin:5px 0 0; }
.pwa-menu header button { border-radius:50%!important; width:44px; height:44px; }
.pwa-menu-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pwa-menu-links>a,.pwa-menu-links>button { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; min-height:76px; padding:15px!important; border:1px solid var(--v4-hair,#4d5a6b)!important; border-radius:14px!important; background:var(--v4-panel,#222831)!important; color:var(--v4-text,#f3f5f7)!important; text-align:left; text-decoration:none; font:500 15px/1.3 -apple-system,BlinkMacSystemFont,sans-serif!important; }
.pwa-menu-links .pwa-menu-symbol { color:var(--v4-accent,#dc9255); font-size:20px; }
.pwa-menu-settings { display:flex; gap:12px; justify-content:space-between; padding:18px 0; margin-top:14px; color:var(--v4-accent,#dc9255)!important; text-decoration:none; font-size:14px; }
.pwa-menu footer { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--v4-hair); padding-top:14px; color:var(--v4-muted); font-size:12px; }
.pwa-menu footer form { margin:0; }
.pwa-draft-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px; margin:8px 0; border:1px solid var(--v4-accent,#dc9255); border-radius:10px; font-size:12px; }
.pwa-draft-bar span { flex:1; min-width:100px; }
.pwa-draft-bar button { font-size:12px!important; }
.pwa-loading::after { content:""; position:fixed; top:0; left:0; width:75%; height:3px; background:#dc9255; z-index:2000; animation:pwa-progress 1.6s ease-in-out infinite; }
.program-close-label { display:none; }
.inbox-close-label { display:none; }
@keyframes pwa-progress { from { transform:translateX(-90%); } to { transform:translateX(130%); } }

@media(max-width:820px) {
  html { -webkit-text-size-adjust:100%; scroll-padding-top:100px; }
  body.v4-ui { height:auto!important; min-height:100dvh; overflow-x:hidden; overflow-y:auto; font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-tap-highlight-color:transparent; }
  body.v4-ui .v4-root { height:auto; min-height:100dvh; overflow:visible; display:block; padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(82px + env(safe-area-inset-bottom)) env(safe-area-inset-left); }
  body.v4-ui .v4-stage { min-width:0; display:block; background:transparent; }
  body.v4-ui .v4-sidebar,body.v4-ui .v4-topbar { display:none!important; }
  .pwa-sectionbar { display:flex; align-items:center; gap:10px; padding:22px 18px 16px; }
  .pwa-heading { flex:1; min-width:0; }
  .pwa-heading h1 { margin:6px 0 0; font-size:28px; line-height:1.18; font-weight:720; letter-spacing:-.035em; overflow-wrap:anywhere; }
  body.v4-ui button.pwa-icon-button { width:44px; height:44px; flex:none; padding:0!important; display:grid; place-items:center; border-radius:15px!important; background:var(--v4-panel)!important; border:1px solid var(--v4-hair)!important; font-size:25px!important; }
  body.v4-ui button.pwa-accent-button { background:var(--v4-accent)!important; border-color:var(--v4-accent)!important; color:var(--v4-accent-fg)!important; }
  .pwa-pane-switch:not([hidden]) { display:flex; margin:0 18px 16px; padding:4px; gap:4px; border:1px solid var(--v4-hair); border-radius:13px; background:var(--v4-panel-2); }
  body.v4-ui .pwa-pane-switch button { flex:1; min-height:36px; padding:6px 12px!important; border:0!important; border-radius:9px!important; background:transparent!important; font-size:13px!important; color:var(--v4-muted)!important; }
  body.v4-ui .pwa-pane-switch button[aria-pressed=true] { background:var(--v4-elev)!important; color:var(--v4-text)!important; box-shadow:0 1px 4px #0003!important; }
  body.v4-ui .app-shell,body.v4-ui .notebook-focus-shell { display:block; height:auto!important; min-height:0; overflow:visible; padding:0 14px; margin:0; }
  body.v4-ui .entity-list,body.v4-ui .workspace,body.v4-ui .notebook-focus-left,body.v4-ui .notebook-focus-center { display:block; height:auto!important; min-width:0; max-width:100%; overflow:visible; border:0!important; padding:0!important; background:transparent; }
  body.v4-ui .entity-list { margin-bottom:18px; }
  body.v4-ui.pwa-panels-ready[data-pwa-view=detail] .entity-list,body.v4-ui.pwa-panels-ready[data-pwa-view=detail] .notebook-focus-left { display:none; }
  body.v4-ui.pwa-panels-ready[data-pwa-view=list] .workspace,body.v4-ui.pwa-panels-ready[data-pwa-view=list] .notebook-focus-center { display:none; }
  body.v4-ui.layout-workspace-only .entity-list { display:none; }
  body.v4-ui .notebook-focus-right { display:none; }
  body.v4-ui .notebook-focus-left-pane,body.v4-ui .notebook-focus-pane,body.v4-ui .v4-feed { height:auto; overflow:visible; }
  body.v4-ui .window-title { background:transparent!important; font-size:19px!important; line-height:1.35; font-weight:650; padding:12px 3px!important; margin:0 0 6px; border:0!important; white-space:normal; overflow-wrap:anywhere; }
  body.v4-ui .block,body.v4-ui .note,body.v4-ui .payment-row,body.v4-ui .task-row,body.v4-ui .report-card { margin:0 0 14px; padding:16px; border:1px solid var(--v4-hair); border-radius:16px; background:var(--v4-panel); }
  body.v4-ui details.block>summary { font-size:16px; font-weight:600; min-height:32px; }
  body.v4-ui .items { display:grid; gap:9px; padding:8px 0; }
  body.v4-ui .list-item { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; min-height:65px; padding:16px!important; margin:0 0 7px; border:1px solid var(--v4-hair)!important; border-radius:14px!important; background:var(--v4-panel); font-size:15px; line-height:1.4; text-decoration:none; overflow-wrap:anywhere; }
  body.v4-ui .list-item.selected { border-color:var(--v4-accent)!important; background:var(--v4-selected); }
  body.v4-ui .list-item small { color:var(--v4-muted); font-size:12px; }
  body.v4-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { max-width:100%; min-width:0; min-height:46px; border:1px solid var(--v4-border); border-radius:10px; padding:11px 12px; font:16px/1.45 -apple-system,BlinkMacSystemFont,sans-serif!important; box-sizing:border-box; }
  body.v4-ui textarea { min-height:120px; }
  body.v4-ui select { appearance:none; -webkit-appearance:none; padding-right:34px!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23aeb8c5' stroke-width='1.6'/%3E%3C/svg%3E")!important; background-repeat:no-repeat!important; background-position:right 12px center!important; }
  body.v4-ui input[type=checkbox],body.v4-ui input[type=radio] { width:22px; height:22px; min-width:22px; accent-color:var(--v4-accent); vertical-align:middle; }
  body.v4-ui button,body.v4-ui .button-link { min-height:44px; padding:10px 14px!important; border-radius:11px!important; font:500 14px/1.4 -apple-system,BlinkMacSystemFont,sans-serif!important; white-space:normal; }
  body.v4-ui button:disabled { opacity:.5; }
  body.v4-ui label { line-height:1.5; }
  body.v4-ui .grid-form,body.v4-ui .two-cols,body.v4-ui .finance-grid,body.v4-ui .car-info-grid,body.v4-ui .car-widget-grid,body.v4-ui .recurring-edit-grid,body.v4-ui .system-metrics-grid,body.v4-ui .yougile-refresh-grid { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:14px; }
  body.v4-ui .grid-form>* { grid-column:auto!important; min-width:0; }
  body.v4-ui .search { display:flex; gap:8px; margin:12px 0; }
  body.v4-ui .search input { flex:1; width:100%; }
  body.v4-ui .entity-list .search { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  body.v4-ui .entity-list form,.entity-list form>* { min-width:0; max-width:100%; }
  body.v4-ui .entity-list .search :is(input,select) { width:100%; }
  body.v4-ui .entity-list .create-form { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding-top:14px; }
  body.v4-ui .documentation-layout { display:flex; flex-direction:column; height:auto; gap:16px; }
  body.v4-ui .documentation-versions { max-height:240px; border:1px solid var(--v4-hair); border-radius:14px; }
  body.v4-ui .documentation-reader { padding:16px; overflow:visible; background:var(--v4-panel); border-radius:14px; }
  body.v4-ui .documentation-toc { max-height:220px; }
  body.v4-ui .documentation-toolbar,body.v4-ui .documentation-toolbar form,body.v4-ui .documentation-reader-head { flex-wrap:wrap; }
  body.v4-ui .documentation-reader-head h1 { font-size:23px; overflow-wrap:anywhere; }
  body.v4-ui .dock-inbox-modal { max-height:calc(100dvh - env(safe-area-inset-top)); }
  body.v4-ui .inline-form,body.v4-ui .settings-row,body.v4-ui .notebook-focus-toolbar,body.v4-ui .notebook-focus-actions { display:flex; flex-wrap:wrap; gap:8px; }
  body.v4-ui .settings-row form { display:flex; flex-wrap:wrap; gap:8px; min-width:0; max-width:100%; }
  body.v4-ui .tabs,body.v4-ui .switches,body.v4-ui .v4-feed-toolbar { padding:4px 0 14px; gap:7px; border:0; min-height:48px; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
  body.v4-ui .tabs>a,body.v4-ui .switches>a,body.v4-ui .v4-feed-toolbar>a { flex:none; padding:10px 15px; border:1px solid var(--v4-hair); border-radius:12px; background:var(--v4-panel); font-size:13px; white-space:nowrap; }
  body.v4-ui .tabs>a.active,body.v4-ui .v4-feed-toolbar>a.active { background:var(--v4-accent); color:var(--v4-accent-fg); border-color:var(--v4-accent); }
  .v4-feed-day { padding:16px 3px 10px; font-size:12px; }
  .v4-feed-row { grid-template-columns:1fr auto; gap:8px 12px; margin-bottom:10px; padding:16px; border:1px solid var(--v4-hair); border-radius:16px; background:var(--v4-panel); }
  .v4-feed-time { grid-column:2; grid-row:1; font-size:12px; }
  .v4-feed-type { grid-column:1; grid-row:1; font-size:11px; letter-spacing:.035em; }
  .v4-feed-content { grid-column:1 / -1; }
  .v4-feed-title { font-size:16px; line-height:1.45; }
  .v4-feed-summary { font-size:13px; line-height:1.6; margin-top:4px; }
  .v4-feed-controls { margin-top:8px; }
  body.v4-ui .v4-feed-controls button,body.v4-ui .v4-feed-open { min-height:36px; padding:7px 10px!important; }
  .pwa-tabbar { position:fixed; z-index:900; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(5,1fr); gap:2px; padding:7px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left)); background:color-mix(in srgb,var(--v4-bg) 94%,transparent); border-top:1px solid var(--v4-hair); backdrop-filter:blur(18px); }
  body.v4-ui .pwa-tabbar>a,body.v4-ui .pwa-tabbar>button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:54px; margin:0; padding:5px 1px!important; border:0!important; border-radius:12px!important; box-shadow:none!important; background:transparent!important; color:var(--v4-muted)!important; text-decoration:none; font-size:10px!important; line-height:1.2!important; }
  .pwa-tabbar svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  body.v4-ui .pwa-tabbar>[aria-current=page],body.v4-ui .pwa-tabbar>[aria-expanded=true] { color:var(--v4-accent)!important; background:color-mix(in srgb,var(--v4-accent) 10%,transparent)!important; }
  .pwa-menu { margin:auto 0 0; max-height:calc(100dvh - 35px - env(safe-area-inset-top)); width:100%; max-width:100%; border-radius:26px 26px 0 0; padding:24px 18px calc(20px + env(safe-area-inset-bottom)); }
  .pwa-banner { bottom:calc(85px + env(safe-area-inset-bottom)); }
  .pwa-settings { padding:0; gap:14px; }
  .pwa-card { padding:18px; }
  .pwa-card h2 { font-size:18px; }
  body.v4-ui .v4-overlay,body.v4-ui .modal-overlay { z-index:1100; top:auto!important; bottom:var(--pwa-viewport-bottom,0px)!important; height:var(--pwa-viewport-height,100dvh); padding:calc(env(safe-area-inset-top) + 12px) 0 0!important; align-items:flex-end; overflow:hidden; }
  body.v4-ui .v4-dialog,body.v4-ui .modal-window,body.v4-ui .dock-inbox-window,body.v4-ui .win98-floating-window { width:100%!important; min-width:0!important; max-width:100%!important; max-height:calc(100dvh - env(safe-area-inset-top))!important; height:auto; margin:0!important; left:0!important; top:auto!important; border-radius:22px 22px 0 0; padding-bottom:env(safe-area-inset-bottom); }
  body.v4-ui .v4-dialog,body.v4-ui .modal-window { position:relative!important; transform:none!important; min-height:0; height:auto!important; max-height:100%!important; }
  body.v4-ui .modal-content { min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; padding:16px; }
  body.v4-ui .modal-titlebar { touch-action:auto; cursor:default; min-height:50px; }
  body.v4-ui .modal-titlebar .modal-btn { min-width:44px; }
  body.v4-ui .dock-inbox-modal .modal-titlebar { min-height:64px; padding:10px 14px; gap:12px; }
  body.v4-ui .dock-inbox-modal .modal-title { font-size:18px; }
  body.v4-ui .dock-inbox-modal [data-dock-inbox-close] { width:auto; min-width:92px; min-height:44px; padding:10px 12px!important; font-size:14px!important; }
  body.v4-ui .inbox-close-icon { display:none; }
  body.v4-ui .inbox-close-label { display:inline; }
  body.v4-ui .dock-inbox-header,body.v4-ui .dock-inbox-history-toggle,body.v4-ui .dock-inbox-view { flex:none; }
  body.v4-ui .dock-inbox-view { overflow:visible; }
  body.pwa-keyboard-open .modal-window,body.pwa-keyboard-open .v4-dialog { padding-bottom:0; }
  /* Floating programs have no overlay to place them: anchor the sheet explicitly. */
  body.v4-ui .win98-floating-window.program-window {
    bottom:var(--pwa-viewport-bottom,0px)!important;
    height:auto!important;
    min-height:0;
    max-height:calc(var(--pwa-viewport-height,100dvh) - env(safe-area-inset-top) - 12px)!important;
    resize:none;
  }
  body.v4-ui .program-window .win98-floating-titlebar { min-height:64px; padding:10px 14px; gap:12px; cursor:default; touch-action:auto; }
  body.v4-ui .program-window .win98-floating-titlebar>span { flex:1; min-width:0; font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
  body.v4-ui .program-window .modal-window-buttons { flex:none; }
  body.v4-ui .program-window [data-min],body.v4-ui .program-window [data-max],body.v4-ui .program-window .program-close-icon { display:none; }
  body.v4-ui .program-window .program-close-label { display:inline; }
  body.v4-ui .program-window [data-close] { width:auto; min-width:92px; min-height:44px; padding:10px 12px!important; font-size:14px!important; }
  body.v4-ui .program-window .win98-floating-content { min-height:0; padding:16px; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  body.v4-ui .percent-calc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.v4-ui .percent-calc label { min-width:0; }
  body.v4-ui .percent-calc select,body.v4-ui .percent-calc input { width:100%; min-width:0; }
  body.pwa-keyboard-open .win98-floating-window.program-window { padding-bottom:0; }
  body.v4-ui .v4-dialog-head { padding:16px; }
  body.v4-ui .v4-search-input-wrap input { min-width:0; width:100%; }
  body.v4-ui .v4-search-results,body.v4-ui .v4-notifications-list { max-height:65dvh; }
  body.v4-ui .notebook-focus-pane { margin:0; padding:16px; border-radius:14px; background:var(--v4-panel); }
  body.v4-ui .notebook-focus-edit { padding:12px; }
  body.v4-ui .notebook-focus-toolbar { margin-bottom:12px; }
  body.v4-ui .notebook-focus-toolbar { padding:0!important; background:transparent!important; border:0; }
  body.v4-ui .notebook-focus-mode-buttons { display:flex; width:100%; gap:6px; }
  body.v4-ui .notebook-focus-mode-buttons button { flex:1; }
  body.v4-ui .notebook-focus-mode-buttons button.active { background:var(--v4-accent)!important; color:var(--v4-accent-fg)!important; border-color:var(--v4-accent)!important; }
  body.v4-ui .notebook-focus-actions { width:100%; align-items:center; }
  .pwa-note-extra { margin-left:auto; }
  .pwa-note-extra summary { min-height:44px; padding:10px 14px; border:1px solid var(--v4-hair); border-radius:11px; }
  .pwa-note-extra[open] { width:100%; margin:0; padding-bottom:8px; }
  .pwa-note-extra[open]>* { margin:4px; }
  body.v4-ui .notebook-focus-titlebar { padding:0 0 12px!important; background:transparent!important; }
  body.v4-ui .notebook-focus-titlebar .path-line { border:0; background:transparent; padding:0 3px; font-size:12px; }
  body.v4-ui .notebook-focus-preview h1 { font-size:26px; line-height:1.25; }
  body.v4-ui .pwa-project-settings>form { padding:14px 0 0; border:0; margin-bottom:8px; }
  body.v4-ui .notebook-focus-editor-label,body.v4-ui .notebook-focus-edit form { height:auto; min-height:0; }
  body.v4-ui .notebook-focus-edit textarea { min-height:45dvh!important; }
  body.v4-ui .notebook-tree-row { min-height:48px; padding:10px 4px; }
  body.v4-ui .notebook-tree-row a { overflow-wrap:anywhere; }
  body.v4-ui .pwa-table-scroll { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  body.v4-ui .pwa-table-scroll>table { min-width:520px; }
  body.v4-ui img,body.v4-ui video { max-width:100%; height:auto; }
  body.v4-ui pre { max-width:100%; overflow-x:auto; }
  body.v4-ui .markdown { overflow-wrap:anywhere; }
  body.v4-ui .recurring-heading,body.v4-ui .recurring-toolbar { flex-wrap:wrap; }
  body.v4-login .login-screen { min-height:100dvh; padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom)); }
  body.v4-login input { font-size:16px; min-height:48px; }
  body.v4-login .login-box { border-radius:24px; padding:26px; }
  body.pwa-keyboard-open .pwa-tabbar { display:none; }
  body.pwa-keyboard-open .pwa-banner { bottom:12px; }
}
@media(prefers-reduced-motion:reduce) { .pwa-loading::after { animation:none; width:100%; } }
@media(max-width:820px){
  body.v4-ui .pwa-tabbar>.pwa-inbox-button{position:relative;background:var(--v4-accent)!important;color:var(--v4-accent-fg)!important;border-radius:16px!important;font-weight:700}
  .pwa-inbox-badge{position:absolute;top:0;right:2px;min-width:16px;padding:1px 4px;border-radius:9px;background:var(--v4-text);color:var(--v4-bg);font:700 9px/14px -apple-system,sans-serif}
  .pwa-inbox-badge[hidden]{display:none}
}
/* Inbox reports connection and queue state inside its own window. */
body:has(#dock-inbox-overlay:not([hidden])) .pwa-banner{z-index:1000}
