/* Shared proportions and motion for the Boss and Employee experiences. */
.native-select-source{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;clip-path:inset(50%);pointer-events:none}
.detail-select{width:100%;min-height:46px;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:15px;padding:12px 13px;font:inherit;line-height:1.5}
button{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.details-dialog,.picker-dialog{position:fixed;background:var(--glass);color:var(--ink);border:1px solid var(--border);box-shadow:0 20px 80px #0005;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding:18px 24px calc(22px + var(--safe-b));max-height:84dvh;overflow:auto;width:min(100%,520px)}
.details-dialog{inset:auto 0 0;margin:0 auto;border-radius:28px 28px 0 0}.details-dialog h2,.picker-dialog h2{font-size:1rem;margin:9px 0 20px;color:var(--muted)}.details-dialog h3{font-size:1.25rem;margin-bottom:16px}.detail-message{font-size:.96rem;line-height:1.8;margin-bottom:20px;white-space:pre-wrap;user-select:text;-webkit-user-select:text}.details-dialog>.caption{margin-bottom:22px}
.details-dialog::backdrop,.picker-dialog::backdrop{background:#18102388;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.sheet-drag{width:42px;height:5px;border-radius:99px;background:color-mix(in srgb,var(--muted) 40%,transparent);margin:0 auto;touch-action:none;padding:0;box-sizing:content-box;border:10px solid transparent;background-clip:padding-box;cursor:grab}
.picker-dialog{inset:10vh auto auto 50%;transform:translateX(-50%);margin:0;border-radius:24px;width:min(calc(100% - 28px),360px);padding:12px 16px 18px;overflow:hidden}.picker-dialog h2{padding:0 6px;line-height:1.5;margin-bottom:12px}.choice-list{display:grid;gap:3px;max-height:min(50dvh,300px);overflow-y:auto;margin:0 0 14px}.choice-option{width:100%;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;min-height:50px;border-radius:13px;padding:9px 7px;color:var(--ink);font:inherit}.choice-option[aria-selected=true]{background:color-mix(in srgb,var(--purple) 11%,transparent)}.choice-option:active{background:color-mix(in srgb,var(--purple) 18%,transparent)}.choice-initial{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--purple) 12%,transparent);color:var(--purple);font-weight:700}.choice-name{flex:1;min-width:0;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}.choice-name small{display:block;font-size:.7rem;color:var(--muted)}.choice-mark{color:var(--purple);font-weight:800;font-size:18px}
.date-sticker{width:32px;display:grid;justify-self:center;background:#ffeaf2;border-radius:7px;overflow:hidden;box-shadow:0 3px 6px #df528533}.date-sticker>small{font-size:7px;font-weight:800;letter-spacing:.2px;text-align:center;line-height:13px;background:#e05285;color:white}.date-sticker>b{display:grid;place-items:center;position:relative;font-size:14px!important;line-height:25px;color:#7b294d;border:0!important;padding:0!important}.date-sticker .today-number::after{content:"";position:absolute;width:23px;height:23px;border:2px solid #ef1429;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 3px #ef142955}.day-cell.today{outline:none}.date-number.today-number{outline:2px solid #ef1429;outline-offset:1px;border-radius:50%;display:grid;place-items:center;width:27px;height:27px;margin:auto}.metric-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.metric-card{margin:0;display:grid;gap:10px;min-height:120px;align-content:center}.metric-card>small{font-size:.75rem;color:var(--purple);font-weight:700}.metric-card>b{font-size:1.5rem;font-variant-numeric:tabular-nums}.metric-card>span{font-size:.66rem;color:var(--muted)}
.living-emoji{display:inline-block;flex:0 0 auto;font-size:var(--emoji-size,24px);line-height:1.35;transform-origin:50% 65%;animation:emoji-living var(--emoji-period,1.85s) ease-in-out infinite;vertical-align:middle;pointer-events:none}
@keyframes emoji-living{0%,50%,100%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(var(--emoji-amplitude)) rotate(var(--emoji-swing)) scale(1.04)}75%{transform:translateY(calc(var(--emoji-amplitude) * -1)) rotate(calc(var(--emoji-swing) * -1)) scale(.96)}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
.welcome-hero{position:relative;width:216px;height:226px;display:grid;place-items:center;margin:auto;background:radial-gradient(ellipse,color-mix(in srgb,var(--purple) 18%,transparent),transparent 67%)}
.welcome-hero::before{content:"";position:absolute;inset:5px 0;border:1px solid color-mix(in srgb,var(--purple) 20%,transparent);border-radius:50%;pointer-events:none}
.welcome-photo-control{position:relative;display:grid;place-items:center;max-width:180px;min-width:138px;min-height:138px;animation:welcome-float 4.5s ease-in-out infinite;cursor:pointer}
.welcome-face{width:138px;height:138px;object-fit:cover;border-radius:50%;border:5px solid #ffffffec;background:linear-gradient(140deg,var(--purple),#93a4e7);box-shadow:0 12px 30px color-mix(in srgb,var(--purple) 24%,transparent);display:grid;place-items:center}
.welcome-brand{width:180px;height:108px;object-fit:contain;filter:drop-shadow(0 9px 12px #66539022)}
.welcome-photo-caption{position:absolute;bottom:-13px;background:var(--card);border:1px solid var(--border);padding:6px 11px;border-radius:99px;font-size:.66rem;color:var(--purple);white-space:nowrap}
.welcome-orbit{position:absolute;inset:5px 0;animation:soft-spin 40s linear infinite;pointer-events:none;color:var(--purple)}.welcome-orbit i{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;display:grid;place-items:center;font-style:normal;transform:rotate(var(--orbit-angle)) translateX(104px);font-size:14px}.welcome-orbit i:nth-child(even){font-size:6px;color:#66bccc}
.welcome-arc{position:absolute;inset:17px 12px;border:2px solid transparent;border-top-color:var(--purple);border-right-color:#6ac9d9;border-radius:50%;animation:soft-spin 30s linear infinite;pointer-events:none}
.welcome-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 29%,color-mix(in srgb,var(--purple) 15%,transparent),transparent 65%);overflow:hidden}
.welcome-atmosphere i{position:absolute;left:var(--particle-x);bottom:-10px;width:var(--particle-size);height:var(--particle-size);border-radius:50%;background:var(--purple);opacity:.45;animation:welcome-particle var(--particle-period) linear var(--particle-delay) infinite}.welcome-atmosphere i:nth-child(3n){background:#56c4dd}
@keyframes welcome-particle{from{transform:translate(0,0);opacity:0}15%,75%{opacity:.5}to{transform:translate(12px,-105dvh);opacity:0}}
@keyframes welcome-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}
.sync-caption{padding:18px 6px 0}.ring-capacity{text-align:center;margin-top:8px;font-size:.67rem}.ring-legend dd small{white-space:nowrap;font-size:.64rem}
.preparation-panel{display:grid;gap:12px}.preparation-panel h3{font-size:.98rem;display:flex;gap:8px;align-items:center;color:var(--purple)}.preparation-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preparation-times>div{display:grid;justify-items:center;gap:6px;padding:14px 8px;border-radius:17px;background:color-mix(in srgb,var(--purple) 8%,transparent)}.preparation-times small{font-size:.7rem;color:var(--muted)}.preparation-times b{font-size:1.18rem;font-variant-numeric:tabular-nums}.preparation-panel .callout strong{display:block;margin:6px 0;color:var(--purple);font-size:1.1rem}
.weather-main>div{display:grid;gap:5px}.weather-main>div>strong{font-size:2.3rem;font-variant-numeric:tabular-nums}.weather-placeholder{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.weather-placeholder strong{font-size:2rem}.weather-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weather-stats>div{display:grid;justify-items:center;gap:6px;padding:12px 4px;border-radius:16px;background:color-mix(in srgb,var(--purple) 7%,transparent)}.weather-stats b{font-size:.78rem;font-variant-numeric:tabular-nums}.weather-stats small{font-size:.64rem;color:var(--muted)}.weather-sun{display:flex;justify-content:space-between;gap:8px;font-size:.66rem;color:var(--muted)}.weather-advice,.shift-forecast{display:flex;align-items:center;justify-content:center;gap:8px}.weather-advice p,.shift-forecast p{font-size:.8rem;line-height:1.55}.weather-advice{padding:10px 2px;text-align:center}.day-strip-card .shift-chip>.living-emoji{font-size:30px;display:block;width:100%}
@media(prefers-reduced-motion:reduce){.living-emoji,.welcome-photo-control,.welcome-orbit,.welcome-arc,.welcome-atmosphere i{animation:none!important}.welcome-atmosphere i{bottom:var(--particle-x)}}
body,body.dark{background:transparent;color:var(--ink)}
html{background:#e8e2f4}html:has(body.dark){background:#191728}
#wallpaper{position:fixed;inset:0;z-index:-2;background-position:center;background-size:cover;pointer-events:none}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(150deg,rgba(241,241,255,.25),rgba(250,229,247,.12));pointer-events:none}
body.dark::before{background:linear-gradient(150deg,rgba(10,13,35,.27),rgba(30,15,41,.35))}
body[data-style=iphone]{--glass:rgba(255,255,255,.72);--card:rgba(255,255,255,.76);--border:rgba(255,255,255,.64)}
body.dark[data-style=iphone]{--glass:rgba(28,25,44,.73);--card:rgba(39,34,55,.81);--border:rgba(234,218,255,.2)}
body[data-style=original]{--glass:rgba(255,255,255,.94);--card:rgba(255,255,255,.97)}
body.dark[data-style=original]{--glass:rgba(30,27,47,.97);--card:rgba(42,36,57,.98)}
body[data-style=pastel] .glass,body[data-style=pastel] .tile{background-image:linear-gradient(145deg,rgba(241,211,250,.17),rgba(208,235,250,.17))}
body[data-style=liquid] .glass,body[data-style=liquid] .tile{background-color:rgba(255,255,255,.35);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border-color:rgba(255,255,255,.68);box-shadow:inset 0 1px 1px #ffffff9c,0 14px 35px #66539022}
body.dark[data-style=liquid] .glass,body.dark[data-style=liquid] .tile{background-color:rgba(29,25,45,.48)}
.app-shell{max-width:720px}.header{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:17px}.header-title{display:flex;align-items:center;gap:12px}.header-actions{justify-content:center;gap:19px}.avatar{object-fit:cover}.status-icon{border-radius:50%;background:color-mix(in srgb,var(--purple) 12%,transparent);border:0}.status-icon i{position:absolute;right:-3px;bottom:-3px;border:2px solid var(--card);border-radius:50%;width:18px;height:18px;display:grid;place-items:center;color:#fff;background:#d89c38;font-style:normal;font-size:11px;font-weight:900}.status-icon i.ready{background:#2fab74}.header .icon-btn{width:43px;height:43px}.is-refreshing{animation:soft-spin 1s linear infinite!important}
.role-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90dvh;gap:30px;max-width:500px}.brand-hero{display:grid;gap:14px;text-align:center}.brand-hero h1{font-size:2rem;letter-spacing:-1px}.role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:16px;width:100%;justify-content:center}.role-card{aspect-ratio:1!important}.role-card .tile-icon{font-size:38px;width:74px;height:74px}.login{margin:4vh auto 0}.login>.back{margin-bottom:16px}.login h1{font-size:1.55rem}.login-logo{overflow:hidden}.login-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.living-logo{animation:logo-living 6s ease-in-out infinite}.password-wrap{display:flex;gap:6px}.password-wrap .icon-btn{align-self:center}.pin-open{display:grid;gap:12px;padding:18px;border:1px solid var(--border);background:var(--card);border-radius:18px;color:var(--ink);text-align:center}.pin-dots{font-size:24px;letter-spacing:5px;color:var(--purple)}
.login-slide{position:relative;width:100%;height:62px;border-radius:99px;background:color-mix(in srgb,var(--purple) 12%,transparent);border:1px solid var(--border);overflow:hidden;display:grid;place-items:center;--drag:0px}.slide-label{font-size:.85rem;font-weight:700;color:var(--purple);padding-left:40px;animation:slide-glow 2.7s ease-in-out infinite;pointer-events:none}.slide-handle{position:absolute;left:5px;top:5px;width:50px;height:50px;border-radius:50%;font-size:25px;color:#fff;background:var(--purple);transform:translateX(var(--drag));touch-action:none;box-shadow:0 4px 14px #8d4fa83f;transition:transform .24s ease}.dragging .slide-handle{transition:none}.dragging .slide-label{opacity:.35;animation:none}.pin-dialog{border:1px solid #ffffff44;border-radius:30px;background:rgba(35,31,45,.96);color:#fff;width:min(100% - 22px,390px);padding:26px 30px;box-shadow:0 20px 80px #0006}.pin-dialog::backdrop,.edit-dialog::backdrop{background:#19132199;backdrop-filter:blur(10px)}.pin-sheet{display:grid;gap:14px;text-align:center}.pin-sheet .caption{color:#d2c8dc}.pad-dots{display:flex;gap:18px;justify-content:center;padding:17px}.pad-dots i{width:13px;height:13px;border-radius:50%;border:1.5px solid #fff}.pad-dots i.filled{background:#fff}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 19px;margin:6px 0 15px;justify-items:center}.pin-keypad button{width:66px;height:66px;border-radius:50%;background:#ffffff25;color:white;font-size:29px;font-weight:400;transition:background .18s,scale .18s}.pin-keypad button:active{background:#ffffff65;scale:.93}.edit-dialog{border:1px solid var(--border);border-radius:25px;background:var(--glass);color:var(--ink);padding:25px;width:min(94vw,430px);max-height:85dvh;overflow:auto;backdrop-filter:blur(24px)}.edit-dialog h2{font-size:1.2rem}
.ring-panel{overflow:hidden}.ring-layout{display:flex;align-items:center;justify-content:center;gap:24px}.ring-art{position:relative;flex:0 0 168px;width:168px;height:168px}.ring-art svg{width:100%;height:100%;overflow:visible}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;pointer-events:none}.ring-center span{font-size:22px}.ring-center small{font-size:5.5px;letter-spacing:.6px;font-weight:800;color:var(--muted)}.ring-scroll{transform-origin:88px 88px;transform:rotate(var(--scroll-turn,0deg))}.ring-1{transform:rotate(calc(var(--scroll-turn,0deg) * -1))}.ring-spinner{animation:soft-spin var(--period) linear infinite;animation-direction:var(--direction)}.ring-legend{margin:0;display:grid;gap:11px;min-width:0}.ring-legend>div{display:grid;gap:2px}.ring-legend dt{font-size:.73rem;color:var(--muted);display:flex;align-items:center;gap:6px}.ring-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.ring-legend dd{margin:0;font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}.ring-legend small{font-size:.72rem;font-weight:500;color:var(--muted)}.welcome-card{text-align:center;justify-items:center;padding:30px 20px}.profile-large{width:80px;height:80px;object-fit:cover;border-radius:25px;background:linear-gradient(140deg,#d09bee,#a1a6e7);display:grid;place-items:center;font-size:40px}.welcome-avatar{animation:avatar-breathe 7s ease-in-out infinite}.welcome-card h1{font-size:1.45rem}.enter-home{margin-top:20px}
.menu-grid{grid-template-columns:repeat(2,minmax(0,180px));gap:14px}.tile{aspect-ratio:1;border-radius:23px;animation:none;transition:scale .2s,box-shadow .2s}.tile.unpaired{max-width:180px}.tile>span:last-of-type{font-size:.85rem;font-weight:700}.tile .tile-icon{background:transparent}.tile:active{scale:.96;transform:translateY(var(--float,0)) rotateX(var(--tilt,0deg))}.tile-icon{background:transparent!important}.day-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.day-strip-card{padding:13px 7px;text-align:center;display:grid;align-content:start;gap:6px;border-radius:20px;font-size:.83rem;min-width:0}.day-strip-card small{color:var(--muted);font-size:.7rem}.day-strip-card>div{display:grid;gap:6px}.shift-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;border-radius:9px;padding:5px 7px;background:color-mix(in srgb,var(--purple) 10%,transparent);font-size:.75rem;color:var(--ink);font-weight:650;overflow-wrap:anywhere}.shift-chip small{display:block;width:100%;text-align:center;font-size:.67rem;font-variant-numeric:tabular-nums;color:var(--muted)}.shift-payday{background:#f0b93c24}.shift-leave,.shift-power_outage{background:#55b6a624}.pending-leave{display:block;color:#b27d2d;font-size:.63rem;line-height:1.45}.countdown-panel{display:flex;align-items:center;gap:17px}.countdown-panel>div:last-child{display:grid;gap:7px;min-width:0}.countdown-ring{--progress:0%;background:conic-gradient(var(--purple) var(--progress),color-mix(in srgb,var(--purple) 15%,transparent) 0);width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-items:center;position:relative}.countdown-ring::before{content:"";position:absolute;inset:7px;background:var(--glass);border-radius:50%;backdrop-filter:blur(14px)}.countdown-ring span{position:relative;font-size:1.25rem;font-weight:750;font-variant-numeric:tabular-nums}.countdown-panel b{font-size:.94rem}
.calendar-grid{margin-top:17px;row-gap:7px}.calendar-panel{display:grid;gap:9px}.calendar-panel>.row{padding:0 2px}.day-cell{padding:7px 2px;min-height:80px;position:relative;transition:background .18s,scale .18s}.day-cell:active{scale:.96}.cell-shifts{display:flex;flex-direction:column;gap:3px;width:100%;align-items:center}.cell-shifts .shift-chip{padding:2px 1px;background:transparent;font-size:.57rem;gap:1px;line-height:1.45;max-width:100%}.cell-shifts .pending-leave{font-size:.51rem}.cell-shifts .shift-chip>span{font-size:.65rem}.selected-day{background:color-mix(in srgb,var(--purple) 23%,var(--card));outline:2px solid var(--purple)}.calendar-flip .day-cell{background-image:linear-gradient(to bottom,#00000006 49.5%,#ffffff66 50%,#ffffff00 51%);box-shadow:0 3px 5px #0000000a}.calendar-flip .day-cell b{border-bottom:1px solid var(--border);padding-bottom:3px}.calendar-minimal .day-cell{background:transparent;border-color:transparent;border-radius:8px}.calendar-glass .day-cell{background:rgba(255,255,255,.2);backdrop-filter:blur(12px);border-color:#ffffff66;box-shadow:inset 0 1px 1px #ffffff88}.calendar-rings .day-cell b{border:2px solid color-mix(in srgb,var(--purple) 45%,transparent);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;margin:auto}.calendar-stickers .day-cell{background:color-mix(in srgb,var(--purple) 6%,var(--card));box-shadow:2px 3px 0 #8b6d9820;border-radius:13px 13px 5px 13px}.calendar-stickers .day-cell:nth-child(3n+1){rotate:-1deg}.calendar-stickers .day-cell:nth-child(3n+2){rotate:1deg}.day-detail{display:grid;gap:12px}.calendar-week{padding-bottom:3px}
.weather-panel{display:grid;gap:12px}.weather-main{display:flex;align-items:center;justify-content:center;gap:12px}.weather-main>span{font-size:38px}.weather-main>strong{font-size:2.6rem;letter-spacing:-1px}.weather-main p{font-size:.84rem;color:var(--muted)}.weather-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:.73rem;color:var(--muted);text-align:center}.theme-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-preview{height:125px;background-size:cover;background-position:center;border:3px solid transparent;border-radius:20px;padding:8px;display:flex;align-items:end;justify-content:center;overflow:hidden}.theme-preview.selected{border-color:var(--purple)}.theme-preview span{background:#ffffffdf;color:#373046;font-size:.8rem;padding:5px 12px;border-radius:99px;backdrop-filter:blur(10px)}.accent-choices{display:flex;justify-content:space-around;gap:9px;margin:6px 0}.accent-choice{background:var(--swatch);width:40px;height:40px;border-radius:50%;color:#fff;font-size:20px;border:3px solid transparent}.accent-choice.selected{outline:2px solid var(--swatch);outline-offset:3px;border-color:var(--glass)}.calendar-choices{display:flex;flex-wrap:wrap;gap:9px}.calendar-choices .pill{flex:1 0 28%;min-width:100px}.profile-setting{display:flex;align-items:center;gap:18px}.profile-setting .btn{font-size:.83rem}
.trend-bars{display:flex;height:170px;align-items:stretch;gap:12px;padding:20px 6px 5px}.trend-bars>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.trend-bars strong,.trend-bars small{font-size:.72rem;color:var(--muted)}.trend-bars span{height:var(--height);min-height:2px;width:min(70%,36px);background:linear-gradient(var(--purple),color-mix(in srgb,var(--purple) 40%,transparent));border-radius:8px 8px 3px 3px;animation:bar-grow .7s ease both;transform-origin:bottom}.trend-table{overflow:auto;margin-top:15px}.trend-table table{border-collapse:collapse;width:100%;text-align:center;font-size:.78rem;font-variant-numeric:tabular-nums}.trend-table th,.trend-table td{padding:10px 6px;border-bottom:1px solid var(--border)}.trend-table th{color:var(--muted);font-weight:600}.notice-row.unread .count{animation:badge-pop .4s ease}.announcement-tools{display:flex;gap:7px;flex-wrap:wrap}.announcement-search{display:flex;gap:7px;margin:12px 0}.announcement-search input{min-width:0}.receipt-list{display:grid;gap:12px;font-size:.84rem}.msg{white-space:pre-wrap}.msg p{white-space:pre-wrap;line-height:1.55}
.motion-item{opacity:0;transform:translateY(calc(12px + var(--float,0px))) rotateX(var(--tilt,0deg));transition:opacity .5s ease,transform .5s ease;transition-delay:var(--stagger,0ms);will-change:auto}.motion-item.revealed{opacity:1;transform:translateY(var(--float,0px)) rotateX(var(--tilt,0deg));transition-delay:0ms}#toast{transition:opacity .25s ease,translate .3s ease;translate:0 -8px}#toast.show{translate:0 0}.btn,.icon-btn,.pill,.nav-btn{transition:scale .18s,background .2s}.btn:active,.icon-btn:active,.pill:active,.nav-btn:active{scale:.95}
@keyframes soft-spin{to{transform:rotate(360deg)}}@keyframes logo-living{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes avatar-breathe{50%{transform:translateY(-5px) scale(1.025)}}@keyframes slide-glow{50%{opacity:.5}}@keyframes badge-pop{0%{scale:.5}65%{scale:1.18}100%{scale:1}}@keyframes bar-grow{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
@media(min-width:700px){.app-shell{padding-top:calc(24px + var(--safe-t));padding-left:28px;padding-right:28px}.header{flex-direction:row;align-items:center;justify-content:space-between}.header-actions{gap:14px}.ring-layout{gap:45px}.ring-art{width:184px;height:184px;flex-basis:184px}.day-cell{min-height:97px}.cell-shifts .shift-chip{font-size:.7rem}.day-strip-card{padding:19px}.menu-grid{gap:18px}.banner{padding:25px}}
@media(max-width:370px){.header-actions{gap:15px}.ring-layout{gap:12px}.ring-art{width:145px;height:145px;flex-basis:145px}.ring-legend dd{font-size:1.15rem}.ring-legend dt{font-size:.67rem}.countdown-ring{width:78px;height:78px;flex-basis:78px}.countdown-panel{gap:12px}.day-cell{min-height:77px}.cell-shifts .shift-chip{font-size:.5rem}.role-cards{gap:10px}.role-card{padding:8px}.tile>span:last-of-type{font-size:.78rem}.pin-dialog{padding:23px}.pin-keypad{gap:12px}.pin-keypad button{width:62px;height:62px}.weather-details{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.motion-item,.motion-item.revealed{opacity:1!important;transform:none!important;transition:none!important}.ring-spinner,.living-logo,.welcome-avatar,.slide-label,.is-refreshing{animation:none!important}.ring-scroll{transform:none!important}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.ring-art{border-radius:50%;background:#0a0b10;box-shadow:inset 0 0 18px #0005}.ring-center small{color:#ffffff90}.ring-spinner{filter:drop-shadow(0 0 2px color-mix(in srgb,currentColor 20%,transparent))}
