/* Shared visual feedback, with static alternatives for reduced motion. */
.daily-momentum{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px 28px;padding:22px 24px;margin:0 0 24px;background:#fff;border:1px solid #e4dfde;border-radius:16px;border-left:4px solid #e31f31;box-shadow:0 4px 14px #2c172004}
.experience-kicker{display:block;font-size:9px;font-weight:700;letter-spacing:1.8px;color:#a72435;margin-bottom:7px}.daily-momentum h3{font:600 26px/1.2 'League Spartan',sans-serif}.daily-momentum p{font-size:12px;color:#70666b;margin-top:6px}.daily-momentum>small{grid-column:1/-1;font-size:10px;color:#81767c;line-height:1.7}
.momentum-track{display:grid;grid-template-columns:1fr 1fr;gap:10px}.momentum-track>span{background:#f7f5f3;border-radius:10px;padding:14px;font-size:11px;color:#74656c;display:flex;flex-direction:column;gap:6px}.momentum-track strong{font:600 28px 'League Spartan',sans-serif;color:#272226}.momentum-track>span:first-child{background:#eef6f0}.momentum-track>span:first-child strong{color:#34734f}
.home-personal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.home-personal-tabs .filter{min-height:40px}
.experience-clear{display:flex;align-items:center;justify-content:center;gap:18px;padding:28px 18px;border-radius:12px;background:#f2f7f2;margin:16px 0;color:#28613c}.experience-clear h3{font:600 24px 'League Spartan',sans-serif}.experience-clear p{font-size:12px;color:#5b7060;margin-top:5px;line-height:1.7}.experience-clear-mark{flex:none;width:54px;height:54px}.experience-clear svg{width:100%;height:100%;stroke:#43835b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.experience-clear path{stroke-dasharray:40;stroke-dashoffset:0;animation:experience-check 320ms ease-out}
.experience-loading{padding:14px 0}.experience-loading p{color:#777;font-size:12px;margin-bottom:14px}.experience-skeleton{display:grid;gap:10px;min-width:0}.experience-skeleton i{display:block;min-height:13px;border-radius:7px;background:linear-gradient(100deg,#eeece9 25%,#faf9f7 45%,#eeece9 65%);background-size:220% 100%;animation:experience-shimmer 1.6s ease-in-out infinite}.experience-skeleton i:nth-child(2){width:78%}.experience-skeleton i:nth-child(3){width:55%}
.workspace-task-desk{border-top:3px solid #e31f31}.workspace-task-grid{margin-top:20px}.workspace-task{border-radius:14px;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}.workspace-task.complete{background:linear-gradient(130deg,#fff,#f3f8f3)}.workspace-task-desk progress{display:block;width:100%;accent-color:#e31f31;height:8px;margin:16px 0 4px;border:0;border-radius:8px;overflow:hidden}.workspace-task .workspace-count-caption{font-size:10px;margin-top:7px;color:#716b65}
.purchase-progress ol{gap:10px}.purchase-progress li{border-bottom:0!important;position:relative;background:#f3f1ef;padding:12px!important;border-radius:10px;color:#81787d}.purchase-progress li.is-done{background:#edf5ee;color:#2f6943}.purchase-progress li.is-current{background:#fff0f2;color:#a52133;box-shadow:inset 0 0 0 1px #edbac2}.purchase-progress li.is-current a{font-weight:700}.purchase-progress li a{display:flex;align-items:center;gap:7px;min-height:24px}.purchase-progress li span{font-weight:700}.purchase-progress .progress-current-label{font-size:10px;color:#a52133;margin-left:auto}
#onyx-save-feedback{position:fixed;bottom:28px;left:50%;transform:translate(-50%,8px);display:flex;align-items:center;gap:12px;background:#202622;color:#fff;border:1px solid #425849;border-radius:14px;padding:14px 20px;box-shadow:0 8px 32px #0002;z-index:220;max-width:calc(100vw - 32px);width:max-content;font-size:13px;opacity:0;pointer-events:none;transition:opacity 160ms,transform 180ms}
#onyx-save-feedback.is-visible{opacity:1;transform:translate(-50%,0)}.confirmed-save-mark{display:grid;place-items:center;background:#42734f;border-radius:50%;width:28px;height:28px;flex:none;font-weight:700}.is-visible .confirmed-save-mark{animation:experience-confirm 280ms ease-out}
@keyframes experience-check{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}@keyframes experience-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}@keyframes experience-confirm{from{transform:scale(.75)}to{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.workspace-task:hover{transform:translateY(-3px);box-shadow:0 8px 24px #26161b0b}}
@media(max-width:760px){.daily-momentum{grid-template-columns:1fr;padding:18px;gap:14px}.daily-momentum h3{font-size:24px}.experience-clear{align-items:flex-start;padding:22px 14px;gap:12px}.experience-clear h3{font-size:22px}.experience-clear-mark{width:42px;height:42px}#onyx-save-feedback{bottom:calc(94px + env(safe-area-inset-bottom));font-size:12px}.purchase-progress li{min-width:40%}.purchase-progress .progress-current-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.experience-skeleton i,.experience-clear path,.is-visible .confirmed-save-mark{animation:none!important}.workspace-task,#onyx-save-feedback{transition:none!important}.workspace-task:hover{transform:none!important}}
@media print{#onyx-save-feedback,.experience-loading{display:none!important}.experience-clear path{animation:none}}
.onyx-loading:not(.onyx-loading--compact){flex-wrap:wrap}.experience-loading-shapes{flex-basis:100%;width:min(320px,80vw);margin:14px auto 0}.experience-loading-shapes .experience-skeleton{width:100%}
.momentum-reminders{grid-column:1/-1;font-size:11px;color:#71666c}.momentum-reminders progress{display:block;width:100%;height:9px;accent-color:#39805a;margin-top:10px}
@keyframes workspace-arrive{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}.workspace-arrive{animation:workspace-arrive 200ms ease-out}
@media(prefers-reduced-motion:reduce){.workspace-arrive{animation:none!important}}
/* Useful shortcuts and recorded context. No new permissions or background saves. */
.resume-work{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;background:#fcf3ed;border:1px solid #ebd8ca;border-radius:16px;padding:22px 24px;margin:0 0 22px}.resume-work h2{font-size:26px}.resume-work p{font-size:12px;color:#7d6b61;margin-top:6px}.resume-work-items{display:grid;gap:8px}.resume-work-link{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;padding:14px 16px;background:#fff;border:1px solid #e7d9ce;border-radius:10px;font:inherit;color:inherit;min-width:0}.resume-work-link strong{font-size:13px;overflow-wrap:anywhere}.resume-work-link small{display:block;font-size:11px;color:#817269;margin-top:4px}.resume-work-link:focus-visible{outline:3px solid #e31f31;outline-offset:3px}
.workspace-notifications{margin:0 0 18px;border:1px solid #e3dfe0;border-radius:12px;background:#fff}.workspace-notifications>summary{display:flex;align-items:center;gap:10px;padding:14px 18px;min-height:48px;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.workspace-notifications>summary::-webkit-details-marker{display:none}.notification-chevron{margin-left:auto}.workspace-notification-list{padding:0 18px 14px}.workspace-notification{display:flex;gap:14px;justify-content:space-between;padding:14px 0;border-top:1px solid #eee9ea}.workspace-notification strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.workspace-notification small{display:block;font-size:11px;line-height:1.7;color:#7d7277;margin-top:4px;overflow-wrap:anywhere}.workspace-notification:hover strong{color:#b52638}
.record-timeline{background:#fff;border:1px solid #e6dfe1;border-radius:12px;margin:0 0 20px;padding:16px 20px}.record-timeline>summary{cursor:pointer;font-weight:650;font-size:13px;min-height:28px}.record-timeline ol{list-style:none;padding:0;margin:22px 0 4px}.record-timeline li{display:flex;gap:18px;position:relative;padding:0 0 24px}.record-timeline li:last-child{padding-bottom:0}.timeline-point{width:11px;height:11px;flex:none;background:#b52b3e;border-radius:50%;margin:4px 0 0;box-shadow:0 0 0 4px #faecef}.record-timeline li:not(:last-child)::before{content:'';position:absolute;left:5px;top:18px;bottom:3px;border-left:1px solid #e6d8dc}.record-timeline li strong{font-size:13px}.record-timeline li p,.record-timeline time{font-size:11px;color:#7b6e74;line-height:1.8}.record-timeline time{display:block}
.workspace-identity-label{font:600 10px 'DM Sans',sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:var(--workspace-accent,#a52a3a);margin-bottom:10px}.heading:has(.workspace-identity-label),.commission-topline:has(.workspace-identity-label){border-left:3px solid var(--workspace-accent,#a52a3a);padding-left:16px}main[data-workspace-identity] .workspace-task-desk{border-top-color:var(--workspace-accent,#a52a3a)}
.onyx-quick-menu{display:none}
#onyx-connection-status{position:fixed;top:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);border:1px solid #dfcdb3;background:#fff7e8;color:#72572f;padding:10px 16px;border-radius:10px;font-size:12px;line-height:1.6;box-shadow:0 6px 20px #2c1b1412;z-index:240}#onyx-connection-status[data-state="offline"],#onyx-connection-status[data-state="error"],#onyx-connection-status[data-state="pending"]{background:#fff0ef;border-color:#e5b7b3;color:#983334}
@keyframes record-highlight{from{box-shadow:inset 0 0 0 2px #c43b50;background-color:#fff2db}to{box-shadow:inset 0 0 0 2px transparent}}.record-just-updated{animation:record-highlight 1800ms ease-out}
@keyframes step-arrive{from{opacity:.5;transform:translateX(5px)}to{opacity:1;transform:none}}.workspace-step-arrive{animation:step-arrive 160ms ease-out}
@keyframes notification-arrive{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.notification-new{animation:notification-arrive 200ms ease-out}
@media(max-width:760px){.resume-work{grid-template-columns:1fr;padding:18px;gap:16px}.resume-work h2{font-size:24px}.onyx-quick-menu{display:block;position:fixed;right:16px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:80}.onyx-quick-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;padding:12px 16px;min-height:46px;border-radius:24px;background:#242022;color:#fff;box-shadow:0 4px 16px #0002;font-size:12px;font-weight:650}.onyx-quick-menu>summary::-webkit-details-marker{display:none}.onyx-quick-menu-items{position:absolute;bottom:58px;right:0;display:grid;gap:4px;padding:8px;width:min(270px,calc(100vw - 32px));border:1px solid #e0d8da;background:#fff;border-radius:14px;box-shadow:0 8px 32px #0002}.onyx-quick-menu-items button{text-align:left;border:0;background:#fff;padding:13px;border-radius:8px;font-size:13px;min-height:44px}.onyx-quick-menu-items button:hover{background:#faf1f3}.onyx-quick-menu>summary:focus-visible,.onyx-quick-menu button:focus-visible{outline:3px solid #e31f31;outline-offset:3px}#onyx-connection-status{top:8px;font-size:11px}.record-timeline{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.record-just-updated,.workspace-step-arrive,.notification-new{animation:none!important}.record-just-updated{outline:2px solid #c58948;outline-offset:2px}}
@media print{.onyx-quick-menu,#onyx-connection-status{display:none!important}.record-just-updated,.workspace-step-arrive,.notification-new{animation:none!important}}
/* One Ozzy visual system across every authenticated workspace. */
.workspace-surface{--workspace-accent:#e31f31}
.workspace-surface .workspace-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:184px;padding:30px 32px!important;margin-bottom:24px;border:1px solid #34272b;border-left:5px solid #e31f31;border-radius:18px;background:radial-gradient(ellipse at 100% 0%,#72212c 0%,transparent 60%),linear-gradient(120deg,#1b1b1c,#282124);color:#fff;box-shadow:0 12px 30px #25151b10}
.workspace-hero::after{content:'';position:absolute;z-index:-1;right:70px;top:-160px;width:330px;height:330px;border:1px solid #ffffff0b;border-radius:50%;box-shadow:0 0 0 48px #ffffff03,0 0 0 96px #ffffff02;pointer-events:none}
.workspace-surface .workspace-hero h1{font-family:'League Spartan',sans-serif;font-size:42px;line-height:1.12;letter-spacing:-1px;color:#fff;margin:0 0 9px;overflow-wrap:anywhere}
.workspace-surface .workspace-hero :is(.sub,.commission-period,.payroll-muted){color:#d3c9cc;font-size:13px;line-height:1.7;margin:6px 0 0;max-width:650px}
.workspace-surface .workspace-hero :is(.eyebrow,.workspace-identity-label){color:#ffabb5;font-size:10px;letter-spacing:2px;margin-bottom:16px}
.workspace-hero>div:first-child{min-width:0}.workspace-hero>.btn{flex-shrink:0;background:#fff;color:#30272b;border-color:#ffffff44;white-space:normal;text-align:center}
.workspace-hero-signature{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:18px;flex-shrink:0;margin-left:auto}.workspace-hero-signature>span{color:#eadde0;font-size:11px;letter-spacing:.3px}.workspace-hero-signature img{width:60px;height:60px;object-fit:contain;border-radius:14px;box-shadow:0 4px 18px #0002}
.workspace-surface :is(.workspace-task-desk,.panel,.workspace-metric,.commission-kpi,.payroll-grid>a){border-radius:15px;box-shadow:0 4px 14px #34202704}
.workspace-surface .workspace-task-desk{padding:24px;border-top:3px solid #e31f31}
.workspace-surface .workspace-task-grid{gap:14px;margin-top:20px}
.workspace-surface .workspace-task{position:relative;overflow:hidden;min-height:184px;padding:24px;text-align:left;border-left-width:1px;border-top:3px solid #c19b45;background:#fff}
.workspace-surface .workspace-task.complete{border-top-color:#39835a;background:linear-gradient(130deg,#fff,#f3f8f3)}.workspace-surface .workspace-task.neutral{border-top-color:#8a8d83}.workspace-surface .workspace-task.unavailable{border-top-color:#c14b54}
.workspace-surface .workspace-task::after{content:'↗';position:absolute;top:18px;right:18px;color:#99838b;font-size:20px;pointer-events:none}
.workspace-surface .workspace-task>small{display:block;padding-right:24px;font-size:11px;line-height:1.7}
.workspace-surface .workspace-task h2{font-size:24px;letter-spacing:-.4px;margin:24px 0 9px}.workspace-surface .workspace-task p{font-size:12px;line-height:1.7}
.workspace-surface :is(.workspace-metric,.commission-kpi,.payroll-grid>a){position:relative;min-width:0;overflow-wrap:anywhere;transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.workspace-surface :is(a.workspace-metric,button.workspace-metric,.commission-kpi,.payroll-grid>a)::after{content:'↗';position:absolute;right:16px;top:14px;color:#a18d95;font-size:17px;pointer-events:none}
.workspace-surface :is(.workspace-metric>small,.commission-kpi>small){padding-right:20px;color:#74696f}
.workspace-surface :is(.workspace-metric>strong,.commission-kpi>strong,.payroll-grid>a>strong){font-family:'League Spartan',sans-serif;font-size:30px;letter-spacing:-.6px}
.workspace-surface :is(.btn,.filter){transition:background-color 160ms,border-color 160ms,box-shadow 180ms,transform 180ms}
.workspace-surface :is(button,a,summary):focus-visible{outline:3px solid #e31f31;outline-offset:3px}
.workspace-surface :is(.btn.primary,.btn.dark):active{transform:translateY(1px)}
.side:has(~.shell .workspace-surface) .navbtn.active,.commission-sidebar nav>a.active{background:linear-gradient(100deg,#e31f3126,#333331);box-shadow:inset 3px 0 #e31f31;color:#fff}
.side:has(~.shell .workspace-surface) .navbtn,.commission-sidebar nav>a{transition:background-color 160ms,color 160ms}
.workspace-surface :is(.table-wrap,.bar-table-wrap,.payroll-scroll){border-radius:12px;overflow-x:auto}.workspace-surface :is(th,td){line-height:1.6}
@media(hover:hover) and (pointer:fine){.workspace-surface :is(.workspace-task,a.workspace-metric,button.workspace-metric,a.commission-kpi,button.commission-kpi,.payroll-grid>a):hover{transform:translateY(-3px);border-color:#df9ca4;box-shadow:0 10px 24px #3512180b}.workspace-surface .btn:hover{border-color:#d0b7b9;box-shadow:0 4px 10px #35121809}.workspace-surface .btn.primary:hover{background:#cd1b2c;border-color:#cd1b2c}.workspace-surface details>summary:hover{color:#b52b3e}}
@media(max-width:1100px){.workspace-surface .workspace-hero h1{font-size:36px}.workspace-surface .workspace-hero{flex-wrap:wrap}.workspace-hero-signature{min-width:120px}}
@media(max-width:760px){.workspace-surface .workspace-hero{min-height:176px;padding:22px 20px!important;flex-direction:column;align-items:flex-start;gap:16px;border-radius:14px}.workspace-surface .workspace-hero h1{font-size:32px;letter-spacing:-.7px}.workspace-surface .workspace-hero :is(.sub,.commission-period,.payroll-muted){font-size:12px}.workspace-hero-signature{width:100%;flex-direction:row;align-items:center;min-width:0;gap:12px}.workspace-hero-signature img{width:36px;height:36px;border-radius:8px}.workspace-hero-signature>span{font-size:10px}.workspace-surface .workspace-task-desk{padding:18px}.workspace-surface .workspace-task{min-height:158px;padding:18px}.workspace-surface .workspace-task h2{font-size:22px;margin-top:20px}.workspace-surface :is(.workspace-metric>strong,.commission-kpi>strong,.payroll-grid>a>strong){font-size:26px}}
@media(prefers-reduced-motion:reduce){.workspace-surface :is(.btn,.filter,.workspace-task,.workspace-metric,.commission-kpi,.payroll-grid>a),.side .navbtn,.commission-sidebar nav>a{transition:none!important}.workspace-surface :is(.workspace-task,.workspace-metric,.commission-kpi,.payroll-grid>a):hover{transform:none!important}}
@media print{.workspace-surface .workspace-hero{display:none!important}.workspace-surface :is(.panel,.workspace-task,.workspace-metric){box-shadow:none}}
