/* Approved: shared authenticated shell across all five pages. */
body:has(#appview:not(.hide)){background:#f5ead8}
body:has(#appview:not(.hide)) .app{--ym-shell-sidebar:0px;--ym-shell-gutter:15px;width:100%;max-width:430px;margin-inline:auto;position:relative;isolation:isolate;background:#f6efdf}
body:has(#appview:not(.hide)) .app::before{content:'';position:absolute;inset:0 0 auto;height:230px;z-index:-1;pointer-events:none;opacity:1;background:linear-gradient(#e1e9dd,#f6efdf);mask-image:none}
body:has(#appview:not(.hide)) .app::after{content:'';position:absolute;top:0;left:0;right:0;height:230px;z-index:-1;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='76' viewBox='0 0 76 76'%3E%3Cg fill='none' stroke='%235b865d' stroke-width='.7'%3E%3Cpath d='M20 20h36v36H20z'/%3E%3Cpath d='m38 12 26 26-26 26-26-26z'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(#000,transparent)}
body:has(#appview:not(.hide)) #appHeader{box-sizing:border-box;width:calc(100% - var(--ym-shell-sidebar));max-width:none;margin:0 0 0 var(--ym-shell-sidebar);padding:13px var(--ym-shell-gutter) 10px;background:transparent;border:0}
#appview:not(.hide)>main.page{box-sizing:border-box;width:calc(100% - var(--ym-shell-sidebar))!important;max-width:none!important;margin-left:var(--ym-shell-sidebar)!important;margin-right:0!important;padding:8px var(--ym-shell-gutter) calc(145px + env(safe-area-inset-bottom,0px))!important}
.ym-vakit-source-note{font-size:11px;line-height:17px;max-width:75%;text-align:right;color:inherit}
.ym-page-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px}
.ym-page-title-row h2{margin:0!important;min-width:0;flex:1}
.ym-page-title-row .ym-help-toggle{width:auto;flex:none;padding:5px 0;gap:5px;min-height:32px;font-size:10px;white-space:nowrap;font-weight:400}
.ym-page-title-row .ym-help-toggle>span:last-child{margin-left:0}
.ym-page-title-row .ym-help-icon{width:15px;height:15px;font-size:10px}
.ym-page-title-row+.ym-help-body{margin-bottom:12px}
.ym-place-dialog .ym-place-caveat{font-size:11px;line-height:17px;color:#62715b;margin:12px 0 0}
@media(max-width:350px){.ym-page-title-row{gap:6px}.ym-page-title-row h2{font-size:18px!important}.ym-page-title-row .ym-help-toggle{font-size:10px;gap:4px}}
@media(min-width:900px){
 body:has(#appview:not(.hide)) .app{--ym-shell-sidebar:226px;--ym-shell-gutter:28px;max-width:1240px;padding-bottom:0}
 body:has(#appview:not(.hide)) #appHeader{padding-top:20px;padding-bottom:16px}
 #appview:not(.hide)>main.page{padding-top:20px!important;padding-bottom:40px!important}
}
@media(min-width:900px) and (max-width:1100px){body:has(#appview:not(.hide)) .app{--ym-shell-sidebar:200px;--ym-shell-gutter:18px}}
body.ym-dark:has(#appview:not(.hide)) .app{background:#172b26}
body.ym-dark:has(#appview:not(.hide)) .app::before{background:linear-gradient(#263e33,#172b26)}
.ym-save-overlay{background:#183d3059;backdrop-filter:blur(3px);padding:20px}
.ym-save-dialog{position:relative;isolation:isolate;overflow:hidden;width:min(100%,330px);background:#fffdf7;border:1px solid #e0dfcf;border-radius:22px;padding:23px 20px 18px;box-shadow:0 22px 65px #15372c2b}
.ym-save-dialog:before{content:'';position:absolute;inset:0 0 auto;height:95px;z-index:-1;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='66'%3E%3Cg fill='none' stroke='%2373956c' stroke-width='.7'%3E%3Cpath d='M17 17h32v32H17z'/%3E%3Cpath d='m33 10 23 23-23 23-23-23z'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(#000,transparent)}
.ym-save-check{width:48px;height:48px;margin:0 auto 12px;background:#0e8148;color:white;font-size:27px;border:5px solid #e5f1e4;box-sizing:content-box}
.ym-save-dialog h3{font-size:18px;line-height:24px;color:#244936;margin:0 0 5px}
.ym-save-dialog>p{font-size:12px;color:#62715b;margin:0 0 14px}
.ym-save-score{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#edf3e6;border-radius:13px;padding:12px;margin:0 0 12px}
.ym-save-score>div{display:flex;flex-direction:column;gap:4px}.ym-save-score>div+div{border-left:1px solid #d4e1cf}
.ym-save-score b{font:700 23px/27px Arial,sans-serif;color:#0e8148}.ym-save-score b small{font-size:12px;font-weight:400;color:#62715b}
.ym-save-score span{font:400 11px/16px Arial,sans-serif;color:#62715b}
.ym-save-dialog .ym-save-quote{font-size:12px;color:#62715b;line-height:18px;margin:0}
.ym-save-close{position:absolute;right:9px;top:9px;border:0;border-radius:50%;width:32px;height:32px;background:#edf3e6;color:#62715b;font-size:21px}
@media(prefers-reduced-motion:reduce){.ym-save-overlay,.ym-save-dialog{animation:none}}

/* Approved: home calendar uses the Journey calendar appearance. */
#today .ym-shared-calendar{background:transparent;padding:8px 0 0;margin:0;border-radius:0}
#today .ym-shared-calendar>.row{margin:4px 0 6px}
#today .ym-shared-calendar>.row .title{font-size:15px}
#today .ym-shared-calendar>.row .ghost{padding:5px 9px}
#today .ym-home-calendar>.jv-legend{font-size:10px;margin-bottom:12px}
/* Mobile dock: attach to the viewport edge; keep safe-area space inside the bar. */
@media(max-width:899px){
 #appview:not(.hide)>#nav{position:fixed;inset:auto 0 0!important;transform:none!important;margin:0 auto!important;width:100%!important;max-width:430px!important;border-radius:22px 22px 0 0!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;z-index:100;backface-visibility:hidden}
}
